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,你值得拥有哦!