- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android高级技术面试整理
Android高级技术-简答题
1:Android中五种数据存储方式分别是什么?他们的特点?
答:Android提供了五种存取数据的方式
SharedPreference,存放较少的五种类型的数据,只能在同一个包内使
用,生成XML的格式存放在设备中
(2) SQLite数据库,存放各种数据,是一个轻量级的嵌入式数据库
(3) File文件,通过读取写入方式生成文件存放数据
(4) ContentProvider,主要用于让其他应用程序使用保存的数据
(5)通过网络获取数据和写入数据到网络存储空间
2:简述SharedPreferences存储方式
SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/包名/shared_prefs目录下。SharedPreferences对象本身只能读取数据而不支持写入数据,存储修改是通过Editor对象实现。
3:SQLite主要通过那两个类实现其功能的?
SQLiteOpenHelper:这个类是数据库的帮助类;用来进行数据库的创建;表的创建,以及版本的更新
SQLiteDatabase: 这个类里 封装了对表的具体的操作的方法,比如 增删改查的方法。
4:SharedPreferences与SQLite数据库的区别
SharedPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。
5:ContentProvider与SQLite有何区别
答:Sql只能在该工程的内部共享数据,ContentProvider能在工程之间实现数据共享。
6:描述ContentProvider URI有哪几部分组成
答:URI由是部分组成:
A,标准的前缀: ContentProvider(内容提供者)的scheme已经由Android所规定, scheme为:content://
B,唯一标识整个Content Provider: 主机名(或叫Authority)用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它。
C,描述了数据的路径,确定返回哪类数据: 路径(path)可以用来表示我们要操作的数据,路径的构建应根据业务而定
ID唯一标注请求的数据: 我们要请求数据的ID
7:简述通过contentResolver获取ContentProvider内容的基本步骤
第一:得到ContentResolver类对象:ContentResolver cr = getContentResolver();
第二:定义要查询的字段String数组。
第三:使用cr.query();返回一个Cursor对象。
第四:使用while循环得到Cursor里面的内容。
8:描述一下自定义ContentProvider的步骤
答:自定义contentprovider步骤:
继承Android的ContentProvider基类实现自己的ContentProvider类。
实现 ContentProvider里的onCreate方法,创建provider的数据,一般为数据库sqlite。
重写ContentProvider 中相应的insert/delete/update/query增删改查这些方法。
在AndroidManifest.xml文件中注册该ContentProvider类,为ContentProvider指定Uri。Uri类似网页访问中使用的URL地址。
在application/application中配置 provider/标签以及属性:android:name属性:ContentProvider的类名
android:authorities属性:用于访问ContentProvider的名称。
9:Android中如何访问自定义ContentProvider?
通过ContentProvider的Uri访问开放的数据。
(1)ContenResolver对象通过Context提供的方法getContenResolver()来获得。
(2)ContenResolver提供了以下方法来操作:insert delete update
原创力文档


文档评论(0)