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面试收集录 文件存储的更多相关文章

  1. Android面试收集录 Android系统的资源+其他

    1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...

  2. Android面试收集录 Android组件

    1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...

  3. Android面试收集录13 Android虚拟机及编译过程

    一.什么是Dalvik虚拟机 Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的 ...

  4. Android面试收集录4 Fragment详解

    1.什么是Fragment? 你可以简单的理解为,Fragment是显示在Activity中的Activity. 它可以显示在Activity中,然后它也可以显示出一些内容. 因为它拥有自己的生命周期 ...

  5. Android面试收集录3 ContentProvider详解

    1.ContentProvider简单介绍 1.1.定义 ContentProvider,即内容提供者属于Android的四大组件之一. 1.2.作用 进程间进行数据交互&共享,即跨进程通信. ...

  6. Android面试收集录1 Activity+Service

    1.Activity的生命周期 1.1.首先查看一下Activity生命周期经典图片. 在正常情况下,一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->on ...

  7. Android面试收集录 2D绘图与动画技术

    1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...

  8. Android面试收集录 电话、短信和联系人、多媒体技术

    1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...

  9. Android面试收集录 网络与加密

    1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...

随机推荐

  1. LeetCode Two Sum 解题思路(python)

    问题描述 给定一个整数数组, 返回两个数字的索引, 使两个数字相加为到特定值. 您可以假设每个输入都有一个解决方案, 并且您不能使用相同的元素两次. 方法 1: 蛮力 蛮力方法很简单.循环遍历每个元素 ...

  2. 一、OSI模型

    OSI/RM协议是由ISO(国际标准化组织)制定的,它有三个基本的功能:提供给开发者一个必须的.通用的概念以便开发完善.可以用来解释连接不同系统的框架.OSI将计算机网络体系结构(architectu ...

  3. What is Thread

    A thread is a fundamental unit of CPU utilization –a thread ID –a program counter –a register set –a ...

  4. luogu P1121 环状最大两段子段和

    嘟嘟嘟 一道说难也难说简单也简单的dp题. 我觉得我的(有篇题解)做法就属于特别简单的. 平时遇到环的问题都是断环为链,但这道题给了一种新的思路. 观察一下,最后的答案无非就这两种:xxx--xx-- ...

  5. linux系统命令与常识

    之前短期学过linux,用到时才发现已经忘得一干二净了. 现在对学过的和了解到的做一个总结: 先明确一些使用工具: winscp : WinSCP是一个Windows环境下使用SSH的开源图形化SFT ...

  6. sudo cd的错误

    问题说明 今天用MySQL建了库,想看看. 当到了这步,心里的第一个感觉就是电脑坏了.后来查了查才知道了原因. 原因 cd不是一个应用程序而是Linux内建的命令,而sudo仅仅只对应用程序起作用. ...

  7. Vue nodejs商城项目- 前后端数据传递

    .利用Mongoose查询MongoDB 通过mongoose插件可以简捷地从mondodb中获取数据,首先安装mongoose: cnpm install mongoose --save   使用m ...

  8. 涉及自制系统AS的几个协议总结

    IGP(Interior Gateway Protocol): 内部网关协议的总称:其下有RIP和OSPF EGP(External Gateway Protocol): 外部网关协议的总称:目前使用 ...

  9. toad安装错误—Failed to Download products and updates

    近日,在公司云电脑上安装Toad for oracle,安装到中途总会出现如下错误,个人认为是Toad安装时需要下载/更新一些组件,公司网络对下载有所限制,导致报错,无法进行后续安装. 图1.Toad ...

  10. 【Nowcoder 上海五校赛】1 + 2 = 3?(斐波那契规律)

    题目描述 小Y在研究数字的时候,发现了一个神奇的等式方程,他屈指算了一下有很多正整数x满足这个等式,比如1和2,现在问题来了,他想知道从小到大第N个满足这个等式的正整数,请你用程序帮他计算一下. (表 ...