رفتن به مطلب
  • 0

مشکل با آپدیت در بانک اطلاعاتی


idestudio

سوال

سلام دوستان

قبلا برای تنظیمات برنامه از کتابخانه LNsetting استفاده میکردم، که تصمیم گرفتم از بانک اطلاعاتی برای تنظیمات استفاده کنم (فکر کردم اصولی تره)

حالا با استفاده از spinner سایز، فونت، و چند آیتم دیگه رو تغییر میدم و توی بانک اطلاعاتی آپدیت میکنم

تا اینجا مشکلی ندارم، مشکل اینجاست که تا برنامه رو یک بار باز و بسته نکنم تغییرات اعمال نمیشه

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

ممنون میشم راهنمایی کنید

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

7 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

ببینید به نظر بنده بیایید از روش استاندارد استفاده کنید :

 

اما باز اگر تمایل دارید با دیتابیس با دیتابیس کار کنید بگید بیشتر راهنمایی کنیم.

اما SharedPreferencess عالیه

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

درود

راه آسونی که جلو پای شما هست اینه که توی تمام Activity Resume ها بیایید FontSize و TypeFace و .... رو مجدد از دیتابیس بخونید و آپدیت کنید

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

در هم اکنون، idestudio گفته است :

سلام دوستان

قبلا برای تنظیمات برنامه از کتابخانه LNsetting استفاده میکردم، که تصمیم گرفتم از بانک اطلاعاتی برای تنظیمات استفاده کنم (فکر کردم اصولی تره)

حالا با استفاده از spinner سایز، فونت، و چند آیتم دیگه رو تغییر میدم و توی بانک اطلاعاتی آپدیت میکنم

تا اینجا مشکلی ندارم، مشکل اینجاست که تا برنامه رو یک بار باز و بسته نکنم تغییرات اعمال نمیشه

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

ممنون میشم راهنمایی کنید

سلام . اینی که گفتی رو هنوز تحقیق نکردم ولی یه راه دیگر غیر اینی که دوستومون هم گفت هست .

 - شما بردار هر چیزی رو که می خواهی ذخیره کنی از دیتابیس استفاده نکن . ( اگه قرار 5 تا چیز ذخیره بشن . 5 تا فایل متنی بساز که توش ذخیره بشه هر چی می خواهی . خوبیش اینجاس که برای دریافت مقدار جدید نیاز نیست برنامه ات رو ببندی باز کینی )

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

ممنون از همه، تست میکنم، جواب میدم

softir عزیز به این دلیل که من فقط برای تنظیمات از بانک اطلاعاتی استفاده نکردم این روش جالب نیست

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

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

لطفا این کد رو ببینید

	settingcur = SQL1.ExecQuery("SELECT * FROM setting ")
	settingcur.Position = 0

این کد رو توی اکتیویتی Main (اسپلش) نوشتم

حالا درستش اینه که تو  Activity Resume کدوم اکتیویتی این کد رو بنویسم؟

ببینید من الان مثال رو برای بک گراند ها میزنم، توی تنظیمات یک اسپینر گذاشتم برای تغییر بک گراند صفحات به این صورت عمل میکنه

bg.Initialize(LoadBitmap(File.DirAssets,"bg/"& Main.Settingcur.GetString("bg")&"_setting.jpg"))
	Activity.Background = bg

که میاد عکس مورد نظر رو از بانک اطلاعاتی میخونه و به عنونان بک گراند اعمال میکنه، که این کد مربوط به بکگراند اکتیویتی تنظیمات هست

پوزیشن رو هم برای این برابر با صفر قراد دادم چون فقط رکورد اول رو آپدیدت میکنم و تنظیمات رو از اونجا میخونم

Sub theme_spinner_ItemClick (Position As Int, Value As Object)

    Main.sql1.ExecNonQuery("UPDATE setting SET bg = '"&Value&"' WHERE id = 0")

End Sub

کد اول رو به این صورت توی Activity Resume گذاشتم اما اخطار داد

Main.settingcur = Main.SQL1.ExecQuery("SELECT * FROM setting ")

 

اینم تیبل ستینگ

pcxx_untitled-1.jpg

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

ممنون آقای ایزدی

من میخوام که برنامه اصولی باشه

اگه  SharedPreferencess اصولی و بهتره، خوب از همین روش استفاده میکنم

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

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...