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

مشکل در ذخیره و خواندن با Map


reza10wert

سوال

سلام

کدم رو زیر گذاشتم

روند اینه که وقتی کاربر اطلاعات صحیح وارد کرد ، کلیه اطلاعاتش در Map ذخیره میشه . حالا اگر موفقیت آمیز بود اطلاعات رو از گوشی میگیره و نمایش میده ( Toast ) . مشکل اینه که وقتی کاربر A وارد شد اطلاعاتش ذخیره میشه ولی وقتی کاربر B اطلاعات رو وارد میکنه ، وارد میشه ولی اطلاعات جدیدش ذخیره نمیشه یا اگر ذخیره میشه هنگام خوش آمدی گویی به کاربر قبلی ( A ) خوش آمد میگه در صورتی که باید به B خوش آمد بگه

 

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

#Region  Activity Attributes 
	#FullScreen: True
	#IncludeTitle: False
#End Region

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

End Sub

Sub Globals
	Dim CheckUsername As HttpJob
	Private username As EditText
	Private password As EditText
	
	Dim mapUserDataForSave As Map
	Dim mapUserDataForRead As Map
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("login")
	mapUserDataForSave.Initialize
	mapUserDataForRead.Initialize
	
	If File.Exists(File.DirInternal , "userdatelogin.txt") = True Then
		mapUserDataForRead = File.ReadMap(File.DirInternal , "userdatelogin.txt" )
		
		If mapUserDataForRead.Get("username")<>Null  Then
			username.Text = mapUserDataForRead.Get("username")
			password.Text = mapUserDataForRead.Get("password")
		End If
	End If
	'Msgbox(mapUserDataForRead.Get("family") , "" )

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub btn_login_Click
	If functions.isConnected = True Then
		CheckUsername.Initialize("CheckUsername" , Me )
		CheckUsername.download2("آدرس سایتم", Array As String ("apkloginusername", username.Text , "apkloginpassword", password.Text)) 
	Else
		Msgbox("عدم اتصال به اینترنت" , "خطا")
	End If
	If mapUserDataForRead.Get("username") <> "" Or mapUserDataForRead.Get("username") <> Null Then
		ToastMessageShow("کاربر عزیز (" & mapUserDataForRead.Get("gender") & " " & mapUserDataForRead.Get("family") & ") خوش آمدید",True)
		'StartActivity(dashboard)
	End If			

End Sub

Sub JobDone (Job As HttpJob)
	If Job.Success = True Then
		If Job.JobName = "CheckUsername" Then
			Dim user_data_for_save() As String
			Dim user_data_from_server As String
			user_data_from_server=Job.GetString
			user_data_for_save=Regex.Split("##@##",user_data_from_server)
			
			If File.Exists(File.DirInternal , "userdatelogin.txt") = True Then
					File.Delete(File.DirInternal , "userdatelogin.txt")
			End If
			
			Dim counter As Int = 0
				
			For Each get As String In user_data_for_save
				Select counter
					Case 0
						mapUserDataForSave.Put("username" , get )
					Case 1
						mapUserDataForSave.Put("password" , get )
					Case 2
						mapUserDataForSave.Put("name" , get )
					Case 3
						mapUserDataForSave.Put("family" , get )
					Case 4
						mapUserDataForSave.Put("phone" , get )
					Case 5
						mapUserDataForSave.Put("email" , get )
					Case 6
						mapUserDataForSave.Put("finance" , get )
					Case 7
						mapUserDataForSave.Put("point" , get )
					Case 8
						mapUserDataForSave.Put("register_date" , get )
					Case 9
						mapUserDataForSave.Put("gender" , get )
				End Select
				counter = counter + 1
			Next
			File.WriteMap(File.DirInternal , "userdatelogin.txt" , mapUserDataForSave )
'			If mapUserDataForRead.Get("username") <> "" Or mapUserDataForRead.Get("username") <> Null Then
'				ToastMessageShow("کاربر عزیز (" & mapUserDataForRead.Get("gender") & " " & mapUserDataForRead.Get("family") & ") خوش آمدید",True)
'				'StartActivity(dashboard)
'			End If			
			
		Else
			ToastMessageShow("Error: " & Job.ErrorMessage, True)
		End If
	Job.Release
	End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

میخوای وقتی روی لاگین زد بگه؟ خب شما اطلاعات کاربر قبلی رو میگیرید و بهش خوش آمد میگید

یا میخوای وقتی JobDone شد بگه کاربر B خوش آمدید؟

خب اینم معلومه از کجاست شما اول کار اومدی اطلاعات کاربر A رو دادی و هیچ جا تغییر ندادی اگه میخوای توی JobDone بگه بعد اینکه WriteMap کردی بیا یه بار دیگه این خط رو بزار البته بعد WriteMap

		mapUserDataForRead = File.ReadMap(File.DirInternal , "userdatelogin.txt" )
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

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

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