最近在弄一个练手项目,写到现在慢慢的暴露了自己开发经验不足的问题。作为一个android开发的新人,我会把我遇到的问题以及一些重要的心得体会记录上来,以供大家参考。
android数据存储的方法大致分为这5种:
- 使用SharedPreferences存储数据
- 文件存储数据
- SQLite数据库存储数据
- 使用ContentProvider存储数据
- 网络存储数据
我暂时只接触到了SharedPreferences,所以来记录一下,有不足的地方请大家指出。以下是关键代码:
String food = inputServer.getText().toString();
if (!food.isEmpty() && food != null) {
Context content = EatActivity.this;
SharedPreferences sp= content.getSharedPreferences("foodlist", MODE_APPEND);
SharedPreferences.Editor editor = sp.edit();
editor.putString("1",food);
editor.commit();
- SharedPreferences提供了一个getSharedPreferences的方法。
第一个参数是用于之指定该参数的名称,名称按自己的喜好随意取名,不过建议最好能取一些有意义的名字。
第二个参数用于指定文件的操作模式:
mode指定为MODE_PRIVATE,则该配置文件只能被自己的应用程序访问。(也可写成0)
mode指定为MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取。(也可写成1)
mode指定为MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以(也可写成2)
mode指定为MODE_APPEND,检查文件是否存在,存在就往文件追加内容,否则就创建新文件
-
使用Editor对象来进行数据的存储,所有的内容都是以键值对的方式进行存储(这一点不懂可以去回顾一下Java基础)。
-
使用editor.commit()方法来保存到手机里。
-
使用editor.remove(url)方法移除储存的内容。(参数就是对应的键值对的KEY)
-
使用editor.putString(“key”,"value1")来修改内容。(只要以存储是相同的key再次存储一遍,即可实现替换内容的功能)
-
使用String str=sp.getString(”key”, " ")来查看内容。(返回的数据即存在该key下的value值,而类型不同get的方法名也不同。如:返回int: spf.getInt("key",");)
详细代码请看下篇:
Android数据存储之SharedPreferences(下)
网友评论