2017-04-20 48 views
0

我正在製作社交媒體Android應用程序。第一次打開應用程序時,用戶需要註冊或登錄。現在,顯然,我想存儲該登錄信息,以便用戶每次啓動應用程序時都不必登錄。我可以簡單地將登錄詳細信息存儲在SharedPreferences中,但我聽說過SyncAdapter,這是SyncAdapter的主要用途(也用於後臺同步)。我不需要後臺同步。 SyncAdapter如何工作?因爲我使用的是Java服務器來保存在線數據庫的數據,所以我怎麼配置Java服務器來爲任何需要的oAuth。我不要想訪問其他網絡(Facebook,Twitter等)的數據。我希望用戶使用電子郵件,用戶名和密碼進行註冊。沒有其他要求。 SharedPreferences是更好的選擇嗎?我是否需要爲我的應用使用SyncAdapter?

回答

0

你不需要在SharedPreferences中保存用戶的登錄細節你可以做的是讓用戶登錄到你的服務器,當登錄成功時返回一個token到android應用程序。將該令牌保存到SharedPreferences,然後您必須檢查sharedPreferences是否有有效令牌。如果有有效令牌,那麼讓用戶使用應用程序,如果token無效或null重定向用戶登錄屏幕。 我希望這會對你有所幫助。

更新 您可以使用JWT令牌。這是一個有用的資源,爲https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/。您需要使用JWT Auth流程來探索REST API。

+0

它有點幫助我。我如何檢查令牌的有效性?有沒有一個標準的方法來做到這一點? –

+0

@SakshamChawla我已經更新了我的回答 –

0

在這裏有很多問題很安靜。

1st:保存登錄狀態,以便您不要求用戶再次登錄。

是的,你可以在SharedPreferences

第二個做到這一點:如何將同步適配器的工作?

開發商網站對此非常清楚。你可以看看here

第3:如何配置您的應用程序以調用java服務器?

您可以簡單地使用AsyncTask並調用API。或者爲更好的性能和無錯誤的電話,你可以使用Retrofit

我希望我的答案有幫助。

+0

如何在SharedPreferences中存儲登錄信息是我的問題。保存用戶名和密碼顯然不安全。我知道如何使用AsyncTask進行HTTP連接,我的問題是如何發送令牌或在我的服務器上使用oAuth。 –

相關問題