AndRoid五种存储方式.pdf
《AndRoid五种存储方式.pdf》由会员分享,可在线阅读,更多相关《AndRoid五种存储方式.pdf(5页珍藏版)》请在三一文库上搜索。
1、文件,sharedPreference, SQLite ,网络,ContentProvider Preference ,File , DataBase 这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。 在Android 中通常使用 File 存储方式是用 Context.openFileOutput(String fileName, int mode)和 Context.openFileInput(String f
2、ileName)。 Context.openFileOutput(String fileName, int mode)生成的文件自动存储在/data/data/Package Name/files 目录下,其全路径是/data/data/Package Name/files/fileName 。注意下,这里的参数fileName 不可以包含 路径分割符(如“/“)。 通常来说,这种方式生成的文件只能在这个apk 内访问。但这个结论是指使用Context.openFileInput(String fileName) 的方式。使用这种方式,每个apk 只可以访问自己的/data/data/Pack
3、age Name/files目录下的文 件,原因很简单,参数fileName 中不可以包含路径分割符,Android 会自动在 /data/data/Package Name/files 目录下寻找文件名为fileName 的文件。 一:使用 SharedPreferences存储数据 首先说明 SharedPreferences存储方式,它是Android 提供的用来存储一些简单配置信息的一种机制,例 如:登录用户的用户名与密码。其采用了Map 数据结构来存储数据,以键值的方式存储,可以简单的读取与 写入,具体实例如下: void ReadSharedPreferences() String
4、 strName,strPassword; SharedPreferences user = getSharedPreferences(“user_info”,0); strName = user.getString(“NAME ”, ” ); strPassword = user getString(“PASSWORD”, ” ); void WriteSharedPreferences(String strName,String strPassword) SharedPreferences user = getSharedPreferences(“user_info”,0); user.e
5、dit(); user.putString(“NAME ”, strName); user.putString(“PASSWORD” ,strPassword); mit(); void save(String name, Integer age) SharedPreferences preferences = context.getSharedPreferences(“test“, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putString(“name“, name); editor.putInt(“
6、age“, age); mit(); 数据读取与写入的方法都非常简单,只是在写入的时候有些区别:先调用edit() 使其处于编辑状态,然后才 能修改数据,最后使用commit() 提交修改的数据。实际上SharedPreferences是采用了 XML格式将数据存储 到设备中,在DDMS 中的 File Explorer 中的 /data/data/shares_prefs下。以上面的数据存 储结果为例,打开后可以看到一个user_info.xml 的文件,打开后可以看到: moandroid SharedPreferences 使用 SharedPreferences是有些限制的:只能在同一
7、个包内使用,不能在不同的包之间使用。 二: 文件存储数据 文件存储方式是一种较常用的方法,在Android 中读取 /写入文件的方法,与Java 中实现 I/O的程序是完全一 样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。FilterInputStream, FilterOutputStream等可以到 Java io package说明中去详细学习,不再此详细说明,具体实例如下: String fn = “moandroid.log”; FileInputStream fis = openFileInput(fn); FileOutput
8、Stream fos = openFileOutput(fn,Context.MODE_PRIVATE); 文件操作模式: 文件(四种操作模式) Fi l eOut put St r eam f os = Cont ext . openFi l eOut put (filename,Cont ext . MODE_PRI VATE;Cont ext . M ODE_APPEND ; Cont ext . MODE_W ORLD_READABLE+Cont ext . MODE_W ORLD_W RI TEABLE ) 除此之外, Android 还提供了其他函数来操作文件,详细说明请阅读And
9、roid SDK 。 三: 网络存储数据 网络存储方式 利用 HttpURLConnection对象 ,我们可以从网络中获取网页数据. URL url = new URL(“http:/“); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(5* 1000);/设置连接超时 conn.setRequestMethod(“GET ”);/以get 方式发起请求 if (conn.getResponseCode() != 200) throw new RuntimeE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AndRoid 存储 方式
链接地址:https://www.31doc.com/p-5012088.html