توسط
b.kordtabar
با سلام
می خواهم لیستی از داده ها را در پایگاه داده sqlite اندروید ذخیره کنم داده مربوط به ستون آخر نمایش داده نمی شود
کد مربوطه را ارسال می کنم، اگر می توانید راهنمایی کنید.
package com.example.t.newsqlite;
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;
import java.util.List;
public class DatabaseHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "carManager";
private static final String TABLE_CONTACTS = "cars";
private static final String KEY_ID = "id";
private static final String KEY_BRAND = "brand";
private static final String KEY_WORKED = "worked";
private static final String KEY_MODEL="model";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_BRAND + " TEXT,"
+ KEY_WORKED + " TEXT," + KEY_MODEL + " TEXT " + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
onCreate(db);
}
public void addContact(Car car) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_BRAND, car.getBrand());
values.put(KEY_WORKED, car.getWorked());
values.put(KEY_MODEL, car.getModel());
db.insert(TABLE_CONTACTS, null, values);
db.close();
}
public Car getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[]{KEY_ID,
KEY_BRAND, KEY_WORKED, KEY_MODEL}, KEY_ID + "=?",
new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Car car = new Car(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2),cursor.getString(3));
// return contact
return car;
}
public List<Car> getAllContacts() {
List<Car> contactList = new ArrayList<Car>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Car car = new Car();
car.setID(Integer.parseInt(cursor.getString(0)));
car.setBrand(cursor.getString(1));
car.setWorked(cursor.getString(2));
car.setModel(cursor.getString(3));
// Adding contact to list
contactList.add(car);
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
public int getContactsCount() {
String countQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
// return count
return cursor.getCount();
}
public int updateContact(Car car) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_BRAND, car.getBrand());
values.put(KEY_WORKED, car.getWorked());
values.put(KEY_MODEL, car.getModel());
// updating row
return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
new String[] { String.valueOf(car.getID()) });
}
public void deleteContact(Car contact) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
new String[] { String.valueOf(contact.getID()) });
db.close();
}
}
package com.example.t.newsqlite;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class AndroidSQLiteTutorialActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DatabaseHandler db = new DatabaseHandler(this);
/**
* CRUD Operations
* */
// Inserting Contacts
Log.d("Insert: ", "Inserting ..");
db.addContact(new Car("رنو","کارکرده","GGF"));
db.addContact(new Car("تویوتا","صفر کیلومتر","FD"));
db.addContact(new Car("بیوک", "حواله","GDG"));
// Reading all contacts
Log.d("Reading: ", "Reading all contacts..");
List<Car> car = db.getAllContacts();
for (Car cn : car) {
String log = "Id: " + cn.getID() + " ,Brand: " + cn.getBrand() + " ,Worked: " + cn.getWorked() + " ,Model: " + cn.getModel();
// Writing Contacts to log
Log.d("Name: ", log);
}
}
}
package com.example.t.newsqlite;
public class Car {
//private variables
int id;
String brand;
String worked;
String model;
public Car(){
}
public Car(int id, String brand,String worked,String model){
this.id = id;
this.brand=brand;
this.worked=worked;
this.model=model;
}
// constructor
public Car(String brand,String worked,String model){
this.brand=brand;
this.worked=worked;
this.model=model;
}
public int getID(){
return this.id;
}
public void setID(int id){
this.id = id;
}
// getting name
public String getBrand(){
return this.brand;
}
// setting name
public void setBrand(String brand){
this.brand = brand;
}
// getting phone number
public String getWorked(){
return this.worked;
}
// setting phone number
public void setWorked(String worked){
this.worked = worked;
}
public String getModel(){
return this.model;
}
public void setModel(String model){
this.model = model;
}
}
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .