◆当点 SAVE 按钮时,将会调用 Javasccript 中的 createAccount()方法。
◆在 Javasccript 中的 createAccount()方法中,获得用户的输入的帐号名,即使用
'#accountName').val() 获 得 其 值 , 然 后 通 过 调 用 后 端 Android Java 应 用 中 的
createAccount 方法去保存帐户名。跟后端 Android Java 的交互,在本系列的第一篇教程中有
提到,如果不大清楚,请查看第一篇教程。
下面看下后端的
Android Java 应用中的 createAccount 方法如何编写。
19
import android.accounts.AccountManager; import android.accounts.Account;
20
... public class ContactsActivity extends Activity {
21
... private String accountType = null;
22
... public void onCreate(Bundle savedInstanceState) {
23
... accountType = "com.jquerymobile.demo.contact";
24
... }
25
public void createAccount(String accountN, String displayPage){
26
if(accountN != null && !"".equals(accountN)){ accountNaccountName =
accountN;
27
AccountManager.get(this).addAccountExplicitly(new
Account(accountName,accountType), "dummyPassword", null); }
28
loadPage(displayPage); }
29
... }
下面讲解下这段代码:
◆实际上帐号的创建是通过 android.accounts.AccountManager 类去创建的。Android2.0 中
加入了一个新的包
android.accounts,该包主要包括了集中式的账户管理 API,用以安全地
存储和访问认证的令牌和密码,比如,我们的手机存在多个账户,每个账户下面都有不同
的信息,甚至每个账户都可以与不同的服务器之间进行数据同步
(例如,手机账户中的联系
人可以是一个
Gmail 账户中的通讯录,可联网进行同步更新)。
这 里 首 先 通 过
AccountManager.get() 获 得 了 它 的 一 个 实 例 , 接 着 调 用 其
addAccountExplicitly 方 法 , 创 建 了 一 个 新 的 帐 号 , 和 密 码 ( 这 里 的 密 码 默 认 是
dummyPassword),当帐号创建完后,将回调 HTML 页面,这里通过 loadPage 方法去加载回
调
HTML 页面。
◆为了能调用 Android API 中的创建帐号的功能,必须在 AndroidManifest.xml 中进行如
下设置,声明一个
intent-filter:
30
<intent-filter> <action android:name="android.accounts.AccountAuthenticator"/>
31
</intent-filter>
◆除此之外,必须在 meta-data 中声明帐号验证器如下: