2015-09-03 109 views
-7

以前我創建的Android應用程序中,我存儲在共享首選項中註冊數據,並使用此數據我成功登錄到我的應用程序。這種方法的缺點是每次我遵循完整的註冊程序,然後登錄,因爲共享偏好是臨時存儲在移動設備中的數據。而且我不會登錄我的舊電子郵件ID,因爲舊ID不會優先存儲。每次新的電子郵件覆蓋以前。 但現在我想創建登錄表單,像原來的應用程序登錄form.means工作,一旦我使用註冊創建帳戶,然後我用我的ID登錄...如果我再次打開我的應用程序,而不是按照完整註冊程序我只需使用我的ID登錄。註冊並在Android登錄表格

+1

你想要什麼?使其簡單 – Moudiz

+0

如何?請幫助。因爲我是android開發新手。我希望每次用戶安裝應用程序。所以他會從現有的電子郵件ID登錄,而不是遵循所有的註冊過程,因爲在我的應用程序的用戶重新安裝應用程序,並遵守所有的註冊過程,因爲我存儲在sahred偏好 –

回答

0

SharedPreferences是android中的臨時存儲選項。直到用戶卸載應用程序或手動清除應用程序管理器中的緩存/內存之前存儲的數據。 你想要什麼是不可能的本地。你確實需要做web服務。基本概要是將您的註冊數據移至服務器。 每次用戶登錄憑證都將通過webservice與存儲在服務器上的數據相匹配。

+0

好的。我明白了你的觀點,所以我也發佈了我的活動數據,以使用排球。所以在此之後,我做了什麼。我得到服務器的迴應??所以我知道如何發佈數據,但不知道如何得到迴應,所以你可以幫忙嗎? –

0

你的問題不是很清楚,但我從中得到的是,我想你想檢查用戶是否有alrady帳戶,那麼註冊過程應該跳過,否則,如果他還沒有簽署高達那麼他應該直接在瀏覽活動

註冊活動,而隨後的跡象。如果是這樣,那麼下面的方向是適用

主要活動檢查

1.On開始。如果用戶有電子郵件ID和密碼保存在共享首選項中,檢查電子郵件ID和密碼是否存在,以及共享首選項是否爲空,意味着他已經擁有帳戶,因此註冊過程應該是skipp ED

這裏是上述

1. if (sharedPrefrences.getEmailId("your key name")!=null && !sharedPrefrences.getEmailId("your key name").isEmpty) 
{ //if the shared prefrences is not null and has value 
startActivity(new Intent(MainActivity,loginActivity); 
}else{ 

startActivity(new Intent(MainActivity,loginActivity); 
} 

給出的解決方案的演示僞代碼,所以這是你如何使用您的登錄偏好小描述。我沒有提到共享首選項的過程,因爲你已經實現了它。

編輯2在服務器

的情況下,如果服務器在檢查日誌然後執行以下操作 1.保持跟蹤,如果用戶正在運行你的應用程序的第一次,讓你可以向他展示註冊活動,一旦他註冊了,那麼當他再次運行他的應用程序時,它不應該回來顯示用戶。更好的事情是不要擔心活動使兩個按鈕,並顯示他的登錄和註冊按鈕,以便用戶足夠聰明,以便不能創建帳戶時,再次創建。

  1. 用戶下次登錄後,在登錄按鈕上,您應該要求他輸入憑據,例如電子郵件ID或用戶名和密碼,取出這些用戶名和密碼並通過你設計的api發送到服務器,然後你很好地從服務器回覆中去,假設服務器的錯誤代碼是0並且消息被登錄,顯示用戶這個消息,讓supposer錯誤代碼是1,那麼消息可能是不正確的用戶名或密碼,並在錯誤3您可以顯示用戶名不存在,所以這是一個想法,我給你,它很容易實現你自己的登錄服務。

我希望這會幫助你。

+0

在我的應用程序,我有我的主屏幕上的兩個按鈕標記P數據登錄和註冊。 1)如果我點擊註冊表格會出現,我填寫它,然後註冊。 2)如果我點擊登錄按鈕並按下登錄按鈕我的應用程序會崩潰,因爲我的共享偏好是空後填寫登錄表單。我不遵循註冊程序。 –

+0

但我想這個,我在我的應用程序中創建了一個帳戶。並一次又一次我安裝我的應用程序或重新啓動我的手機,如果我打開我的應用程序,我只需登錄我的應用程序。我不會再在我的應用程序中註冊。我的前道工序 缺點是我重新創建我的帳戶,如果我重新安裝應用程序,因爲我的共享偏好數據不是永久存儲 –

+0

否則,如果你給我您的電子郵件ID,我會發送ü我的代碼,那麼可能是你會得到我的點 –