0% ont trouvé ce document utile (0 vote)
83 vues11 pages

Gestion SQLite Android: TP CRUD

Transféré par

Azza Kah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
83 vues11 pages

Gestion SQLite Android: TP CRUD

Transféré par

Azza Kah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP SQLITE -Azza Kahloun- 2iot2

package com.example.lasttp;

// Import necessary libraries


import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {


// Initialize variables
public DbSqlite db = new DbSqlite(this);
public EditText name, email, ID; // EditText fields for name, email, and ID
ListView lst; // ListView to display data

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Bind UI elements to variables


name = (EditText) findViewById(R.id.editTextText);
email = (EditText) findViewById(R.id.editTextTextEmailAddress);
lst = (ListView) findViewById(R.id.listView);
}

// Method to update data when button is clicked


public void updatedata(View view) {
// Get text from EditText fields
String Name = name.getText().toString();
String Email = email.getText().toString();
String id = ID.getText().toString(); // Missing initialization of ID EditText

// Update data in database


Boolean result = db.updateData(id, Name, Email);
// Show toast message based on result
if (result == true) {
Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
name.setText("");
email.setText("");
ID.setText("");
ShowData();
} else {
Toast.makeText(MainActivity.this, "no", Toast.LENGTH_SHORT).show();
}
}

// Method to delete data when button is clicked


public void deletedata(View view) {
String id = ID.getText().toString();
// Delete data from database
Integer result = db.Delete(id);
// Show toast message based on result
if (result > 0) {
Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
ShowData();
} else {
Toast.makeText(MainActivity.this, "no", Toast.LENGTH_SHORT).show();
}
}

// Method to add data when button is clicked


public void adData(View view) {
// Get text from EditText fields
String Name = name.getText().toString();
String Email = email.getText().toString();
// Insert data into database
boolean result = db.insertData(Name, Email);
// Show toast message based on result
if (result) {
Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show();
name.setText("");
email.setText("");
ShowData();
} else {
Toast.makeText(MainActivity.this, "no", Toast.LENGTH_SHORT).show();
}
}

// Method to display data in ListView


public void ShowData() {
// Get all records from database
ArrayList<String> listData = db.getGetallRecorde();
// Create ArrayAdapter to bind data to ListView
ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,
listData);
// Set ArrayAdapter to ListView
lst.setAdapter(arrayAdapter);
}
}
maintenant la classe “dbsqlite”
package com.example.lasttp;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;

class DbSqlite extends SQLiteOpenHelper {


public static final String dbname ="data.db";

// Constructeur pour initialiser la base de données


public DbSqlite(Context context) {
super(context, dbname, null, 1);
}

// Création de la table lors de la création de la base de données


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table mytable (id INREGER PRIMARY KEY AUTOINCREMENT ,
name TEXT, email TEXT)");
}

// Mise à jour de la base de données si nécessaire


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}

// Insertion de données dans la table


public boolean insertData(String name, String email) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name", name);
contentValues.put("email", email);
long result = db.insert("mytable", null, contentValues);
return result != -1; // Retourne vrai si l'insertion est réussie, faux sinon
}

// Récupération de toutes les lignes de la table


public ArrayList getGetallRecorde() {
ArrayList arrayList = new ArrayList();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("select * from mytable",null);
res.moveToFirst();
while (res.isAfterLast()==false){
String t1 = res.getString(0);
String t2 = res.getString(1);
String t3 = res.getString(2);
arrayList.add(t1 +" - "+ t2+" "+t3); // Ajoute les données à l'ArrayList
res.moveToNext();
}
return arrayList;
}

// Mise à jour des données dans la table


public boolean updateData(String id, String name, String email){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues= new ContentValues();
contentValues.put("name", name);
contentValues.put("email", email);
int mytable = db.update("mytable", contentValues, "id= ?", new String[]{id});
return true; // Toujours vrai car il n'y a pas de vérification de succès ici
}

// Suppression de données de la table


public Integer Delete(String id){
SQLiteDatabase db = this.getWritableDatabase();
return db.delete("mytable","id = ?",new String[]{id});
}
}
But de ce TP 🧐:
Bien sûr ! Voici un récapitulatif du but de chaque partie du TP4 sur la gestion d'une base de
données SQLite dans Android Studio :

1. **Introduction (Page 1)**:


- But : Présentation de SQLite dans Android Studio comme outil de gestion de base de
données pour stocker des données localement dans les applications Android.
- Exercice : Créer un projet nommé SQLite_DB pour gérer les informations d'un utilisateur
en utilisant des requêtes SQL.

2. **Étape 1 et 2 (Page 1)**:


- But : Ajouter une nouvelle classe "DB_sqLite" pour gérer la base de données SQLite.
- Actions : Créer un constructeur et les méthodes onCreate et onUpgrade dans le fichier
DB_sqLite.java.

3. **Étape 3 (Page 2)**:


- But : Ajouter des éléments d'interface utilisateur dans le fichier activity_main.xml pour
interagir avec la base de données.
- Actions : Ajouter deux EditText, trois boutons (ADD, UPDATE, DELETE) et un ListView
pour manipuler les données de la base de données.

4. **Étapes 4 et 5 (Page 4)**:


- But : Mettre en place les actions des boutons pour ajouter, mettre à jour et supprimer des
données dans la base de données.
- Actions : Créer des méthodes et des actions associées aux boutons "ADD", "UPDATE" et
"DELETE" dans le fichier MainActivity.java.

5. **Étape 6 (Page 5)**:


- But : Ajouter un nouveau EditText et mettre à jour les informations dans la base de
données.
- Actions : Créer un nouveau EditText dans activity_main.xml et ajouter la méthode
d'update dans MainActivity.java.

6. **Étape 7 (Page 5)**:


- But : Mettre en place la méthode de suppression des données de la base de données.
- Actions : Implémenter la méthode de suppression des données dans MainActivity.java.

7. **Actions sur les boutons (Page 3)**:


- But : Associer des actions spécifiques aux boutons "ADD", "UPDATE" et "DELETE".
- Actions : Ajouter les attributs android:onClick correspondants aux boutons pour appeler
les méthodes appropriées dans MainActivity.java.

En suivant ces étapes,j’ai pu créer une application Android qui utilise SQLite pour gérer une
base de données locale et effectuer des opérations CRUD (Create, Read, Update, Delete)
sur les données de l'utilisateur.

Vous aimerez peut-être aussi