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

ذخیره سازی


phd.khosravi

سوال

سلام به همه دوستان

 

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

حالا میخوام بدون اینکه پوشه یا فایلی بسازم این ذخیره سازی عدد رو انجام بده.

 

ممنون میشم اگه کسی بلده کمک کنه

Sub Globals
	Dim adad As Int = 1
End Sub
Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("ASD")
	
	If File.Exists(File.DirInternalCache,"eshq.stg") = True Then
		Dim list1 As List
		list1.Initialize
		list1 = File.ReadList(File.DirInternalCache,"eshq.stg")
		adad = list1.Get(0)
	End If 
End Sub
Sub Button1_Click
	adad = adad + 1
	Dim list1 As List
	list1.Initialize
	list1.add(adad)
	File.WriteList(File.DirInternalCache,"eshq.stg",list1)
	Log (adad)
End Sub

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

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

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

داداش سپهر فکر کنم دقیق متوجه نشدی

من میخوام وقتی روی باتن کلیلک شد به ازای هر کلیک مقدارش یکی زیاد بشه بعد که دوباره وارد برنامه شدم از آخرین عددی که تو حافظه مونده ادامه بده.

 

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

 

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

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

خب دوست من یک دیتابیس بسازید کارتون دیگه راحته.

و هر دفعه بیایید شما مقدار adad  رو توی رویداد Pause  توی فیلد UPDATE  کنید یا اصلا همونجا توی دکمه جایی که افزایش میدید توی دیتابیس واردش کنید.

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

داداش سپهر فکر کنم دقیق متوجه نشدی

من میخوام وقتی روی باتن کلیلک شد به ازای هر کلیک مقدارش یکی زیاد بشه بعد که دوباره وارد برنامه شدم از آخرین عددی که تو حافظه مونده ادامه بده.

 

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

 

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

برادر این عدد با استفاده از هر کتابخونه ای بلاخره باید یک جا ذخیره بشه دیگه

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


Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
Dim p As PreferenceManager
End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private Label1 As Label
	Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Layout1")
	Label1.Text="number is " & getint
End Sub
Sub getint As Int
Dim i As Int = 0
Dim s As String = 0
s=p.GetString("number")
'If s.CompareTo("")=0 Then s="0"
i=s
Return i
End Sub
Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub Button1_Click
	If getint<10 Then
	Dim s As String
	s=getint+1
	p.SetString("number",s)
	Label1.Text="number is " & getint
	Else
	ToastMessageShow("خطا عدد 10 میباشد",False)
	End If 
End Sub

تو دیزاینر فقط یه لیبل و یه باتن بذارید. 

 

اینجور چیزی میخواستم که یکی از دوستان مشکلاتمو برطرف کرد و حل شد. شاید به درد شما هم بخوره

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

شما میتونید در سرویس پایدار این عدد رو نگهداری کنید

ولی اصلا کار درستی نیست

1.اگه تلفن restart , shutdown بشه حافظه از ذست میره

2.اگه بند یک اتفاق نیوفتاد چون داده ها در رم گوشی ذخیره میشه حجم رم رو به شدت تصاحب میکنه و باعث عملکرد نادرست دستگاه میشه

 

اگه دسترسی داری به سرور می تونید به صورت آنلاین  اینکارو بکنید که آقای قاسمی نیا آموزشهای مربوط رو در فروشگاه قرار دادن

و اگه ندارید باید از همون فایل stg خودتون و یا دیتابیس استفاده کنید در پناه حق باشید

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

کسی نبود ؟

 

یکی میگفت با کتابخونه preferenceactivity میشه. کسی کار کرده با این کتابخونه ؟

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

کسی نبود ؟

 

یکی میگفت با کتابخونه preferenceactivity میشه. کسی کار کرده با این کتابخونه ؟

 

بله میشه اینم کد ها :

	Dim Pr As PreferenceManager
	If Pr.GetBoolean("pay") = True Then
		'نسخه ویژه
	Else
		'نسخه عادی
	End If

بعد از پرداخت :

Pr.SetBoolean("pay",True)

کتابخونه preferenceactivity رو تیک بزنید.

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

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

استفاده از سرور مشکلات خاص خود را دارد. که آن هم در خیلی از موارد توصیه نمیشه.

روش جایگزین استفاده از روش استانداری است که در جاوا هم استفاده میشه واون استفاده از کتابخانه ی preference activity یا Ahpreference activity

این روش توابعی دارد که مستقیماً هم می توان بعنوان تنظیمات استفاده کرد و هم موارد دیگر 

 

مثال ضمیمه شد.

FILE.zip

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

بایگانی شده

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

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

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