alimaha 12 ارسال شده در 10 فروردین، ۱۳۹۷ اشتراک گذاری ارسال شده در 10 فروردین، ۱۳۹۷ ارور بالا به خاطر مقدار عدد ورژن دیتابیس بود که حل شد اما الان مقدار در تکست ویو نمایس نمی ده و ارور زیر می ده ارور 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 ارسال شده در 10 فروردین، ۱۳۹۷ اشتراک گذاری ارسال شده در 10 فروردین، ۱۳۹۷ در در 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); } } لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.