SQLITE android

Fermé
amani - 11 févr. 2012 à 12:11
 amine - 20 juin 2012 à 14:14
Bonjour,


SVP j'ai besoin d'aide je suis débutante avec Andoid : mon projet consiste à créer une base de données qui sert à stoker des emploies de temps des profs( un emploi contient nom du prof, salle, heure).Puis je veux depuis l'emulator remplir les emploits (j'ai crée une listView pour contenir les emplois) puis je veux afficher à l'aide d'un bouttom le contenu des emploit!! des idées?
voici ma base de données:
public class DataBase {
private static final int NUM_COL_NOM = 0;
private static final int NUM_COL_HEURE = 0;
private static final int NUM_COL_SALLE = 0;
DatabaseHelper DBHelper;
Context context;
SQLiteDatabase db;

public DataBase(Context context){
this.context = context;
DBHelper = new DatabaseHelper(context);
}

public class DatabaseHelper extends SQLiteOpenHelper{

Context context;

public DatabaseHelper(Context context) {
super(context, "emplois", null, 1);
this.context = context;
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table emplois (_id integer primary key autoincrement, "
+ "nom int, heure int, "
+ "salle int"
+ ");");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Toast.makeText(context, "Mise à jour de la Base de données version "+oldVersion+" vers "+newVersion, Toast.LENGTH_SHORT).show();
db.execSQL("DROP TABLE IF EXISTS emplois");
onCreate(db);
}

}

public DataBase open(){
db = DBHelper.getWritableDatabase();
return this;
}

public void close(){
db.close();
}

public void Truncate(){
db.execSQL("DELETE FROM emplois");
}

public long insererSeance(int nom, int heure, int salle){
ContentValues values = new ContentValues();
values.put("nom", nom);
values.put("heure", heure);
values.put("salle", salle);
return db.insert("emplois", null, values);
}


public boolean supprimerSeance(long id){
return db.delete("emplois", "_id="+id, null)>0;
}

public Cursor recupererEmploi(){
return db.query("emplois", new String[]{
"_id",
"nom",
"heure",
"salle"}, null, null, null, null, null);

}
public objSeance getobjSeance(){
Cursor c = db.query("emplois", new String[]{"_id","nom","heure","salle"}, null, null, null, null, null);
return cursorToSeance(c);

}
public class objSeance {

private String Nom;
private int Heure;
private String Salle;
public objSeance(String nom, int heure, String salle) {
super();
Nom = nom;
Heure = heure;
Salle = salle;
}
public objSeance() {
// TODO Auto-generated constructor stub
}
public String getNom() {
return Nom;
}
public void setNom(String nom) {
Nom = nom;
}
public int getHeure() {
return Heure;
}
public void setHeure(int i) {
Heure = i;
}
public String getSalle() {
return Salle;
}
public void setSalle(String salle) {
Salle = salle;
}

}
private objSeance cursorToSeance(Cursor c){
//si aucun élément n'a été retourné dans la requête, on renvoie null
if (c.getCount() == 0)
return null;
//Sinon on se place sur le premier élément
c.moveToFirst();
objSeance obj= new objSeance ();
//on lui affecte toutes les infos grâce aux infos contenues dans le Cursor
obj.setNom(c.getString(NUM_COL_NOM));
obj.setHeure(c.getInt(NUM_COL_HEURE));
obj.setSalle(c.getString(NUM_COL_SALLE));
//On ferme le cursor
c.close();
return obj;
}




}

et la classe main:

public class ProjActivity extends ListActivity implements OnClickListener {
DataBase db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getListView().setOnCreateContextMenuListener(this);
((Button)findViewById(android.R.id.button1)).setOnClickListener(this);
DataBase db = new DataBase(this);
db.open();
DataBind();
}

@Override // Création du menu principal
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0,100,0,"Tout effacer");
return true;
}

@Override // Selection d'un item du menu
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case 100:

db.Truncate();
DataBind();
break;
}
return true;
}

@Override // Selection d'un item de la liste
protected void onListItemClick(ListView l, View v, int position, long id) {
Cursor cursor = (Cursor)l.getAdapter().getItem(position);
String nom = cursor.getString(cursor.getColumnIndex("nom"));
Toast.makeText(this,"prof id "+id+" : "+nom, Toast.LENGTH_SHORT).show();
super.onListItemClick(l, v, position, id);
}

@Override // Creation du menu contextuel
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Action");
menu.add(0,100,0,"Supprimer");
//menu.add(0,200,1,"Editer");
}

@Override // Selection d'un item du menu contextuel
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()){
case 100:
db.supprimerSeance(info.id);
DataBind();
break;

}
return true;
}

@Override
protected void onDestroy() {
db.close();
super.onDestroy();
}

public void DataBind(){
Cursor c = db.recupererEmploi();
startManagingCursor(c);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.list,c,new String[]{"nom","heure","salle"},
new int[]{R.id.textNom,R.id.TextHeure,R.id.TextSalle});
setListAdapter(adapter);
}

@Override
public void onClick(View v) {
db.insererSeance(R.id.nom,R.id.heure,R.id.salle);
DataBind();
}
}



Aidez moi à organiser mes idées flous SVP
A voir également:

4 réponses

ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
15 févr. 2012 à 20:01
quel est ton problème exactement amani?
0
j'ai pas pu obtenir la solution du projet.Mon but est des remplir des tables depuis l'émulateur puis les afficher lorsque je veux avec un bouton :(
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
15 févr. 2012 à 20:17
Bon amani je doit vous envoyer une exemple que vous aider a remplir votre Table de base de donnée aussi de le modifier et supprimer lors que l'utilisateur clique sur le bouton.
laisser ton email
0
merci infiniment mais je veux un exemple qui sert a remplier les tables depuis l'émulateur non pas le code(j'ai pas trouvé)
voilà mon mail
amani.
info.
app
@
gmail
.com

le site n'a pas accepté le mail c pr celà que je l'ai écrit comme ça
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
15 févr. 2012 à 20:26
ok pas d prob ;)
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
15 févr. 2012 à 20:30
ok cv
0
merci n'oublie pas les point entre les mot de mail.j'attends ta réponse!! merci encore
0
bonjour, je suis bloqué sur le même problème si c'est pas trop demander vous pouvez m'envoyez l'exemple S.V.P
mon mail est :
amine_442
@
hotmail
.fr
0
si vous avez un exemple d'afficher les donnez d'un table dans une expendable listview ça me seras d'une grande utilité,
merci d'avance
0