Android開發(fā):記住你的用戶
當(dāng)您記住他們的名字時(shí),每個(gè)人都會很喜歡。最簡單的一個(gè)例子,您能夠做的,讓您的應(yīng)用更加受人喜愛的,最有效的方法是記住您的用戶是誰——尤其是當(dāng) 用戶使用一個(gè)新的設(shè)備,或者是開始像攜帶電話一樣攜帶平板電腦時(shí)。但您如何知道您的用戶是誰?您如何在一個(gè)新的設(shè)備上認(rèn)出他們?
對于大多數(shù)應(yīng)用來說,答案是AccontManager API。使用user's permission,您可以使用裝好管理器取得用戶儲存在他們設(shè)備上的賬號名。
集成用戶的賬號可以讓您做各種各樣的事情,例如:
- 使用用戶的email地址自動填充表格。
 - 取得一個(gè)綁定到用戶而不是設(shè)備的ID。
 
確定您的賬戶管理器
應(yīng)用基本上都是使用下述三種技術(shù)中的一個(gè)來記住用戶的:
- * 請求用戶鍵入用戶名
 - * 檢索唯一的設(shè)備ID來記住這個(gè)設(shè)備
 - * 通過AccontManager檢索內(nèi)置的賬號
 
選項(xiàng)(1)是有問題的。首先,讓用戶在進(jìn)入您的應(yīng)用之前鍵入用戶名會讓您的應(yīng)用缺乏吸引力。其次,無法保證選擇的用戶名是唯一的。
選項(xiàng)(2)對用戶來說是省事的,但達(dá)成它是比較棘手的。更重要的是,這種方法只會允許您在同一個(gè)設(shè)備上記住用戶。想象一下某人升級了一個(gè)牛逼閃閃的新設(shè)備,但卻發(fā)現(xiàn)您的應(yīng)用沒有記住他的挫折感。
選項(xiàng)(3)是首選。賬戶管理器允許您獲取存儲在用戶設(shè)備上的賬戶信息。正如我們在本節(jié)看到的,使用賬戶管理器使您只需要向您的UI添加一對額外的接口就能夠記住用戶,而和用戶擁有多少設(shè)備無關(guān)。
決定使用賬戶的類型
Android設(shè)備可以儲存來自不同提供商的多個(gè)賬戶。當(dāng)您向AccontManager請求賬戶名時(shí),您可以通過賬戶類型過濾器來選擇。賬戶類型是一個(gè)字符串,它唯一標(biāo)示了實(shí)體創(chuàng)建的賬號。例如Google賬號擁有一個(gè)"com.google"的類型,而Twitter使用"com.twitter.android.auth.login"的賬戶類型。
請求GET_ACCOUNT權(quán)限
In order to get a list of accounts on the device, your app needs the GET_ACCOUNTS permission. Add a tag in your manifest file to request this permission:
為了獲取設(shè)備上的賬戶列表,您的應(yīng)用需要GET_ACCOUNTS權(quán)限。在您的manifest文件中添加標(biāo)簽來請求這個(gè)權(quán)限:
- <manifest ... >
 - <uses-permission android:name="android.permission.GET_ACCOUNTS" />
 - ...
 - </manifest>
 
向賬戶管理器請求賬戶列表
當(dāng)您決定了您所感興趣的賬戶類型,您需要查詢此類型的賬戶.調(diào)用AccountManager.get())可以獲得一個(gè)AccountManager實(shí)例。然后使用這個(gè)實(shí)例來調(diào)用getAccountsByType()) 。
- AccountManager am = AccountManager.get(this); // "this" references the current Context
 - Account[] accounts = am.getAccountsByType("com.google");
 
使用賬號對象個(gè)性化您的應(yīng)用
賬號對象包含一個(gè)賬戶名,Google賬戶的賬戶名是一個(gè)email地址。您可以用不同的方法來使用這個(gè)信息,例如:
- * 作為表單的自動填充選項(xiàng),這樣用戶就不必手動輸入賬號信息。
 - * 作為進(jìn)入您自己在線的,儲存使用和個(gè)性化信息的數(shù)據(jù)庫密匙。
 
決定只要用戶名是否足夠
賬戶名是記住用戶的好方法,但是Accont對象自身不保護(hù)您的數(shù)據(jù),也不會給您除了用戶的賬戶名以外的任何信息。如果您的應(yīng)用需要允許用戶去在想訪問私 人數(shù)據(jù),您需要一些更強(qiáng)壯的方法:authentication(認(rèn)證)。下一節(jié)解釋了如何使用現(xiàn)有的在線服務(wù)進(jìn)行用戶驗(yàn)證。之后一節(jié)有關(guān)寫一個(gè)自定義驗(yàn) 證器使您能夠安裝您自己的賬戶類型。















 
 
 






 
 
 
 