آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

نمایش اطلاعات دیتابیس در لیست ویو

fakhr  9 سال پیش  9 سال پیش
0 0

سلام.

یه برنامه ساده دارم که یک دیتابیس نوشتم ک امکان insert و select و update و delete رو داره.

میخوام اطلاعات درج شده توی دیتا بیس رو تو یه اکتیویتی دیگه تو لیست ویو نمایش بدم.

ممنون میشم کمکم کنین

این کدهای کلاس DBHelper هستش :

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;


public class DBHelper extends SQLiteOpenHelper {

public DBHelper(Context context) {
super(context, "MyDB", null, 1);
// TODO Auto-generated constructor stub
}


@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table Cars(ID integer primary key,Name text,color text,price text)");

}


public void insertdatabase(String name, String color, String st_price) {
ContentValues cv = new ContentValues();
cv.put("Name", name);
cv.put("Color", color);
cv.put("Price", st_price);
SQLiteDatabase db = getWritableDatabase();
db.insert("Cars", null, cv);
db.close();

}


public Bundle selectddatabase(Long id) {
SQLiteDatabase db = getReadableDatabase();
Cursor cur;
cur = db.rawQuery("select * from Cars", null);
Bundle b = new Bundle();
if (cur.moveToFirst()) {
b.putLong("id", cur.getLong(0));
b.putString("name", cur.getString(1));
b.putString("color", cur.getString(2));
b.putString("price", cur.getString(3));
} else {
b.putLong("id", -1);
b.putString("name", "Not Found");
b.putString("color", "Not Found");
b.putString("price", "Not Found");

}
cur.close();
db.close();
return b;
}


public void updatedatabase(Long id, String et_name, String et_color, String et_price) {
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("name", et_name);
cv.put("color", et_color);
cv.put("price", et_price);
db.update("Cars", cv, "id = " + id, null);
db.close();
}


public void deletedatabase(Long id) {
SQLiteDatabase db = getWritableDatabase();
db.delete("Cars", "id = " + id, null);
db.close();
}


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub

}

}

این هم کدهای صفحه 4 عمل درج و سرچ  و ...

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;


public class AddCar extends Activity {

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


public void SELECT(View v) {
DBHelper db = new DBHelper(this);
EditText et_id = (EditText) findViewById(R.id.et_id);
Long id;
try {
id = Long.parseLong(et_id.getText().toString());
}
catch (Exception e) {
id = (long) 0;
}
Bundle b = db.selectddatabase(id);
EditText et_name = (EditText) findViewById(R.id.et_name);
EditText et_color = (EditText) findViewById(R.id.et_color);
EditText et_price = (EditText) findViewById(R.id.et_price);
et_name.setText(b.getString("name"));
et_color.setText(b.getString("color"));
et_price.setText(b.getString("price"));
}


public void INSERT(View v) {
EditText et_name = (EditText) findViewById(R.id.et_name);
EditText et_color = (EditText) findViewById(R.id.et_color);
EditText et_price = (EditText) findViewById(R.id.et_price);

String st_name = et_name.getText().toString();
String st_color = et_color.getText().toString();
String st_price = String.valueOf(et_price.getText());

DBHelper dbh = new DBHelper(this);
dbh.insertdatabase(st_name, st_color, st_price);
}


public void UPDATE(View v) {
DBHelper dbh = new DBHelper(this);
EditText et_id = (EditText) findViewById(R.id.et_id);
EditText et_name = (EditText) findViewById(R.id.et_name);
EditText et_color = (EditText) findViewById(R.id.et_color);
EditText et_price = (EditText) findViewById(R.id.et_price);
String st_name = et_name.getText().toString();
String st_color = et_color.getText().toString();
String st_price = String.valueOf(et_price.getText());
Long id;
try {
id = Long.parseLong(et_id.getText().toString());
}
catch (Exception e) {
id = (long) 0;
}
dbh.updatedatabase(id, st_name, st_color, st_price);
}


public void DELETE(View v) {
DBHelper dbh = new DBHelper(this);
EditText et_id = (EditText) findViewById(R.id.et_id);
Long id;
try {
id = Long.parseLong(et_id.getText().toString());
}
catch (Exception e) {
id = (long) 0;
}
dbh.deletedatabase(id);
}

}

+2 0
دوست عزیز اگه میخاین کد بزارین روی embed source () کلیک کنید بعد کد بزارین تا indent ها مشخص باشه و اگه کسی خواست کداتونو بخونه به مشکل نخوره . (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
زهرا رئیسی  9 سال پیش
+2 0

برای نشان دادن اطلاعات در لیست ویو به این صورت عمل کنید یه متد تو کلاس دیتا بیستون مثل زیر بنویسید

   public String[] returnitems(String table, String fieldName) {

        ArrayList<String> temp = new ArrayList<String>();
        android.database.Cursor cursor = mydb.rawQuery("SELECT   " + fieldName + "   FROM  " + table , null);
        cursor.moveToFirst();

        for (int i = 0; i < cursor.getCount(); i++) {
            temp.add(cursor.getString(cursor.getColumnIndex(fieldName)));

            cursor.moveToNext();
        }

        String[] listItems = temp.toArray(new String[temp.size()]);
        cursor.close();
        return listItems;
    }

بعد طبق آموزشای استاد  پیش برین برای پر کردن لیست ویو  کدایی که پایین گذاشتم هم بهتون کمک می کنه

 
  db = new DataBase(this);
   db.useable();
 ListView lstContent = (ListView) findViewById(R.id.lstContent);
 ArrayList<Struct> mainList = new ArrayList<Struct>();

       mainList.clear();
        db.open();

        String[] listItems = db.returnItems("fieldTest","tableNameTest");

        db.close();
        mainList.clear();
        for (int i = 0; i < (listItems.length); i++) {

            Struct list = new Struct();
            list.title = listItems[i];
            mainList.add(list);

        }
        adapterMain = new AdapterMain(mainList);
        adapterMain.notifyDataSetChanged();
        lstContent.setAdapter(adapterMain);
    }

 

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .