打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
课堂笔记第五周
      这周主要讲解了SharedPreferences的使用和Android中如何存储数据的问题,还讨论了关于raw,res,asset 等文件的区别的使用方式。这里我先做个总结来说明下自己以往使用的经验。
SharedPreferences实质上就是在内部存储了XML文件,文件中可以放置一些对象。可以对文件进行修改和删除等操作。但是对应的raw,res,asset 等目录下的文件是只能读取,不能修改和删除的,这个是因为这些目录的对应文件已经被编译进了apk包中,做为源码的一部分。对已对应一些有对大型文件(特别是二进制文件)有存储和删除需求的一般都在内部存储或者外部存储来完成。

一、Android SharedPreferences的简介

SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。比较经典的使用方式例如用户输入框对过往登录账户的存储。实现SharedPreferences存储的步骤如下:

1、根据Context获取SharedPreferences对象
2、利用edit()方法获取Editor对象。
3、通过Editor对象存储key-value键值对数据。
4、通过commit()方法提交数据。

二、SharedPreferences和Editor 的关系

1、SharedPreferences

public abstract SharedPreferences getSharedPreferences (String name, int mode)

方法得到一个sharedpreferences对象,参数name是preference文件的名字,mode则是方式,默认为0。

2、Editor

Editor可用于SharedPreferences数据的添加,删除,修改和查询。

Public abstract SharedPreferences.Editor  putString (String key,String value)

通过执行commit()或是apply()方法,将会应用更改。

三、SharedPreferences的代码片段

// 存储sharedpreferencespublic void setSharedPreference() {sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();editor.putString("username", text1.getText().toString());editor.putInt("password", getpw());editor.commit();// 提交修改}// 清除sharedpreferences的数据public void removeSharedPreference() {sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();editor.remove("username");editor.remove("password");editor.commit();// 提交修改}// 获得sharedpreferences的数据public void getSahrePreference() {String username = sharedPreferences.getString("username", "");int password = sharedPreferences.getInt("password", 0);String str = String.valueOf(password);text1.setText(username);text2.setText(str);}

四、android assets与 assets与res/raw 的相同、不同点

1。获取资源的输入流 

资源文件 sample.txt 位于 $PROJECT_HOME/assets/ 目录下,可以在 Activity 中通过      //也可以放置图片等资源,获取方式相同

Context.getAssets().open(“sample.txt”) 

方法获取输入流。 

注意:如果资源文件是文本文件则需要考虑文件的编码和换行符。建议使用UTF-8和Unix换行符。 

2. WebView 加载assets目录下的html文件 

资源文件 sample.html 位于 $PROJECT_HOME/assets/ 目录下,可以通过以下代码 

WebView.loadUrl(“file:///android_asset/sample.html”); 

加载html文件。 

Android 系统为每个新设计的程序提供了/assets目录,这个目录保存的文件可以打包在程序里。/res 和/assets的不同点是,android不为/assets下的文件生成ID。如果使用/assets下的文件,需要指定文件的路径和文件名。下面这个例子,显示如何访问/assets下的内容。 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SharedPreferences的存储位置和格式
Android下获取开机时间
android SharedPreferences简单使用
SharedPreferences的API
Android Resources之assets
Android读取对应的键值
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服