Android特色开发(5):账户管理

Android特色开发之账户管理

参考链接:http://yarin.blog.51cto.com/1130898/479032

Android2.0中加入了一个新的包android.accounts,该包主要包括了集中式的账户管理API,用以安全地存储和访问认证的令牌和密码,比如,我们的手机存在多个账户,每个账户下面都有不同的信息,甚至每个账户都可以与不同的服务器之间进行数据同步(例如,手机账户中的联系人可以是一个Gmail账户中的通讯录,可联网进行同步更新)。

android.accounts包提供了的功能:

该示例实现了账户添加功能,可以添加多个账户来集中管理。

程序运行界面如图9-27所示,点击“新建账户”按钮后,就可以添加账户的相关信息,如图9-28所示。

该示例中一共新建了4个账户,因此在退出程序、点击新建联系人时,会出现如图9-29所示的界面来提示用户选择在哪一个账户中创建联系人,这样使得每个账户独立隔开,又统一管理,非常方便。

图9-29  新建联系人

由于在该示例中对用户账户信息进行了操作,因此首先要确保在AndroidManifest.xml文件中对操作权限进行声明,以及确定API等级为5,代码如下:

<uses-sdk android:minSdkVersion="5"/> 
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/></uses-permission> 
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"></uses-permission> 
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission> 
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>

我们需要通过AccountManager类的get方法来取得AccountManager对象:

//取得AccountManager对象

AccountManager  _am = AccountManager.get(this);

在AccountManager中提供了很多方法来供我们管理这些账户,常用方法如表所示。

通过这些方法就可以很轻松地操作这些账户数据,比如,将指定类型的账户信息全部列出来,代码如下:

/* 显示出所有账户 */ 
private void listAccounts()  
{  
    /* 得到指定类型的账户 */ 
    Account[] accounts = _am.getAccountsByType(getString(R.string.ACCOUNT_TYPE));  
    _accountList.setText("账户列表:");  
    for (Account account : accounts)  
    {  
        _accountList.setText(_accountList.getText().toString() + '\n' +   
        account.name + " - " + account.type);  
    }  
}

小结

本章内容之间的联系不是很紧密,都是一些Android中的特色功能,也正是这些功能吸引了不少开发者和用户。这些特色功能主要包括:Android中传感器的使用、语音识别技术、Google Map API在Android中的使用和出色的桌面组件开发,最后学习了Android中账户管理功能的简单实现。这些功能在日常生活中运用得也比较广泛,比如GPS导航、路径规划等,希望大家着重理解本章的内容,开发出具有创意的应用。

具体代码下载链接:http://www.apkbus.com/android-117200-1-1.html

 

喜欢开源,乐意分享的大神们,欢迎加入QQ群:176507146,你值得拥有哦!

作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处 http://klcf0220.cnblogs.com/ !!!
原文地址:https://www.cnblogs.com/klcf0220/p/3090919.html