SQLite Android Studion: Exemple d'ajout et d'affichage des données BDD | Exam-Lib
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SQLite Android Studion: Exemple d'ajout et d'affichage des données BDD

abdelouafiMar 30, 2018

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      636
      Likes Received:
      14
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Les opérations qu'on peut appliquer sur une base de donnée Sqlite sous Android Studio sont:
      SQLite-Database-Operations.jpg

      Création de la BDD se fait en utilisant deux méthodes:
      onCreate(SQLiteDatabase sqLiteDatabase) et onUpgrade(SQLiteDatabase db,int oldVersion, int newVersion) .

      Exemple de création de base de donnée: on va réaliser l'interface suivante:

      upload_2018-3-30_8-23-55.png


      Suivez les étapes suivantes:

      Step 1: Créer un nouveau projet nommé SQLiteOperations.

      Step 2: Allez sur "res -> layout -> activity_main.xml " et mettez le code source suivant:
      Code:
      <?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          android:id="@+id/activity_main"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:paddingBottom="@dimen/activity_vertical_margin"
          android:paddingLeft="@dimen/activity_horizontal_margin"
          android:paddingRight="@dimen/activity_horizontal_margin"
          android:paddingTop="@dimen/activity_vertical_margin"
          tools:context="com.example.sqliteoperations.MainActivity"
          android:background="@android:color/holo_blue_dark">
      
          <TextView
              android:text="@string/username"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_alignParentTop="true"
              android:layout_marginTop="12dp"
              android:id="@+id/textView"
              android:textSize="18sp"
              android:textStyle="bold|italic"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true"
              android:gravity="center" />
      
          <EditText
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:inputType="textPersonName"
              android:ems="10"
              android:id="@+id/editName"
              android:textStyle="bold|italic"
              android:layout_below="@+id/textView"
              android:layout_alignParentRight="true"
              android:layout_alignParentEnd="true"
              android:hint="Enter Name"
              android:gravity="center_vertical|center" />
      
          <TextView
              android:text="@string/password"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_marginTop="13dp"
              android:id="@+id/textView2"
              android:textStyle="bold|italic"
              android:textSize="18sp"
              android:layout_below="@+id/editName"
              android:layout_alignParentRight="true"
              android:layout_alignParentEnd="true"
              android:gravity="center"
              android:hint="Enter Password" />
      
          <Button
              android:text="@string/view_data"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/button2"
              android:textSize="18sp"
              android:onClick="viewdata"
              android:textStyle="bold|italic"
              android:layout_alignBaseline="@+id/button"
              android:layout_alignBottom="@+id/button"
              android:layout_alignRight="@+id/button4"
              android:layout_alignEnd="@+id/button4" />
      
          <Button
              android:text="@string/add_user"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/button"
              android:textStyle="bold|italic"
              android:textSize="18sp"
              android:onClick="addUser"
              android:layout_marginLeft="28dp"
              android:layout_marginStart="28dp"
              android:layout_below="@+id/editPass"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true"
              android:layout_marginTop="23dp" />
      
          <Button
              android:text="@string/update"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/button3"
              android:onClick="update"
              android:textStyle="normal|bold"
              android:layout_below="@+id/editText3"
              android:layout_alignLeft="@+id/button4"
              android:layout_alignStart="@+id/button4"
              android:layout_marginTop="13dp" />
      
          <EditText
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:inputType="textPersonName"
              android:ems="10"
              android:id="@+id/editText6"
              android:layout_alignTop="@+id/button4"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true"
              android:freezesText="false"
              android:hint="Enter Name to Delete Data"
              android:layout_toLeftOf="@+id/button2"
              android:layout_toStartOf="@+id/button2" />
      
          <Button
              android:text="@string/delete"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginRight="21dp"
              android:layout_marginEnd="21dp"
              android:id="@+id/button4"
              android:onClick="delete"
              android:textStyle="normal|bold"
              tools:ignore="RelativeOverlap"
              android:layout_marginBottom="41dp"
              android:layout_alignParentBottom="true"
              android:layout_alignParentRight="true"
              android:layout_alignParentEnd="true" />
      
          <EditText
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:inputType="textPersonName"
              android:ems="10"
              android:layout_marginTop="47dp"
              android:id="@+id/editText3"
              android:textStyle="bold|italic"
              android:textSize="14sp"
              android:layout_below="@+id/button"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true"
              android:layout_marginLeft="7dp"
              android:layout_marginStart="7dp"
              android:hint="Current Name" />
      
          <EditText
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:inputType="textPassword"
              android:ems="10"
              android:layout_marginTop="11dp"
              android:id="@+id/editPass"
              android:hint="Enter Password"
              android:gravity="center_vertical|center"
              android:textSize="18sp"
              android:layout_below="@+id/textView2"
              android:layout_alignParentLeft="true"
              android:layout_alignParentStart="true"
              android:textAllCaps="false"
              android:textStyle="normal|bold" />
      
          <EditText
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:inputType="textPersonName"
              android:ems="10"
              android:id="@+id/editText5"
              android:textStyle="bold|italic"
              android:textSize="14sp"
              android:hint="New Name"
              android:layout_alignTop="@+id/button3"
              android:layout_alignLeft="@+id/editText3"
              android:layout_alignStart="@+id/editText3"
              android:layout_marginTop="32dp" />
      </RelativeLayout>

      Step 3 : Allez sur l'activité principale de votre application app -> java -> package -> MainActivity.java et ajouter le code suivant:
      Code:
      package com.example.sqliteoperations;
      
      import android.support.v7.app.AppCompatActivity;
      import android.os.Bundle;
      import android.view.View;
      import android.widget.EditText;
      
      public class MainActivity extends AppCompatActivity {
          EditText Name, Pass , updateold, updatenew, delete;
          myDbAdapter helper;
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              Name= (EditText) findViewById(R.id.editName);
              Pass= (EditText) findViewById(R.id.editPass);
              updateold= (EditText) findViewById(R.id.editText3);
              updatenew= (EditText) findViewById(R.id.editText5);
              delete = (EditText) findViewById(R.id.editText6);
      
              helper = new myDbAdapter(this);
          }
          public void addUser(View view)
          {
              String t1 = Name.getText().toString();
              String t2 = Pass.getText().toString();
              if(t1.isEmpty() || t2.isEmpty())
              {
                  Message.message(getApplicationContext(),"Enter Both Name and Password");
              }
              else
              {
                  long id = helper.insertData(t1,t2);
                  if(id<=0)
                  {
                      Message.message(getApplicationContext(),"Insertion Unsuccessful");
                      Name.setText("");
                      Pass.setText("");
                  } else
                  {
                      Message.message(getApplicationContext(),"Insertion Successful");
                      Name.setText("");
                      Pass.setText("");
                  }
              }
          }
      
          public void viewdata(View view)
          {
              String data = helper.getData();
              Message.message(this,data);
          }
      
          public void update( View view)
          {
              String u1 = updateold.getText().toString();
              String u2 = updatenew.getText().toString();
              if(u1.isEmpty() || u2.isEmpty())
              {
                  Message.message(getApplicationContext(),"Enter Data");
              }
              else
              {
                  int a= helper.updateName( u1, u2);
                  if(a<=0)
                  {
                      Message.message(getApplicationContext(),"Unsuccessful");
                      updateold.setText("");
                      updatenew.setText("");
                  } else {
                      Message.message(getApplicationContext(),"Updated");
                      updateold.setText("");
                      updatenew.setText("");
                  }
              }
      
          }
          public void delete( View view)
          {
              String uname = delete.getText().toString();
              if(uname.isEmpty())
              {
                  Message.message(getApplicationContext(),"Enter Data");
              }
              else{
                  int a= helper.delete(uname);
                  if(a<=0)
                  {
                      Message.message(getApplicationContext(),"Unsuccessful");
                      delete.setText("");
                  }
                  else
                  {
                      Message.message(this, "DELETED");
                      delete.setText("");
                  }
              }
          }
      }


      Step 4: dans cette étape, créer la classe nommée myDbAdapter. java et mettez le code suivant:
      Code:
      package com.example.sqliteoperations;
      
      import android.content.ContentValues;
      import android.content.Context;
      import android.database.Cursor;
      import android.database.sqlite.SQLiteDatabase;
      import android.database.sqlite.SQLiteOpenHelper;
      
      
      public class myDbAdapter {
          myDbHelper myhelper;
          public myDbAdapter(Context context)
          {
              myhelper = new myDbHelper(context);
          }
      
          public long insertData(String name, String pass)
          {
              SQLiteDatabase dbb = myhelper.getWritableDatabase();
              ContentValues contentValues = new ContentValues();
              contentValues.put(myDbHelper.NAME, name);
              contentValues.put(myDbHelper.MyPASSWORD, pass);
              long id = dbb.insert(myDbHelper.TABLE_NAME, null , contentValues);
              return id;
          }
      
          public String getData()
          {
              SQLiteDatabase db = myhelper.getWritableDatabase();
              String[] columns = {myDbHelper.UID,myDbHelper.NAME,myDbHelper.MyPASSWORD};
              Cursor cursor =db.query(myDbHelper.TABLE_NAME,columns,null,null,null,null,null);
              StringBuffer buffer= new StringBuffer();
              while (cursor.moveToNext())
              {
                  int cid =cursor.getInt(cursor.getColumnIndex(myDbHelper.UID));
                  String name =cursor.getString(cursor.getColumnIndex(myDbHelper.NAME));
                  String  password =cursor.getString(cursor.getColumnIndex(myDbHelper.MyPASSWORD));
                  buffer.append(cid+ "   " + name + "   " + password +" \n");
              }
              return buffer.toString();
          }
      
          public  int delete(String uname)
          {
              SQLiteDatabase db = myhelper.getWritableDatabase();
              String[] whereArgs ={uname};
      
              int count =db.delete(myDbHelper.TABLE_NAME ,myDbHelper.NAME+" = ?",whereArgs);
              return  count;
          }
      
          public int updateName(String oldName , String newName)
          {
              SQLiteDatabase db = myhelper.getWritableDatabase();
              ContentValues contentValues = new ContentValues();
              contentValues.put(myDbHelper.NAME,newName);
              String[] whereArgs= {oldName};
              int count =db.update(myDbHelper.TABLE_NAME,contentValues, myDbHelper.NAME+" = ?",whereArgs );
              return count;
          }
      
          static class myDbHelper extends SQLiteOpenHelper
          {
              private static final String DATABASE_NAME = "myDatabase";    // Database Name
              private static final String TABLE_NAME = "myTable";   // Table Name
              private static final int DATABASE_Version = 1;.    // Database Version
              private static final String UID="_id";     // Column I (Primary Key)
              private static final String NAME = "Name";    //Column II
              private static final String MyPASSWORD= "Password";    // Column III
              private static final String CREATE_TABLE = "CREATE TABLE "+TABLE_NAME+
                      " ("+UID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+NAME+" VARCHAR(255) ,"+ MyPASSWORD+" VARCHAR(225));";
              private static final String DROP_TABLE ="DROP TABLE IF EXISTS "+TABLE_NAME;
              private Context context;
      
              public myDbHelper(Context context) {
                  super(context, DATABASE_NAME, null, DATABASE_Version);
                  this.context=context;
              }
      
              public void onCreate(SQLiteDatabase db) {
      
                  try {
                      db.execSQL(CREATE_TABLE);
                  } catch (Exception e) {
                      Message.message(context,""+e);
                  }
              }
      
              @Override
              public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                  try {
                      Message.message(context,"OnUpgrade");
                      db.execSQL(DROP_TABLE);
                      onCreate(db);
                  }catch (Exception e) {
                      Message.message(context,""+e);
                  }
              }
          }
      }


      Step 5: Créer la classe java Message.class
      Code:
      package com.example.sqliteoperations;
      
      import android.content.Context;
      import android.widget.Toast;
      
      public class Message {
          public static void message(Context context, String message) {
              Toast.makeText(context, message, Toast.LENGTH_LONG).show();
          }
      }

      Finalement exécuter votre projet.
       
      Loading...

Share This Page

Share