如何使你的Android应用记住曾经使用过的账户信息
原文:http://android.eoe.cn/topic/android_sdk
当您记住他们的名字时,每个人都会很喜欢。最简单的一个例子,您能够做的,让您的应用更加受人喜爱的,最有效的方法是记住您的用户是谁——尤其是当用户使用一个新的设备,或者是开始像携带电话一样携带平板电脑时。但您如何知道您的用户是谁?您如何在一个新的设备上认出他们?
对于大多数应用来说,答案是AccontManager API。使用user's permission,您可以使用装好管理器取得用户储存在他们设备上的账号名。
集成用户的账号可以让您做各种各样的事情,例如:
- 使用用户的email地址自动填充表格。
- 取得一个绑定到用户而不是设备的ID。
确定您的账户管理器
应用基本上都是使用下述三种技术中的一个来记住用户的:
- * 请求用户键入用户名
- * 检索唯一的设备ID来记住这个设备
- * 通过AccontManager检索内置的账号
选项(1)是有问题的。首先,让用户在进入您的应用之前键入用户名会让您的应用缺乏吸引力。其次,无法保证选择的用户名是唯一的。
选项(2)对用户来说是省事的,但达成它是比较棘手的。更重要的是,这种方法只会允许您在同一个设备上记住用户。想象一下某人升级了一个牛逼闪闪的新设备,但却发现您的应用没有记住他的挫折感。
选项(3)是首选。账户管理器允许您获取存储在用户设备上的账户信息。正如我们在本节看到的,使用账户管理器使您只需要向您的UI添加一对额外的接口就能够记住用户,而和用户拥有多少设备无关。
决定使用账户的类型
Android设备可以储存来自不同提供商的多个账户。当您向AccontManager请求账户名时,您可以通过账户类型过滤器来选择。账户类型是一个字符串,它唯一标示了实体创建的账号。例如Google账号拥有一个"com.google"的类型,而Twitter使用"com.twitter.android.auth.login"的账户类型。
请求GET_ACCOUNT权限
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:
为了获取设备上的账户列表,您的应用需要GET_ACCOUNTS权限。在您的manifest文件中添加标签来请求这个权限:
1 |
<manifest ... > |
向账户管理器请求账户列表
当您决定了您所感兴趣的账户类型,您需要查询此类型的账户.调用AccountManager.get())可以获得一个AccountManager实例。然后使用这个实例来调用getAccountsByType()) 。
1 |
AccountManager am = AccountManager.get(this); // "this" references the current Context
Account[] accounts = am.getAccountsByType("com.google");
|
使用账号对象个性化您的应用
账号对象包含一个账户名,Google账户的账户名是一个email地址。您可以用不同的方法来使用这个信息,例如:
- * 作为表单的自动填充选项,这样用户就不必手动输入账号信息。
- * 作为进入您自己在线的,储存使用和个性化信息的数据库密匙。
决定只要用户名是否足够
账户名是记住用户的好方法,但是Accont对象自身不保护您的数据,也不会给您除了用户的账户名以外的任何信息。如果您的应用需要允许用户去在想访问私人数据,您需要一些更强壮的方法:authentication(认证)。下一节解释了如何使用现有的在线服务进行用户验证。之后一节有关写一个自定义验证器使您能够安装您自己的账户类型
如何使你的Android应用记住曾经使用过的账户信息的更多相关文章
- Android之记住密码与自动登陆实现
本文主要讲述了利用sharedpreference实现记住密码与自动登陆功能 根据checkbox的状态存储用户名与密码 将结果保存在自定义的application中,成为全局变量 布局文件 < ...
- Android之拨号界面图片风格,无信息默认显示界面修改
Android之拨号界面图片风格,无信息默认显示界面修改 点开Dialer app,出现拨号,联系人,收藏三个选项卡,也就是三个Fragment,在三个界面都没有信息的时候会显示一个时钟,联系人,收藏 ...
- Android记录3--ExpandableListView使用+获取SIM卡状态信息
Android记录3--ExpandableListView使用+获取SIM卡状态信息 2013年8月9日Android记录 ExpandableListView是一个可以实现下拉列表的控件,大家可能 ...
- Android中获取系统上安装的APP信息
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00003259 Android中获取系统上安装的APP信 ...
- init进程 && 解析Android启动脚本init.rc && 修改它使不启动android && init.rc中启动一个sh文件
Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序.提供了以下的功能:设备管理.解析启动脚本.执行基本的功能.启动各种服务.代码的路径:system/core/init,编译 ...
- Android APP 读取 AndroidManifest.xml 中的版本信息详解
APP都会涉及到版本的问题,Android APP的版本信息保存在AndroidManifest.xml文件的顶部.如下图: 有2个属性表示,“android:versionCode”和“androi ...
- android The connection to adb is down 错误信息
之前运行eclipse执行android应用都没问题,今天突然出问题了,控制台报错: The connection to adb is down, and a severe error has occ ...
- [Android Pro] Android studio jni中调用Log输出调试信息
reference to : http://www.linuxidc.com/Linux/2014-02/96341.htm Android 开发中,java 可以方便的使用调试信息Log.i, Lo ...
- android 保存 用户名和密码 设置等应用信息优化
1.传统的保存用户名,密码方式 SharedPreferences Editor editor = shareReference.edit(); editor.putString(KEY_NAME,& ...
随机推荐
- Python标准库:内置函数bytes([source[, encoding[, errors]]])
返回一个新的数组对象,这个数组对象不能对数组元素进行改动.每一个元素值范围: 0 <= x < 256.bytes函数与bytearray函数主要差别是bytes函数产生的对象的元素不能改 ...
- Java DESede 加解密("DESede/ECB/PKCS5Padding")
private static final Cipher DES_CIPHER; static { try { DES_CIPHER = Cipher.getInstance("DESede/ ...
- 如何导出标准模板库(STL)类的实例化和包含STL类对象数据成员的类
本文翻译自 https://support.microsoft.com/zh-cn/help/168958/how-to-export-an-instantiation-of-a-standard-t ...
- 三种分布式对象主流技术——COM、Java和COBRA
既上一遍,看到还有一遍将关于 对象的, 分布式对象, 故摘抄入下: 目前国际上,分布式对象技术有三大流派——COBRA.COM/DCOM和Java.CORBA技术是最早出现的,1991年OMG颁布了C ...
- [转载]显示SVN控制台
原文地址:显示SVN控制台作者:瘦骨临清风 青春就应该这样绽放 游戏测试:三国时期谁是你最好的兄弟!! 你不得不信的星座秘密
- WordPress固定链接修改后访问文章页面404
如题, 修改固定链接为自定义结构后, 访问文章页面出现404的nginx错误. 解决:修改nginx.conf配置文件(/usr/local/nginx/conf/nginx.conf). 在serv ...
- <转>LUA语法分析
本文选自:http://www.cnblogs.com/nazhizq/p/6516561.html 一步步调试,在lparser.c文件中luaY_parser函数是语法分析的重点函数,词法分析也是 ...
- iOS 持续集成
iOS 持续集成系列 - 开篇 前言 iOS 开发在经过这几年的野蛮生长之后,慢慢地趋于稳定.无论开发语言是 Objective-C 还是 Swift,工程类型是 Hybird 还是原生,开发思想是 ...
- 转载:Kafka 之 中级 原作者:悟性
Kafka 之 中级 悟性 发表于 3年前 阅读 21353 摘要: Kafka配置介绍,原理介绍及生产者,消费者Java基本使用方法. 1. 配置 Ø Broker主要配置 参数 默认值 说 ...
- jquery 滑动取值
JavaScript 滑动条效果 jquery 滚动条插件 仿iphone苹果横行滚动条美化样式商品图片展示