再写记事本抠眼珠子

  极速启动!绝对精简!

  完全没有广告条和推送消息!

  完全没有开机自启和后台自启!

  完全没有偷偷耗电和偷偷联网!

  完全没有那个技术呃含量。

 

  我想想有没有什么好说的哈。

 

  默认情况下应用窗口最上边是有一个很难看的又粗又黑的标题栏的,要改的话改主题就好了,方法是在AndroidManifest.xml文件里的application标签下加上一句

android:theme="@android:style/Theme.NoTitleBar"

  主题的名字已经说明作用了,如果在Theme.NoTitleBar后面再加上.Fullscreen的话连通知栏都可以隐藏,很方便。

  在application标签下改的话是应用于所有活动(Activity)的,只想用在单个活动上的话加到activity标签里就可以了。

 

  保存数据有三加一种方法,最后一个我忘了,然后sqlite我还没学,说说我这次用的。

  需要的是SharedPreferences这个直接翻译过来叫共享的偏好这种奇怪而似乎跟它的用处毫无关系的类,用法分写和读两部分。

  数据是用XML文件来存储的键值对。

 

  写:

    使用context.getPreferences()这个方法,context指的是背景活动,一般用this关键字就行。

    另外括号里接收一个参数,指的是打开方式,有六种可选,MODE_PRIVATE是只有当前应用可以访问,改成MODE_WORLD_READ/WRITE就是其他应用也可以访问。

    其实没什么必要。

    之后要用这个类下的一个类,SharedPrefrences.Editor来进行写操作,初始化的方式是用上面初始化的类下的edit()方法,这个方法返回一个Editor。

    Editor包含写入六种基本数据类型的方法,不过不是setXXX,是putXXX,方法接收两个参数,第一个是键,第二个是值。

    最后,写完之后要用commit()方法来确认写入,不然会不会有问题我也不知道。

    来举个例子:

 1 @Override
 2 protected void onPause() {
 3     super.onPause();
 4     
 5     EditText textView = (EditText) findViewById(R.id.editText1);
 6     String content = textView.getText().toString();
 7     SharedPreferences sharedPref = this.getPreferences(MODE_PRIVATE);
 8     Editor editor = sharedPref.edit();
 9     
10     editor.putString("content", content);
11     editor.commit();
12 }
获取文本框内容并保存到xml

 

  读:

    读的过程更好懂,比写还少了Editor。

    用同样的方法取得了SharedPreferences之后,使用基本数据类型的get方法就可以了。

    需要注意一下,get方法接收两个参数,第一个是自然是键,第二个则是默认内容,就是在键并不存在的情况下返回的内容。

    这个参数很方便,节省下了一条判断语句。

    像这样:

 1 @Override
 2 protected void onCreate(Bundle savedInstanceState) {
 3     super.onCreate(savedInstanceState);
 4     setContentView(R.layout.activity_main);
 5     
 6     SharedPreferences sharedPref = this.getPreferences(MODE_PRIVATE);
 7     String savedContent = sharedPref.getString("content", "");
 8     EditText textView = (EditText) findViewById(R.id.editText1);
 9     textView.setText(savedContent);
10 }
记得要先设置视图再改内容

 

  

  APK以及工程文件

posted @ 2014-01-27 19:57  Chihane  阅读(177)  评论(0编辑  收藏  举报