package com.example.monapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class RecordListActivity extends AppCompatActivity {
ListView mListView;
ArrayList<Model> mList;
recordListAdapter mAdapter = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record_list);
mListView = findViewById(R.id.listView);
mList = new ArrayList<>();
mAdapter = new recordListAdapter(this ,R.layout.row, mList);
mListView.setAdapter(mAdapter);
// recuperer les donnees
Cursor cursor = MainActivity.mSQLiteHelper.getData("SELECT * FROM RECORD");
mList.clear();
while (cursor.moveToNext()){
int id = cursor.getInt(0);
String name = cursor.getString(1);
String age = cursor.getString(2);
String phone = cursor.getString(3);
byte[] image = cursor.getBlob(4);
mList.add(new Model(id,name,age,phone,image));
}
mAdapter.notifyDataSetChanged();
if (mList.size()==0){
//s'il n'y a pas de donnee dans la table de la base alors il retournera une liste vide
Toast.makeText(this,"Pas de donnee trouvee",Toast.LENGTH_SHORT).show();
}
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
return false;
}
});
}
}
package com.example.monapplication;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteStatement;
import androidx.annotation.Nullable;
public class SQLiteHelper extends SQLiteOpenHelper {
public SQLiteHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
public void queryData(String sql){
SQLiteDatabase database = getWritableDatabase();
database.execSQL(sql);
}
// Insertion des donnees
public void insertData(String name, String age, String phone, byte[]image){
SQLiteDatabase database = getWritableDatabase();
// Insertion de la table dans la base de donnee
String sql = "INSERT INTO RECORD VALUES(NULL,?,?,?,?)";//RECORD est le nom de la table de la base de donnee que nous allons creer dans MainActivity
SQLiteStatement statement = database.compileStatement(sql);
statement.clearBindings();
statement.bindString(1,name);
statement.bindString(2,age);
statement.bindString(3,phone);
statement.bindBlob(4,image);
statement.executeInsert();
}
// Mise a jour des donnees
public void updateData(String name, String age, String phone, byte[]image, int id){
SQLiteDatabase database = getWritableDatabase();
// la requete de mise a jour de la table RECORD
String sql = "UPDATE RECORD SET name=?, age=?, phone=?,image=? WHERE id=?";
SQLiteStatement statement = database.compileStatement(sql);
statement.bindString(1,name);
statement.bindString(2,age);
statement.bindString(3,phone);
statement.bindBlob(4,image);
statement.bindDouble(5,(double)id);
statement.execute();
database.close();
}
//Suppression de donnees
public void deleteData(int id){
SQLiteDatabase database = getWritableDatabase();
// requete de suppression a partir de son identifiant
String sql = "DELETE FROM RECORD WHERE id=?";
SQLiteStatement statement = database.compileStatement(sql);
statement.clearBindings();
statement.bindDouble(1,(double)id);
statement.execute();
database.close();
}
public Cursor getData(String sql){
SQLiteDatabase database = getReadableDatabase();
return database.rawQuery(sql,null);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
voici le message d'erreur
at com.example.monapplication.RecordListActivity.onCreate(RecordListActivity.java:34)
at android.app.Activity.performCreate(Activity.java:7044)
at android.app.Activity.performCreate(Activity.java:7035)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2759)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2884)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1614)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6524)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:451)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888)
- Edité par dieudonnekouadio 7 novembre 2019 à 11:00:55
Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.
Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).
De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.
Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.
Pour modifier votre titre, éditez le premier message de votre sujet.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.