جستجو در انجمن

در حال نمایش نتایج برای برچسب های 'دیتابیس'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


انجمن ها

  • انجمن اندروید ایران
    • اخبار و اعلانات
    • صندوق پيشنهادات و انتقادات
    • تازه‌های دنیای کامپیوتر و فناوری
    • قوانین انجمن تخصصی اندروید ایران
  • اندروید
    • ابزار های برنامه نویسی اندروید
    • شروع با اندروید
    • رفع مشکلات و سوالات
    • پروژه های اندروید
  • اندروید 5
    • آموزش اندروید 5
    • رفع مشکلات و سوالات اندروید 5
  • مباحث مرتبط با اندروید
    • ابزارها و سایتهای مفید
    • گرافیک موبایل
    • آموزش های ویدئویی
    • برنامه نویسی جاوا
  • تکنولوژی های اندروید
    • توسعه اندروید با #C
    • توسعه اندروید با Basic4Android
    • وب موبایل
  • متفرقه
    • اپلیکیش های ایرانی
    • برنامه نویسی
    • درخواست همکاری
    • مباحث متفرقه
    • مهارتهای فروش و بازاریابی
  • پشتیبانی محصولات مارکت
    • پرسش و پاسخ مرتبط با مارکت انجمن اندروید ایران
    • پشتیبانی مارکت پروژه های اندروید
    • پشتیبانی مارکت آموزش اندروید
    • پشتیبانی مارکت گرافیک موبایل

دسته ها

  • پروژه اندروید
    • سورس پروژه اندروید
    • کامپوننت های اندروید
    • کتابخانه های اندروید
  • آموزش اندروید
    • فیلم آموزشی کاربردی
    • مقالات آموزشی اندروید
  • گرافیک موبایل
    • قالب طراحی اپلیکیشن
  • اپلیکیشن های اندروید
    • کاربردی
    • کسب و کار
    • آموزش
    • کتاب‌ها و منابع
    • ویدئو و رسانه
    • بازی‌

تقویم ها

  • Community Calendar

23 نتیجه پیدا شد

  1. سلام.چطوری هر خطی که خواستم رو،بدون استفاده از اطلاعات ستون ها،حذف کنم؟
  2. باسلام خدمت همه دوستان و تبریک سال جدید من میخوام وقتی تو دیتابیسم یک گذینه(ستون) اضافه کردم بصورت اتوماتیک با همان نام یک دکمه تو صفحه برنامه ام اضافه بشه.البته منظورم تایگل باتن هست ازشما و اساتید حرفه ای درخواست کمک دارم باتشکر فراوان
  3. سلام توی لوکال هاست اطلاعات به درستی نشان میدن ولی تو هاست اصلی یه بار نشون داده میشه و بار دوم نشون داده نمیشه و روی تب های دیگه میره بعد میایی روی اون تب اول نشون میده. مشکل از کجاست؟
  4. سلام من یک دیتابیس دارم که اسامی چندین نفر داخل اون هست میخوام تعداد نفرات را از دیتابیس بخونم و تو یک تکست قرار بدم ممنون میشم راهنماییم کنید(با نمونه کد لطفاً)
  5. سلام خسته نباشید یه اپ پرسش و پاسخ دارم ، یه لیست از آیتم ها دارم (20 تا) و میخوام روشون ک کلیک شد بره به اکتیویتی بعدی و سوال مختص به اون آیتم رو برام نمایش بده{مثن روی آیتم 5 ام کلیک ک کردم میخوام که سوالی رو برام نشون بده که مختص همینه(مثلا ای دیش برابر 5 باشه)} بعد یه گزینه میخوام که کلیک کنم بره سوال بعدی(یا بهتر بگم اکتیویتی بعدی) در حال حاضر با این آموزش http://www.parallelcodes.com/android-game-tutorial/ ک جلو میرم اون چیزی نیست که من میخوام الان رو هر آیتم کلیک کنم از سوال یک شروع میکنه و میاد در حالی که من نمیخوام اینجوری باشه اگه منظورمو نگرفتید بگید تا بیشتر توضیح بدم،ممنون میشم راهنمایی کنید
  6. من یه لیست ویو دارم که هر فصل من دارای چند زیر مجوعه داره میخوام زیر مجوعه هر فصل بشمارم ونشون بدم داخل لیستم . فصل ها نشون داده میشن ولی بخش ها تعداد ارور داره کسی میتونه کمک کنه کدهام اینه public class StoryDataSource { private Context context; private SQLiteOpenHelper dbhelper; private SQLiteDatabase database; public StoryDataSource(Context context){ this.context = context; this.dbhelper = new StoryDBHelper(context); } public void openDb(){ database = dbhelper.getWritableDatabase(); Log.i(Activity2.LOGTAG, "database opened."); } public void closeDb(){ if(database != null){ database.close(); Log.i(Activity2.LOGTAG, "database closed."); } else{ Log.i(Activity2.LOGTAG, "db = null"); } } public List<Story> getAllStories(){ List<Story> items = new ArrayList<Story>(); openDb(); String[] columns = {StoryDBHelper.KEY_ID, StoryDBHelper.KEY_SESONE, StoryDBHelper.KEY_FAV}; Cursor cursor = database.query( StoryDBHelper.TABLE_BOOKS, columns, StoryDBHelper.KEY_TYPE + " = \"" + StoryDBHelper.TYPE_SESON + "\"", null, null, null, StoryDBHelper.KEY_ID + " ASC"); if(cursor.moveToFirst()){ do{ Story story = new Story(); story.setId(cursor.getLong(cursor.getColumnIndex(StoryDBHelper.KEY_ID))); story.setName(cursor.getString(cursor.getColumnIndex(StoryDBHelper.KEY_SESONE))); story.setFav(cursor.getInt(cursor.getColumnIndex(StoryDBHelper.KEY_FAV)) > 0); // author and indexPic String[] col_title_type = {StoryDBHelper.KEY_SESONEID}; String where = "\"" + StoryDBHelper.KEY_SESONEID + "\" = " + story.getId() + " AND (\"" + StoryDBHelper.KEY_TYPE + "\" = \"" + StoryDBHelper.TYPE_TITLE + "\")"; Cursor cur = database.query(StoryDBHelper.TABLE_BOOKS, col_title_type, where, null, null, null, StoryDBHelper.KEY_ID + " ASC"); if(cur.moveToFirst()){ do{ story.setDount(cur.getCount()); } while(cur.moveToNext()); } Log.i(Activity2.LOGTAG, "getAllStories() : Returned " + cur.getCount() + " rows."); cur.close(); items.add(story); } while(cursor.moveToNext()); } cursor.close(); Log.i(Activity2.LOGTAG, "getAllStories() : Returned " + cursor.getCount() + " rows."); closeDb(); return items; } public void updateIsFav(Story story){ openDb(); String value = story.isFav() ? "1" : "0"; String sql = "UPDATE " + StoryDBHelper.TABLE_BOOKS + " SET " + StoryDBHelper.KEY_FAV + " = " + value + " WHERE " + StoryDBHelper.KEY_ID + " = " + story.getId(); Log.i(Activity2.LOGTAG, "sql = " + sql); database.execSQL(sql); closeDb(); } public void copyDbFile(){ try { InputStream in = context.getAssets().open("books"); File dir = new File("/data/data/" + context.getPackageName() + "/databases"); dir.mkdirs(); FileOutputStream out = new FileOutputStream(new File(dir, "books")); byte[] buffer = new byte[1024]; int len = 0; while( (len = in.read(buffer)) > 0 ){ out.write(buffer, 0, len); } in.close(); out.close(); Log.i(Activity2.LOGTAG, "database copied."); } catch (Exception e) { Log.i(Activity2.LOGTAG, "copy() : exception -> " + e.getMessage()); } } } اداپترم public class StoryListAdapter extends ArrayAdapter<Story>{ private Context context; private int resourceId; private List<Story> stories; public StoryListAdapter(Context context, int resourceId, List<Story> stories) { super(context, resourceId, stories); this.context = context; this.resourceId = resourceId; this.stories = stories; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(resourceId, parent, false); final Story item = stories.get(position); TextView txt_name = (TextView) view.findViewById(R.id.txt_name_listitem); TextView txt_count = (TextView) view.findViewById(R.id.txt_count_listitem); final ImageView img_isFav = (ImageView) view.findViewById(R.id.img_isFav); txt_name.setText(item.getName()); txt_count.setText(item.getDount());در اینجا خطا میگیره LoadImageResource(context, view, item.getIndexPic(), R.id.img_indexpic_listitem); if(item.isFav()){ img_isFav.setImageResource(R.drawable.red_heart); } else { img_isFav.setImageResource(R.drawable.heart); } img_isFav.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { item.setFav(! item.isFav()); StoryDataSource datasource = new StoryDataSource(context); datasource.updateIsFav(item); if(item.isFav()){ img_isFav.setImageResource(R.drawable.red_heart); } else { img_isFav.setImageResource(R.drawable.heart); } } }); return view; } public static void LoadImageResource(Context context, View view, String resourceName, int imageView_id){ String resName ; if(resourceName.lastIndexOf('.') > 0){ resName = resourceName.substring(0, resourceName.lastIndexOf('.')); } else{ resName = resourceName; } int imageResId = context.getResources().getIdentifier( resName, "drawable", context.getPackageName()); if(imageResId > 0){ ImageView imgView = (ImageView) view.findViewById(imageView_id); imgView.setImageResource(imageResId); } } } خطاها 04-09 17:20:10.011 25228-25228/com.example.asus.myapplication I/Story: database opened. 04-09 17:20:10.023 25228-25228/com.example.asus.myapplication I/Story: getAllStories() : Returned 3 rows. 04-09 17:20:10.024 25228-25228/com.example.asus.myapplication I/Story: getAllStories() : Returned 2 rows. 04-09 17:20:10.026 25228-25228/com.example.asus.myapplication I/Story: getAllStories() : Returned 3 rows. 04-09 17:20:10.027 25228-25228/com.example.asus.myapplication I/Story: getAllStories() : Returned 3 rows. 04-09 17:20:10.028 25228-25228/com.example.asus.myapplication I/Story: database closed. 04-09 17:20:10.142 25228-25228/com.example.asus.myapplication W/ResourceType: No package identifier when getting value for resource number 0x00000003 04-09 17:20:10.143 25228-25228/com.example.asus.myapplication D/AndroidRuntime: Shutting down VM --------- beginning of crash 04-09 17:20:10.147 25228-25228/com.example.asus.myapplication E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.asus.myapplication, PID: 25228 android.content.res.Resources$NotFoundException: String resource ID #0x3 at android.content.res.Resources.getText(Resources.java:312) at android.widget.TextView.setText(TextView.java:4417) at com.example.asus.myapplication.StoryListAdapter.getView(StoryListAdapter.java:41) at android.widget.AbsListView.obtainView(AbsListView.java:2346) at android.widget.ListView.measureHeightOfChildren(ListView.java:1280) at android.widget.ListView.onMeasure(ListView.java:1188) at android.view.View.measure(View.java:18788) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465) at android.widget.LinearLayout.measureVertical(LinearLayout.java:748) at android.widget.LinearLayout.onMeasure(LinearLayout.java:630) at android.view.View.measure(View.java:18788) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139) at android.view.View.measure(View.java:18788) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393) at android.view.View.measure(View.java:18788) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure(View.java:18788) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465) at android.widget.LinearLayout.measureVertical(LinearLayout.java:748) at android.widget.LinearLayout.onMeasure(LinearLayout.java:630) at android.view.View.measure(View.java:18788) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643) at android.view.View.measure(View.java:18788) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 04-09 17:20:10.188 25228-25238/com.example.asus.myapplication W/art: Suspending all threads took: 7.481ms سورس برنامه MyApplication3.rar
  7. سلام موقع اجرا برنامم برنامه خطا میده ک همچین دیتابیس و جدولی پیدا نکرده این درحالی هست که من هم دیتابیس و جدول رو ساختم و در پوشه assets قرار دادم
  8. سلام با برنامه DB Browser for SQLite دیتابیس رو ویرایش میکنم اما بعضی جول ها رو نمیتونم ویرایش انجام بدم. جدول های قسمت views که با پیشوند view شروع میشن...
  9. سلام به همه من یه دیتابیس با یه ریسایکلر ویو ساختم ولی هرچی میکنم اطلاعات دیتابیس در ریسایکلرویو نمایش داده نمیشه.کدکلاسdatabasehelper : public class DatabaseHelpher extends SQLiteOpenHelper{ Context context; private static final String DATABASE_NAME="Mohasebat"; private static final int DATABASE_VERSION = 1; private static final String main_table = "mainpage"; private static final String table1 = "CREATE TABLE "+main_table+"(A1 TEXT NOT NULL,AM TEXT NOT NULL,A2 TEXT NOT NULL,javab TEXT NOT NULL )"; public DatabaseHelpher(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); this.context = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(table1); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { db.execSQL("DROP TABLE IF EXISTS " + main_table); onCreate(db); } public void insertIntoDB(String A1,String AM,String A2,String javab){ SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("A1", A1); values.put("AM", AM); values.put("A2", A2); values.put("javab", javab); db.insert(main_table, null, values); db.close(); } public data getDataFromDB(){ String query = "select * from "+main_table; data model = null; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(query,null); if (cursor.moveToFirst()){ do { String A1 = cursor.getString(0); String AM = cursor.getString(1); String A2 = cursor.getString(2); String javab = cursor.getString(3); model = new data(A1,AM,A2,javab); }while (cursor.moveToNext()); } return model; } } اینم کد ریسایکلرویو: public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Adapter.adapter>{ private ArrayList<data> data1; public Recycler_View_Adapter(ArrayList<data> data) { this.data1 = data; } @Override public adapter onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item , parent , false); adapter ad = new adapter(v); return ad; } @Override public void onBindViewHolder(adapter holder, int position) { holder.adad1.setText(data1.get(position).getadad1()); holder.adad2.setText(data1.get(position).getAdad2()); holder.am.setText(data1.get(position).getAm()); holder.javab.setText(data1.get(position).getJavab()); } @Override public int getItemCount() { return data1.size(); } public class adapter extends RecyclerView.ViewHolder { public TextView adad1; public TextView adad2; public TextView am; public TextView javab; public adapter(final View itemView) { super(itemView); adad1 = (TextView)itemView.findViewById(R.id.adad1); adad2 = (TextView)itemView.findViewById(R.id.adad2); am = (TextView)itemView.findViewById(R.id.am); javab = (TextView)itemView.findViewById(R.id.javab); adad1.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { data1.remove(getLayoutPosition()); notifyItemRemoved(getAdapterPosition()); return false; } }); adad2.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { data1.remove(getLayoutPosition()); notifyItemRemoved(getAdapterPosition()); return false; } }); am.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { data1.remove(getLayoutPosition()); notifyItemRemoved(getAdapterPosition()); return false; } }); javab.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { data1.remove(getLayoutPosition()); notifyItemRemoved(getAdapterPosition()); return false; } }); itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { data1.remove(getLayoutPosition()); notifyItemRemoved(getAdapterPosition()); return false; } }); } } public void add(data d){ data1.add(d); notifyItemInserted(this.data1.size() -1); } } اینم کلاس data: public class data { public String adad1; public String am; public String adad2; public String javab; public String getadad1() { return adad1; } public void setadad1(String adad1) { this.adad1 = adad1; } public String getAdad2() { return adad2; } public void setAdad2(String adad2) { this.adad2 = adad2; } public String getAm() { return am; } public void setAm(String am) { this.am = am; } public String getJavab() { return javab; } public void setJavab(String javab) { this.javab = javab; } public data(String adad1,String am,String adad2,String javab) { this.adad1 = adad1; this.adad2 = adad2; this.am = am; this.javab = javab; } } اینم قسمتی از کد اکتیویتی: private RecyclerView rc; ArrayList<data> data1; rc = (RecyclerView) findViewById(R.id.rc); data1 = new ArrayList<>(); final Recycler_View_Adapter mAdapter = new Recycler_View_Adapter(data1); rc.setAdapter(mAdapter); rc.setLayoutManager(new LinearLayoutManager(this)); RecyclerView.ItemAnimator itemAnimator = new DefaultItemAnimator(); itemAnimator.setAddDuration(500); itemAnimator.setRemoveDuration(500); rc.setItemAnimator(itemAnimator); DatabaseHelpher helpher = new DatabaseHelpher(mainpage.this); helpher.insertIntoDB(String.valueOf(number1),"^",String.valueOf(number2),"=" + String.valueOf(rsl)); data data2 = helpher.getDataFromDB(); mAdapter.add(data2);
  10. سلام چطوری یه عکس رو داخل دیتابیس ذخیره کنم؟
  11. سلام اساتید بنده در حال ساخت برنامه بکاپ از دیتای اپ (صرفا دیتا ، نه خود اپ) هستم ؛ برای اینکار یه لیست ویو ساختم که اپ های نصب شده در گوشی رو نشون میده و کاربر اپ مورد نظرشو انتخاب میکنه ، حالا برای بکاپ گرفتن من نیاز به پکیج نیم و نام دیتابیس دارم ؛ پکیج نیم رو با کد زیر میگیرم PackageInfo packageInfo = packlist.get(i); String packname = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString(); حالا برای بدست آوردن آدرس دیتابیس من نیاز دارم نام دیتابیس رو بدونم ولی از اونجا که خود کاربر ، برنامه رو انتخاب میکنه نام دیتابیس ثابت نیست ، من چه کدی برنم که برنامم بتونه اسم دیتابیس رو خودش بفهمه ؟
  12. سلام خدمت همه دوستان من یک دیتابیس خارجی درست و در پروژه خود اضافه کردم. حالا میخوام اطلاعات مورد نظر را از دیتابیس بخونم و داخل لیست ویو سفارشی خودم قرار بدم. به عنوان مثال میخوام نام و آدرس را از دیتابیس بخونم و در لیست ویو سفارشی بصورت 2 تا تکست جداگانه اضافه کنم. ممنون میشم اگر بصورت گام به گام راهنماییم کنید. باتشکر از اعضاء محترم
  13. سلام من میخوام محتویات رکورد های دیتابیس سمت سرورم رو جستجو کنم مثلا داخل دیتابیس یک فیلد هست که داخل فیلد جمله "علی از خانه آمد " است حالا من چطور میتونم با سرچ کردن "علی" داخل برنامم به این رکرورد برسم؟ کد phpدر این مورد هست ایا؟ لطفا راهنمایی کنید
  14. سلام من برای فرا خوانی عکس از دیتابیس یه table توی دیتابیس درست کردم اسم عکس ها را درون اون نوشتم و عکس هارا توی برنامه کپی کردم و به برنامه گفتم اسم عکس ها را با نام های توی دیتابیس مطابقت بده و هر کدوم مطابقت داره نمایش بده ولی تعداد که زیاد میشه رم گوشی جواب نمیده و ارور میده String aks = MainActivity.fruits.get(position).getAks(); int id = MainActivity.context.getResources().getIdentifier(aks,"drawable",MainActivity.context.getPackageName()); holder.aks.setImageResource(id); اینم کد اون قسمت از برنامم ممنون میشم اگه راهنمایی ام کنید
  15. دیتابیس

    سلام دوستان اگر لطف کنین کمکم کنید ممنون میشم من چند وقته شروع کردم برنامه نویسی رو الان میخوام یه کتاب بنویسم باrecyclerview ولی وقتی اجرا میکنم برناممو هر بار که بک میزنم و دوباره لیسته کتابامو چک میکنم دیتابیسم دوباره تکرار میشه
  16. میخوام یه فرم رجیستر بنویسم در اندروید لازم به دونستن کدهای اعتبار سنحی فیلد شماره تلفن و ایمیل دارم...همچنین در زمان وارد کردن نام کاربری تکراری بودن یا نبودن این فیلد در بانک بررسی شود در جاوا از ایجکس میشه استفاده کرد؟
  17. سلام وقت بخیر ی برنامه رو در نظر بگیرید مثلا 100نفر داخل دیتابیس انلاین ثبت نام کردن میخام هر دفعه که دکمه رو میزنم اسم یک نفر بگیر و داخل ی چیزی که نمیدونم و از شما کمک میخام ذخیره کنه و اگه نت نبود بازم نمایش بده و بعد وقتی دوباره دکمه زده شد اسم بعدی رو هم نمایش بده بدون اینکه قبلی از بین بره و........ از دیتابیس sqllite نمیخام استفاده کنم راهی هست؟ ممنونم
  18. خسته نباشید دوستان من میخوام یه مقداری رو بگیرم که داخل تیبل settings از دیتابیسم بصورت key ,value ذخیرش کردم key ش sound هست که از نوع ورکرکتر هست و میخوام اگه مقدارش 1 هست یه عکسی رو نشون بده اگرم مقدارش 0 هست یه عکس دیگه رو(همزمان اگه مقدار 1 بود صدا پخش بشه اگرم 0 بود پخش نشه) خلاصه مطلب اما به یه اروری خوردم حالا میخواستم ببینم ایراد از کجاست؟! این کلاس دیتابیس منیجرم public class DatabaseManager extends SQLiteOpenHelper { private Context context; private static String DB_PATH = "data/data/com.wordstutorial.hamidrezak.wordstutorials/databases/"; private static String DB_NAME = "words_db.db"; public static String DB_TABLE_WORDS ="words"; public static String BD_TABLE_PLAY="play"; public static String DB_TABLE_SETTINGS="settings"; private static int DB_VERSION = 2; private SQLiteDatabase dbase; public DatabaseManager(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context = context; } public void createDatabase(){ boolean dbExist = checkDatabase(); if (dbExist) { Log.d("TAG", "Database already Exist"); } else { this.getReadableDatabase(); } try { copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } private boolean checkDatabase() { SQLiteDatabase checkDB = null; try { String myPath = DB_PATH + DB_NAME; checkDB=SQLiteDatabase.openDatabase(myPath , null, SQLiteDatabase.OPEN_READWRITE); } catch (SQLiteException e) { } if (checkDB != null) { checkDB.close(); } return checkDB != null ? true : false; } private void copyDataBase() throws IOException { InputStream myInput = context.getAssets().open(DB_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream myOutput = new FileOutputStream(outFileName); byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer)) > 0) { myOutput.write(buffer, 0, length); } myOutput.flush(); myOutput.close(); myInput.close(); } public void openDataBase() throws SQLiteException { String myPath = DB_PATH + DB_NAME; dbase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE); } public Cursor queryData(String query) { return dbase.rawQuery(query, null); } @Override public synchronized void close() { if (dbase != null) dbase.close(); super.close(); } @Override public void onCreate(SQLiteDatabase db) { ///DO NOTHING } @Override public void onUpgrade(SQLiteDatabase db, int oldV, int newV) { ///DO NOTHING } public int getSoundState(){ openDataBase(); Cursor cursor=queryData( " SELECT * FROM " + DB_TABLE_SETTINGS + " WHERE key='sound' "); cursor.moveToFirst(); return Integer.parseInt(cursor.getString(2)); } public boolean setSoundState(int state){ openDataBase(); ContentValues contentValues=new ContentValues(); contentValues.put("sound",state); long result=dbase.update(DB_TABLE_SETTINGS,contentValues," key = ? " , new String[] {"sound"} ); if (result < 1){ return true; }else { return false; } } } همونطوری که میبینید متد های گتر و ستر رو برای وضعیت صدام مشخص کردم... اینم کلاسی که میخوام اطلاعاتو ویرایش کنم... public class WordActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; DatabaseManager db; private SQLiteDatabase sqLiteDatabase; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_word); Intent intent = getIntent(); final int id = intent.getIntExtra("id", 0); String word = intent.getStringExtra("word"); String imageWord = intent.getStringExtra("image"); String soundWord = intent.getStringExtra("sound"); int resID = getResources().getIdentifier(imageWord, "mipmap", getPackageName()); int resImage = this.getResources().getIdentifier(soundWord, "raw", this.getPackageName()); ImageView imageBox = (ImageView) findViewById(R.id.image_word_activity); final ImageView imageSoundState = (ImageView) findViewById(R.id.sound_state); if (db.getSoundState()==1){ Picasso.with(this).load(R.drawable.sound_play).into(imageSoundState); }else { Picasso.with(this).load(R.drawable.sound_stop).into(imageSoundState); } imageSoundState.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (db.getSoundState()==1){ if (db.setSoundState(0)){ Picasso.with(WordActivity.this).load(R.drawable.sound_stop).into(imageSoundState); } }else { if (db.setSoundState(1)){ Picasso.with(WordActivity.this).load(R.drawable.sound_play).into(imageSoundState); } } } }); TextView textBox = (TextView) findViewById(R.id.text_word_activity); Picasso.with(this).load(resID).into(imageBox); mediaPlayer = MediaPlayer.create(this, resImage); mediaPlayer.start(); textBox.setText(word); } @Override protected void onPause() { super.onPause(); mediaPlayer.release(); } اینم ارور ها 01-09 17:59:26.831 27683-27683/? I/art: Not late-enabling -Xcheck:jni (already on) 01-09 17:59:26.831 27683-27683/? W/art: Unexpected CPU variant for X86 using defaults: x86 01-09 17:59:26.883 27683-27683/com.wordstutorial.hamidrezak.wordstutorials W/System: ClassLoader referenced unknown path: /data/app/com.wordstutorial.hamidrezak.wordstutorials-1/lib/x86 01-09 17:59:26.902 27683-27683/com.wordstutorial.hamidrezak.wordstutorials W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 01-09 17:59:27.099 27683-27711/com.wordstutorial.hamidrezak.wordstutorials I/OpenGLRenderer: Initialized EGL, version 1.4 01-09 17:59:27.099 27683-27711/com.wordstutorial.hamidrezak.wordstutorials D/OpenGLRenderer: Swap behavior 1 01-09 17:59:27.160 27683-27711/com.wordstutorial.hamidrezak.wordstutorials E/EGL_emulation: tid 27711: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 01-09 17:59:27.160 27683-27711/com.wordstutorial.hamidrezak.wordstutorials W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9d9648a0, error=EGL_BAD_MATCH 01-09 17:59:28.300 27683-27711/com.wordstutorial.hamidrezak.wordstutorials E/EGL_emulation: tid 27711: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 01-09 17:59:28.301 27683-27711/com.wordstutorial.hamidrezak.wordstutorials W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9d964a60, error=EGL_BAD_MATCH 01-09 17:59:30.948 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/SQLiteLog: (14) cannot open file at line 32456 of [bda77dda96] 01-09 17:59:30.948 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/SQLiteLog: (14) os_unix.c:32456: (2) open(//data/data/com.wordstutorial.hamidrezak.wordstutorials/databases/words_db.db) - 01-09 17:59:30.949 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/SQLiteDatabase: Failed to open database 'data/data/com.wordstutorial.hamidrezak.wordstutorials/databases/words_db.db'. android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:808) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:793) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:696) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:671) at com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.checkDatabase(DatabaseManager.java:63) at com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.createDatabase(DatabaseManager.java:42) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.loadDatabase(WordsActivity.java:41) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.onCreate(WordsActivity.java:28) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 01-09 17:59:31.466 27683-27711/com.wordstutorial.hamidrezak.wordstutorials E/EGL_emulation: tid 27711: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 01-09 17:59:31.466 27683-27711/com.wordstutorial.hamidrezak.wordstutorials W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9d90cf20, error=EGL_BAD_MATCH 01-09 17:59:32.089 27683-27683/com.wordstutorial.hamidrezak.wordstutorials D/AndroidRuntime: Shutting down VM 01-09 17:59:32.089 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/AndroidRuntime: FATAL EXCEPTION: main Process: com.wordstutorial.hamidrezak.wordstutorials, PID: 27683 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wordstutorial.hamidrezak.wordstutorials/com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.getSoundState()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.getSoundState()' on a null object reference at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordActivity.onCreate(WordActivity.java:43) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) ممنون میشم کمک کنید ببینم مشکل از کجاست؟!
  19. سلام خسته نباشید به یه مشکلی خوردم تو فراخونی دیتابیس،نکته عجیبش اینه که من کدای دیتابیس رو دستکاری نکردم فقط از دیتابیس لوکاس استفاده میکنم یه سری تغییرات تو ستون های هر جدول تو دیتابیسم دادم و جالب تر از اون اینکه حالا که کدارو به حالت نرمالم برمیگردونم بازم ارور میده و میگه دیتابیس کپی نمیشه و نمیتونه باز بشه !!! این لیست کلاس دیتابیسم: public class DatabaseManager extends SQLiteOpenHelper { private Context context; private static String DB_PATH = "data/data/com.wordstutorial.hamidrezak.wordstutorials/databases"; private static String DB_NAME = " words_db.db "; public static String DB_TABLE_WORDS ="words"; public static String BD_TABLE_PLAY="play"; public static String DB_TABLE_SETTINGS="settings"; private static int DB_VERSION = 2; private SQLiteDatabase dbase; public DatabaseManager(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context = context; } public void createDatabase() { boolean dbExist = checkDatabase(); if (dbExist) { Log.d("TAG", "Database already Exist"); } else { this.getReadableDatabase(); } try { copyDataBase(); } catch (IOException e) { e.printStackTrace(); throw new Error("Error copying database"); } } private boolean checkDatabase() { SQLiteDatabase checkDB = null; try { String myPath = DB_PATH + DB_NAME; checkDB.openDatabase(myPath , null, SQLiteDatabase.OPEN_READWRITE); } catch (SQLiteException e) { } if (checkDB != null) { checkDB.close(); } return checkDB != null ? true : false; } private void copyDataBase() throws IOException { InputStream myInput = context.getAssets().open(DB_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream myOutput = new FileOutputStream(outFileName); byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer)) > 0) { myOutput.write(buffer, 0, length); } myOutput.flush(); myOutput.close(); myInput.close(); } public void openDataBase() throws SQLiteException { String myPath = DB_PATH + DB_NAME; dbase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE); } public Cursor queryData(String query) { return dbase.rawQuery(query, null); } @Override public void onCreate(SQLiteDatabase db) { ///DO NOTHING } @Override public void onUpgrade(SQLiteDatabase db, int oldV, int newV) { ///DO NOTHING } @Override public synchronized void close() { if (dbase != null) dbase.close(); super.close(); } کلاس پست هایی که میخوام بگیرم از دیتابیس public class WordsActivity extends AppCompatActivity { private List<Word> words; DatabaseManager db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_words); loadDatabase(); TextAdapter wordsAdapter = new TextAdapter(this,words); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new GridLayoutManager(WordsActivity.this, 2, LinearLayoutManager.VERTICAL, false)); recyclerView.setAdapter(wordsAdapter); } public void loadDatabase() { db=new DatabaseManager(WordsActivity.this); db.createDatabase(); db.openDataBase(); words=new ArrayList<>(); Cursor cursor = db.queryData(" SELECT * FROM " + DatabaseManager.DB_TABLE_WORDS); if (cursor != null) { if (cursor.moveToFirst()) { do { Word word = new Word(); word.setId(cursor.getInt(0)); word.setTitle(cursor.getString(1)); word.setImageview(cursor.getString(2)); word.setSound(cursor.getString(3)); words.add(word); } while (cursor.moveToNext()); } } db.close(); } } اینم کلاس اداپترم public class TextAdapter extends RecyclerView.Adapter<TextAdapter.TestViewHolder> { private Context context; private List<Word> words; public TextAdapter(Context context, List<Word> words) { this.context = context; this.words = words; } @Override public TestViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.tutorial_boxs_layout, parent, false); return new TestViewHolder(view); } @Override public void onBindViewHolder(final TestViewHolder holder, int position) { final Word word=words.get(position); holder.txtTitle.setText(word.getTitle()); int resID = context.getResources().getIdentifier(word.getImageview(), "mipmap", context.getPackageName()); holder.imageWord.setImageResource(resID); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(context, WordActivity.class); intent.putExtra("id",word.getId()); intent.putExtra("word",word.getTitle()); intent.putExtra("image",word.getImageview()); intent.putExtra("sound",word.getSound()); context.startActivity(intent); } }); } @Override public int getItemCount() { return words.size(); } public class TestViewHolder extends RecyclerView.ViewHolder { private TextView txtTitle; private ImageView imageWord; public TestViewHolder(View itemView) { super(itemView); txtTitle = (TextView) itemView.findViewById(R.id.box_title); imageWord = (ImageView) itemView.findViewById(R.id.box_image); } } } اینم ارور هایی که میده --------- beginning of crash 01-09 13:30:00.085 4969-4969/com.wordstutorial.hamidrezak.wordstutorials E/AndroidRuntime: FATAL EXCEPTION: main Process: com.wordstutorial.hamidrezak.wordstutorials, PID: 4969 java.lang.Error: Error copying database at com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.createDatabase(DatabaseManager.java:57) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.loadDatabase(WordsActivity.java:41) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.onCreate(WordsActivity.java:28) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) مشکل از کجاست؟؟
  20. سلام خسته نباشید یه اپ پرسش و پاسخ داشتم،توی یه اکتیوی سوالات مختلفی رو میخوام نشون بدم،در واقع سوالم یه فایل صوتیه...حالا وقتی سوالم اجرا میشه و گزینه هاش میان فایل صوتیم اجرا میشه اینجاش درسته،اما وقتی که مثلا جواب سوال رو میدم، و میره سوال بعدی بازم صدای بعدی هم پخش میشه بدون اینکه صدای قبل متوقف بشه حالا از اونجایی ک توی یک اکتیویتی هست باید دستور stop برای مدیا پلیر رو کجا فراخونی کنم که مثلا از این سوال میره به سوال بعدی،فایل صوتی مربوط به همون سوال پخش بشه و فایل های صوتی قبلی پخش نشن؟
  21. public boolean Update(Model_PersonalZekr model_personalZekr) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(KEY_COUNTER, model_personalZekr.getCounter()); db.execSQL("update " + Tbl_Personal_Zekr + " set" + KEY_COUNTER + "='" + model_personalZekr.getCounter() + "'" + " where" + KEY_ID + "='" + model_personalZekr.getId() + "'"); return ; } دوستان من چند تا چیز رو نمی دونم اینکه چرا باید public boolean انتخاب کنم و دوم اینکه حالا باید return چی بدم بهش ؟ حالا که من از execSQL استفاده کردم اصلا درست هست ؟
  22. سلام خسته نباشید توی دیتابیسم چندتا ستون دارم به اسم کلمه،عکس و صدا ! کلمع و عکس رو توی اپ اوردم ولی مشکلم با صدا هستش،چجوری اینو وارد اپ کنم؟ آیا بصورت Blob اونو بزارم تو دیتابیس و لودش کنم یا اینکه تو دیتابیس فقط اسمشو بزارم؟ و نکته دیگه اینکه توی جاوا واسه اوردنش از چه کلاسی استفاده کنم؟(مثلا واسه عکس از بیت مپ استفاده کردم) ممنون میشم راهنماییم کنید
  23. سلام خسته نباشید من دیتابیسم اماده و داخلی هست دیتابیس رو با کدایی که پایین میبینید مقدارشو توی یک لیست hashmap ریختم و بصورت یک لیست ویو (با استفاده از یک simple adapter) اونو نشون دادم و بدون اشکال و مشکل اجرا میشه برای مثال کد زیر رو اینجا میبینید که بدرستی کار میکنه: این کدایین که توی کلاس database handler هم است که همون اپن هلپر رو ازش ارث بری کرده public List<HashMap<String , Object>> getWords() { Cursor cursor=db.rawQuery( "SELECT * FROM " + DB_TBL_WORDS_NAME,null); List<HashMap<String , Object>> words=new ArrayList<>(); while ( cursor.moveToNext() ) { HashMap<String , Object> temp=new HashMap<>(); temp.put("id", cursor.getString(0)); temp.put("word", cursor.getString(1)); temp.put("image",cursor.getString(2)); if (cursor.getString(3).equals("1")) { temp.put("see_flag",R.drawable.see); }else { temp.put("see_flag",R.drawable.not_see); } if (cursor.getString(4).equals("1")) { temp.put("fav_flag",R.drawable.is_favorite); }else { temp.put("fav_flag",R.drawable.not_favorite); } words.add(temp); } return words; } اینم کدایین که توی اون اکتیویتی که میخوام نمایش بدم : public class WordsActivity extends AppCompatActivity { private RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_words); setupRecyclerView(); getWordsFromDB(); } private void setupRecyclerView(){ recyclerView=(RecyclerView)findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new GridLayoutManager(WordsActivity.this,2,LinearLayoutManager.VERTICAL,false)); } private void getWordsFromDB(){ DatabaseHandler databaseHandler=new DatabaseHandler(this); List<Word> words=databaseHandler.getWords(); TextAdapter wordsAdapter=new TextAdapter(this,words); recyclerView.setAdapter(wordsAdapter); } اما مشکل جایی هست که من میخوام اینو توی یک ریسایکلر ویو و مشخصا یه آداپتر کامل بریزم !!! وقتی این کد زیر رو میزارم جای اون قبلیا و روش آداپتر ست میکنم و ریسایکلر ویوم رو،در واقع میگن این query که از دیتابیس میگیرم اون تیبل رو نمیتونه اصلا ایجاد کنه !!! اینم کدش public List<Word> getWords(){ List<Word> words =new ArrayList<>(); Cursor cursor=db.rawQuery("SELECT * FROM " +DB_TBL_WORDS_NAME, null); cursor.moveToFirst(); if (cursor.getCount()>0){ while (!cursor.isAfterLast()){ Word word=new Word(); word.setId(cursor.getInt(0)); word.setTitle(cursor.getString(1)); word.setImageview(cursor.getString(2)); words.add(word); cursor.moveToNext(); } } cursor.close(); db.close(); return words; } حاالا راه حل چیه باید چیکار کنم؟چرا اینا روی لیست ویو و سیمپل اداپترم میتونم ست کنم اما روی یک ریسایکلر ویو کامل نمیشه و دیتابیس و مشخصا اون تیبل words اصلا ساخته نمیشه؟!