alimaha 12 ارسال شده در 30 خرداد، 2018 اشتراک گذاری ارسال شده در 30 خرداد، 2018 ارور بالا به خاطر مقدار عدد ورژن دیتابیس بود که حل شد اما الان مقدار در تکست ویو نمایس نمی ده و ارور زیر می ده ارور 3-30 11:14:20.077 11261-11261/? E/AndroidRuntime: in writeCrashedAppName, pkgName :cqq2.xample.edik.squiltest3 03-30 11:14:20.077 11261-11261/? D/AndroidRuntime: file written successfully with content: cqq2.xample.edik.squiltest3 StringBuffer : ;cqq2.xample.edik.squiltest3 03-30 11:14:20.077 11261-11261/? E/AndroidRuntime: FATAL EXCEPTION: main Process: cqq2.xample.edik.squiltest3, PID: 11261 java.lang.RuntimeException: Unable to start activity ComponentInfo{cqq2.xample.edik.squiltest3/cqq2.xample.edik.squiltest3.MainActivity}: android.database.sqlite.SQLiteException: near "index": syntax error (code 1): , while compiling: SELECT * FROM fa_makarem WHERE index=5 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$800(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5021) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) at dalvik.system.NativeStart.main(Native Method) Caused by: android.database.sqlite.SQLiteException: near "index": syntax error (code 1): , while compiling: SELECT * FROM fa_makarem WHERE index=5 at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314) at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253) at cqq2.xample.edik.squiltest3.MyDatabase.getString(MyDatabase.java:58) at cqq2.xample.edik.squiltest3.MainActivity.onCreate(MainActivity.java:29) at android.app.Activity.performCreate(Activity.java:5397) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) کد برنامه MyDatabase db=new MyDatabase(this); Button bt1 = (Button) findViewById(R.id.button); ListView lv1=(ListView)findViewById(R.id.lv1); ArrayAdapter adapter =new ArrayAdapter(this,android.R.layout.simple_list_item_1,db.getListOfRow("SELECT * FROM fa_makarem","text")); lv1.setAdapter(adapter); TextView tv1=(TextView)findViewById(R.id.textView); tv1.setText(db.getString("SELECT * FROM fa_makarem WHERE index=5", "text")); در دیتابیس بنده به جای id کلمه index نوشته شده است لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
t0p 2 ارسال شده در 30 خرداد، 2018 اشتراک گذاری ارسال شده در 30 خرداد، 2018 در در 1396/12/26, 01:46:45، Gray Mind گفته است : واسه اینکار شما میای و یه کلاس مدل میسازی برای مثال : public class ContactModel { private int id ; private String Name; private String Number; private String Photo_Uri; public void setId(int id) { this.id = id; } public void setName(String name) { Name = name; } public void setNumber(String number) { Number = number; } public int getId() { return id; } public String getName() { return Name; } public void setPhoto_Uri(String photo_Uri) { Photo_Uri = photo_Uri; } public String getPhoto_Uri() { return Photo_Uri; } public String getNumber() { return Number; } } خوب برای نمونه من کدای مدل مخاطبین خودمو گذاشتم حالا توی کلاس دیتابیستون یه متد میسازی و از نوع جنریک ArrayList که میگیم تو هر سطر لیستمون آبجکت هایی داریم از نوع کلاس مدل مخاطبینمون و بعد مثل کد زیر یه شی از کلاس مدل میسازیم و مقادیر رو با ستر ها توی حلقه ست میکنیم و در آخر به لیستمون اضافه ش میکنیم : public ArrayList<ContactModel> getBlackList(){ ArrayList<ContactModel> list = new ArrayList<>(); Cursor cursor = sql.rawQuery("select * from blacklist",null); while (cursor.moveToNext()){ CallBlockWhiteBlackListModel model = new CallBlockWhiteBlackListModel(); model.setId(cursor.getInt(cursor.getColumnIndex("id"))); model.setName(cursor.getString(cursor.getColumnIndex("name"))); model.setNumber(cursor.getString(cursor.getColumnIndex("number"))); model.setPhoto_Uri(cursor.getString(cursor.getColumnIndex("photo_uri"))); list.add(model); } return list; } همین موفق باشی ممنون،اما برای نمایش این کدها رو زدم جواب نداد... واسه ریسایکلرویو همین کد درست هست اما لیست ویو خیر adapter: public class MAdapter extends ArrayAdapter<Model>{ List<Model> itemes= Collections.emptyList(); public MAdapter(Context context, ArrayList<Model> records){ super(context,0,records); } public View getView(int position, View convertView, ViewGroup parent){ // String item=getItem(position); if (convertView==null){ convertView= LayoutInflater.from(getContext()).inflate(R.layout.item,parent,false); } final TextView txt=(TextView)convertView.findViewById(R.id.textView); final TextView txt2=(TextView)convertView.findViewById(R.id.textView2); txt2.setText(itemes.get(position).getFarsi()); txt.setText(itemes.get(position).getEng()); return convertView; } } MainActivity: public class MainActivity extends AppCompatActivity { //private ArrayList<Model> arrayList =new ArrayList<Model>(); private List<Model> a= Collections.emptyList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView=(ListView)findViewById(R.id.listv); MyDatabase db=new MyDatabase(this); MAdapter mAdapter=new MAdapter(this,a); listView.setAdapter(mAdapter); } } لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.