Android面试收集录 文件存储
1.请描述Android SDK支持哪些文件存储技术?
- 使用SharePreferences保存key-value类型的数据
- 流文件存储(openFileOutput+openFileInput或FileInputStream+FileOutputStream)
- XML半结构化存储
- Json保存数组核对象
- 数据库保存结构化数据
2.如何使用SharePreference?
- 获取对象:Context.getSharedPreferences获取,如getSharedPreferences("名字",Activity.MODE_PRIVATE),这个模式是只有当前程序可以读写
- 获取写的对象:SharePreferences.Editor=mySharePreferences.edit();
- 写数据:editor.putString("key","value");
- 提交:editor.commit();
3.用SharedPreferences保存的数据文件存放在哪个目录中?
- 保存在手机内存中,文件存储路径为:/data/data/packagename/shared_prefs
- 可以用文件流来读取
4.如何在sharedPreferences文件中存取可序列化的对象?
- 基础类一定要实现Serializable接口,这个表示该类是可序列化的。
- 然后需要将可序列化类编码成base64,这里需要和ByteArrayOutputStream+ObjectOutputStream来配合。
5.如何通过PreferenceActivity类实现一个设置界面?
- 最外层标签为:<PreferenceScreen>
- <PreferenceCategory>标签表示一个设置分类
- <CheckBoxPreference>标签表示复选框
- <EditTextPreference>标签对应编辑框
- <ListPreference>对应ListView
- 使用addPreferencesFromResource(R.xml.preference_setting)来装载文件
- 在onCreateView中设置<preference>标签的item点击事件
6.Android SDK支持哪些获取文件输入输出流的方式?
- 法1:直接创建FileInputStream+FileOutputStream
- 法2:使用Context.openFileOutput+Context.openFileInput
7.请写出解析JSON格式文档的JAVA代码?
- 有一个json字符串:String json="...";
- 如果是数组就封装成数组:JSONArray jsonArray=new JSONArray(json);
- 如果是对象就封装成对象:JSONObject jsonObject=new JSONObject(字符串);
- 将对象转换成string: String.valueOf(jsonObject.get("字符串"));
Android面试收集录 文件存储的更多相关文章
- Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...
- Android面试收集录 Android组件
1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...
- Android面试收集录13 Android虚拟机及编译过程
一.什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的 ...
- Android面试收集录4 Fragment详解
1.什么是Fragment? 你可以简单的理解为,Fragment是显示在Activity中的Activity. 它可以显示在Activity中,然后它也可以显示出一些内容. 因为它拥有自己的生命周期 ...
- Android面试收集录3 ContentProvider详解
1.ContentProvider简单介绍 1.1.定义 ContentProvider,即内容提供者属于Android的四大组件之一. 1.2.作用 进程间进行数据交互&共享,即跨进程通信. ...
- Android面试收集录1 Activity+Service
1.Activity的生命周期 1.1.首先查看一下Activity生命周期经典图片. 在正常情况下,一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->on ...
- Android面试收集录 2D绘图与动画技术
1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...
- Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...
- Android面试收集录 网络与加密
1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...
随机推荐
- IIS环境搭建
IIS环境搭建 IIS环境搭建首先是建立在一个干净的.无毒的系统上,再进行相应操作.本文用到的是windows 2003的镜像文件,有条件的用户也可以使用windows的系统安装光盘. 下面进入操作步 ...
- java--内存管理的几点小技巧
今天看一本书,书上提到了内存泄露,后面也提到了内存管理的小技巧,在这里记下来,以免以后忘记. 1.尽量使用直接量.比如:String str = "I can play!";而不是 ...
- codefind.pl
#!/usr/bin/perl # # Find a pattern in a the book's source collection (DOS/Windows version) # # (C) C ...
- 用unoreder_map实现词频统计
博客写在CSDN了,google了一下移植真的巨麻烦.... 这里贴个网址算了.... https://blog.csdn.net/z1991998920/article/details/796891 ...
- OC 结构体
void test() { // 这个机构只能在函数内部使用 // 定义一个名为Student的结构体类型 struct Student { int age; // 年龄 char *name; // ...
- Python:一些小知识
小知识点总结 一.Python2与Python3 的区别 1.Python2中可以加括号输出,也可不加输出 Python3中必须加 2.python2 中有xrange(生成器)也有range ...
- 推箱子Unity
逻辑首先有控制台写了一下. 需要注意的地方不少: 进一步,需要考虑3个层面的问题. 前面的位置是空地,成功点,墙,还是箱子. 前面是箱子的时候,箱子的前面是空地,墙,成功点,还是箱子. 当移动的时候, ...
- STL - set【集合】
参考:http://www.cplusplus.com/reference/set/set/ 一.set 是按特定顺序存储唯一元素的容器 实现是一种非常高效的平衡检索二叉树:红黑树(Red-Black ...
- HTML中什么时候加px
如:<img width="800" height="600" src="#"/> 不加后面的px; #center{ ...
- SpringMVC学习记录三——8 springmvc和mybatis整合
8 springmvc和mybatis整合 8.1 需求 使用springmvc和mybatis完成商品列表查询. 8.2 整合思路 springmvc+mybaits的 ...