رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

از کدام روش برای ذخیره اطلاعات استفاده کنم؟


پست های پیشنهاد شده

دوستان سلام

من یه برنامه نویس تازه وارد اندروید هستم الان دارم یه برنامه مینویسم که داره یه سری اطلاعات رو از طریق جیسون دریافت میکنه و نمایش میده.من میخوام کاری کنم که این اطلاعات بعد از دریافت در برنامه ذخیره بشه و در صورت عدم دسترسی به اینترنت از آخرین اطلاعاتی که دریافت کرده استفاده بکنه.بنظر شما برای انجام این کار من از چی استفاده کنم و راه حلتون چیه؟

همچنین میخوام برای اولین بار که برنامه نصب شد یه سری اطلاعات پیش فرض در برنامه وجود داشته باشه و با دسترسی به اینترنت همون اطلاعات دریافتی از جیسون بجای این اطلاعات پیش فرض قرار بگیره و در مراجعه بعدی از این آپدیت ها استفاده کنه.

اگه لطف کنید راهنمایی کنید خیلی خیلی ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من از روش SQLiteAssetHelper برای گرفتن دیتابیس آماده استفاده کردم اما برنامه موقع رسیدن به این کلاس استپ میشه و از برنامه خارج میشه 

میشه بگید مشکل چیه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای اینکه بتونید با SQLiteAssetHelper از دیتابیس خارجی استفاده کنید باید توی فولدر assets یه فولدر به نام databases ایجاد کنید و فایل دیتابیستون رو که با فرمت db یا sqlite هستش رو توی فولدر databases بزارین و بعد توی کلاسی که درست کردید اسم دیتابیس رو بهش بدید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

من توی کلاسم این تابع رو تعریف کردم که اطلاعات یک فیل خاص رو بهم میده

public String getString(String query,String columnName) {

//query mesle : "SELECT * FROM data"

SQLiteDatabase sql = this.getWritableDatabase();

Cursor c = sql.rawQuery(query, null);

c.moveToFirst();

return c.getString(c.getColumnIndex(columnName));

}

حالا که میخوام اونو به این شکل در تکت ویو نشون بدم برنامه استپ میشه

tv.setText(db.getString("SELECT * FROM tbl_historical_place WHERE id=1","name"));

واسه تست من این کار رو روی toast انجام دادم و مشکلی نداشت و نشون داد

Toast.makeText(HelpActivity.this,db.getString("SELECT * FROM tbl_historical_place WHERE id=1", "name"),Toast.LENGTH_SHORT).show();

اما من میخوام توی تکست ویو نمایشش بدم مشکل از کجاست؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

01-31 11:20:16.225 28864-28864/ir.kazeroonkadeh.kazeroon E/AndroidRuntime: FATAL EXCEPTION: main

java.lang.RuntimeException: Unable to start activity ComponentInfo{ir.kazeroonkadeh.kazeroon/ir.kazeroonkadeh.kazeroon.HelpActivity}: java.lang.NullPointerException

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2372)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)

at android.app.ActivityThread.access$600(ActivityThread.java:169)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)

at android.os.Handler.dispatchMessage(Handler.java:107)

at android.os.Looper.loop(Looper.java:194)

at android.app.ActivityThread.main(ActivityThread.java:5433)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:525)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)

at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.NullPointerException

at ir.kazeroonkadeh.kazeroon.HelpActivity.onCreate(HelpActivity.java:21)

at android.app.Activity.performCreate(Activity.java:5179)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)

at android.app.ActivityThread.access$600(ActivityThread.java:169)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)

at android.os.Handler.dispatchMessage(Handler.java:107)

at android.os.Looper.loop(Looper.java:194)

at android.app.ActivityThread.main(ActivityThread.java:5433)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:525)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)

at dalvik.system.NativeStart.main(Native Method)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اکتیویتیم کلا جواب میده واردشم میشم میگم که با toast به نتیجه میرسم ولی فقط با تکست ویو که settext میکنم مشکل داره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

یا تکست ویو رو اشتباه کردی یا اصلا تعریف نکرید

گاهی برای خودم پیش اومده بجای textview نوشتم Edittext !!

چک کن ببین چه کردی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...