ورود

View Full Version : سوال درباره ی دیتا بیس



amirarcs
یک شنبه 22 دی 1392, 17:40 عصر
سلام دوستان من یک دیتا بیس با sqlite menager ساختم که مربوت به کتاب شعر است اما نمی تونم چطور باید این دیتابیس را در پروژه ی اندروید خودم استفاده کنم. میشه من را راهنمایی کنید.
واقعا ممنون میشم

rubiks.kde
یک شنبه 22 دی 1392, 17:48 عصر
روش استفاده از دیتابیس آماده قبلا در انجمن توضیح داده شده است

amirarcs
یک شنبه 22 دی 1392, 17:52 عصر
توی همین بخش آندروید هست؟

mohsen22
یک شنبه 22 دی 1392, 21:45 عصر
بفرما (http://www.esfandune.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D8%A8%D9%87-%D8%B2%D9%88%D8%AF%DB%8C/)

saeidpsl
یک شنبه 22 دی 1392, 22:41 عصر
نمونه (http://barnamenevis.org/showthread.php?401729-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=1940485&viewfull=1#post1940485):چشمک:

amirarcs
چهارشنبه 25 دی 1392, 11:33 صبح
دوستان من یک دیتابیس ساختم با برنامه ی sqlite EXPERT و این را به پروژه اضافه کردم.می خوام این ها رو در تکست ویو نمایش بدم ، چطور باید از اطلاعات دیتا بیس در پرژه استفاده کرد؟

abbasalim
چهارشنبه 25 دی 1392, 16:14 عصر
یه سر اینجا بزن http://www.esfandune.ir

amirarcs
جمعه 27 دی 1392, 18:49 عصر
دوستان خواهش می کنم به من کمک کنید.

من یک دیتا بیس دارم که می خوام داخل یک listview نمایش بدم اما با این که به نظر خودم تمام کد ها درست است اما کرش میکنه. ارور از این صفحه میگیره




public class PomeTextOne extends ListActivity {
List<PoemList> pomes;
DBAdapter db;
String tabalename1 = DBAdapter.DATABASE_PARTONE;



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

try {
String destPath = "/data/data/" + getPackageName() +
"/databases";
File f = new File(destPath);
if (!f.exists()) {
f.mkdirs();
f.createNewFile();

CopyDB(getBaseContext().getAssets().open("mashaabusaeid"),
new FileOutputStream(destPath + "/mashaabusaeid"));
Log.i("esfandune", "esfandune");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

db = new DBAdapter(this);
db.open();
pomes = db.getAllContacts(DBAdapter.DATABASE_PARTONE);
tazesazi();
}
@Override
protected void onPause() {
super.onPause();
db.close();
Log.i(DBAdapter.TAG, "database baste shod!");
}

@Override
protected void onResume() {
super.onResume();
db.open();
Log.i(DBAdapter.TAG, "database baz shod!");
pomes = db.getAllContacts(tabalename1);
tazesazi();
}
public void CopyDB(InputStream inputStream,
OutputStream outputStream) throws IOException {
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
inputStream.close();
outputStream.close();
}
private void tazesazi() {
ArrayAdapter<PoemList> adapter;
adapter = new VerseAdapter(this, pomes);
setListAdapter(adapter);

}
}



متن ارور لوگ هم این است




01-17 18:21:01.275: E/AndroidRuntime(2477): java.lang.RuntimeException: Unable to start activity ComponentInfo{ir.pandroid.masha/ir.pandroid.masha.PomeTextOne}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'

#root#
جمعه 27 دی 1392, 19:49 عصر
برید تو layout ی که listview توش هست id شو به این تغییر بدید android.R.id.list

amirarcs
جمعه 27 دی 1392, 20:42 عصر
به این صورت تغییر دادم داداش اما همون ارور میده



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="6"
android:background="@drawable/poemtext1"
android:orientation="vertical" >
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="84"
android:background="@drawable/poemtext2"
android:orientation="vertical" >

<ListView
android:id="@+id/android.R.id.list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/listviewmain" >
</ListView>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="10"
android:background="@drawable/ppoemtext3"
android:orientation="vertical" >
</LinearLayout>

</LinearLayout>

amirarcs
جمعه 27 دی 1392, 21:19 عصر
مشکل قبلی حل کردم. با کمک شما و کد id به شکل زیر نوشتم درست شد


@android:id/list


اما حالا لوگ ارور زیر میده که مفهومش نمی فهمم



01-17 21:57:18.471: E/AndroidRuntime(1760): java.lang.RuntimeException: Unable to start activity ComponentInfo{ir.pandroid.masha/ir.pandroid.masha.PomeTextOne}: android.database.sqlite.SQLiteException: no such table: robaeiat_partone (code 1): , while compiling: SELECT verse, verse_id, block_id FROM robaeiat_partone

amirarcs
شنبه 28 دی 1392, 10:57 صبح
ممنون میشم کمکم کنید

amirarcs
دوشنبه 30 دی 1392, 15:36 عصر
سلام.

من واسه دکمه ی اضافه کردن به لیس علاقه مندی ها کد زیر را نوشتم



btnaddfave.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(db.getContact(verse1.getname(), DBAdapter.DATABASE_FAVTABLE1).getCount() > 0){
db.deleteContact(verse1.getname(),DBAdapter.DATABA SE_FAVTABLE1);
Toast.makeText(c, "از لیست علاقه ها حذف شد!", Toast.LENGTH_SHORT).show();

}else{
db.insertContact(verse1.getname(),"", DBAdapter.DATABASE_FAVTABLE1);
Toast.makeText(c, "به لیست علاقه ها اضافه شد!", Toast.LENGTH_SHORT).show();

}
if(db.getContact(verse2.getname(), DBAdapter.DATABASE_FAVTABLE2).getCount() > 0){
db.deleteContact(verse2.getname(),DBAdapter.DATABA SE_FAVTABLE2);

}else{
db.insertContact(verse2.getname(),"", DBAdapter.DATABASE_FAVTABLE2);

}
if(db.getContact(verse3.getname(), DBAdapter.DATABASE_FAVTABLE3).getCount() > 0){
db.deleteContact(verse3.getname(),DBAdapter.DATABA SE_FAVTABLE3);

}else{
db.insertContact(verse3.getname(),"", DBAdapter.DATABASE_FAVTABLE3);

}
if(db.getContact(verse4.getname(), DBAdapter.DATABASE_FAVTABLE4).getCount() > 0){
db.deleteContact(verse4.getname(),DBAdapter.DATABA SE_FAVTABLE4);

}else{
db.insertContact(verse4.getname(),"", DBAdapter.DATABASE_FAVTABLE4);

}

}
});



اما وقتی روی دکمه کلیک میشه ارور زیر به من میده



01-20 16:19:23.503: E/AndroidRuntime(22876): java.lang.NullPointerException