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:
      865
      Likes Received:
      14
      Trophy Points:
      38
      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.
       
      Related Threads
      Loading...

Share This Page

Share
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.