Aller au contenu

probleme de sqlite


Recommended Posts

bonsoir ,j'ai un probleme au niveau de mon base de donnée voici mon code

*********************************************

package com.projet;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.widget.Toast;

public class DBAdapter {

DatabaseHelper DBHelper;

Context context;

SQLiteDatabase db;

public DBAdapter(Context context){

this.context = context;

DBHelper = new DatabaseHelper(context);

}

public class DatabaseHelper extends SQLiteOpenHelper{

Context context;

public DatabaseHelper(Context context) {

super(context, "ma_base", null, 1);

this.context = context;

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("create table local (_id integer primary key autoincrement, "

+ "nom text not null"

+ "adresse text not null "

+ "tel integer not null"

+ "latitude float not null"

+ "longitude float not null"

+ ");");

}

@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 local");

onCreate(db);

}

}

public DBAdapter open(){

db = DBHelper.getWritableDatabase();

return this;

}

public void close(){

db.close();

}

public void Truncate(){

db.execSQL("DELETE FROM local");

}

public long insererLocal(Local local){

ContentValues values = new ContentValues();

values.put("nom", local.getnom());

values.put("adresse", local.getadresse());

values.put("tel", local.gettel());

values.put("latitude", local.getlatitude());

values.put("longitude", local.getlongitude());

return db.insert("local", null, values);

}

public boolean supprimerLocal(long id){

return db.delete("local", "_id="+id, null)>0;

}

public Cursor recupererLaListeDesLocal(){

return db.query("local", new String[]{

"_id",

"nom",

"adresse",

"tel",

"latitude",

"longitude"}, null, null, null, null, null);

}

}

********************************************************************

package com.projet;

import android.R;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.TextView;

public class InfoLocal extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.infolocal);

TextView text=(TextView)findViewById(R.id.textView4);

Intent res = getIntent();

text.setText("Local: "+res.getExtras().getString("nom"));

}

}

************************************************************************

package com.projet;

public class Local {

private int id;

private String nom;

private String adresse;

private int tel;

private float latitude;

private float longitude;

public Local(){}

public Local(String nom, String adresse, int tel, float latitude,float longitude){

this.nom=nom;

this.adresse =adresse;

this.tel= tel;

this.latitude=latitude;

this.longitude=longitude;

}

public int getId(){

return id ;

}

public void setId (int id){

this.id=id;

}

public String getnom(){

return nom ;

}

public void setnom (String nom){

this.nom=nom;

}

public String getadresse(){

return adresse ;

}

public void setadresse (String adresse){

this.adresse=adresse;

}

public int gettel(){

return tel ;

}

public void settel (int tel){

this.tel=tel;

}

public float getlatitude(){

return tel ;

}

public void setlatitude (float latitude){

this.latitude=latitude;

}

public float getlongitude(){

return longitude ;

}

public void setlongitude (float longitude){

this.longitude=longitude;

}

public String toString(){

return "ID : "+id

+"\nISBN : "+nom

+"\nTitre : "+adresse;

}

}

*********************************************************************

package com.projet;

import android.app.ListActivity;

import android.content.Intent;

import android.database.Cursor;

import android.os.Bundle;

import android.view.ContextMenu;

import android.view.ContextMenu.ContextMenuInfo;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.Button;

import android.widget.ListView;

import android.widget.SimpleCursorAdapter;

import android.widget.Toast;

public class LocalList extends ListActivity implements OnClickListener {

Button b;

DBAdapter db;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

db = new DBAdapter(this);

getListView().setOnCreateContextMenuListener(this);

b=(Button)findViewById(R.id.edit);

b.setOnClickListener(this);

db.open();

DataBind();

}

private void DataBind() {

Cursor c = db.recupererLaListeDesLocal();

startManagingCursor©;

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,

R.layout.list_item,c,new String[]{"nom","adresse","tel","latitude","longitude"},

new int[]{R.id.nom,R.id.adresse,R.id.tel,R.id.latitude,R.id.longitude});

setListAdapter(adapter);

}

protected void onDestroy() {

db.close();

super.onDestroy();

}

public void onClick(View v) {

Intent i=new Intent(this,Saisie.class);

startActivity(i);

}

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;

}

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.supprimerLocal(info.id);

DataBind();

break;

case 200:

Toast.makeText(this, "TODO", Toast.LENGTH_SHORT).show();

break;

}

return true;

}

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"));

Intent intent=new Intent(this,InfoLocal.class);

intent.putExtra("nom",nom);

startActivity(intent);

super.onListItemClick(l, v, position, id);

}

}

************************************************************************

package com.projet;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class Saisie extends Activity implements OnClickListener {

EditText nom;

EditText adresse;

EditText tel;

EditText latitude;

EditText longitude;

Button b;

DBAdapter db;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.saisie);

nom=(EditText)findViewById(R.id.nom);

adresse=(EditText)findViewById(R.id.adresse);

tel=(EditText)findViewById(R.id.tel);

latitude=(EditText)findViewById(R.id.latitude);

longitude=(EditText)findViewById(R.id.longitude);

b=(Button)findViewById(R.id.ajout);

b.setOnClickListener(this);

db = new DBAdapter(this);

db.open();

}

public void onClick(View arg0) {

Local local= new Local(nom.getText().toString(),adresse.getText().toString(),tel.getText().toString(),latitude.getText().toString(),longitude.getText().toString()"");

db.insererLocal(local);

Toast.makeText(this, "Local Ajouté", Toast.LENGTH_SHORT).show();

nom.setText("");

adresse.setText("");

}

}

Lien vers le commentaire
Partager sur d’autres sites

Merci d'utiliser les balises [ code ] dans ton message, pour le rendre plus lisible

Et surtout, merci de nous indiquer quel est le problème que tu rencontres... si tu veux vraiment qu'on t'aide... !

Lien vers le commentaire
Partager sur d’autres sites

Et ?

Tu ne nous a toujours pas répondu: quel est le problème ??

Ton appli plante ? Tu as une exception ? Si oui, laquelle ?

Fais un effort, sois précis dans tes explications, parce que des "j'ai un problème", "ça ne marche pas", ..., ça ne sert pas à grand chose...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...