您的位置:首页 > 理论基础 > 计算机网络

基于HTTP系统的扩展(sharedpreference)

2012-05-12 21:07 155 查看
SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?

SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。

注意:sharedPreference在同一个activity里边没有使用的价值。需要在不同的activity间数据传递时候使用。也就是说你在A里边设置编辑保存了一个数据,这个数据其实已经被android系统存储在data/下边的一个xml文件中。你在B里边可以对该文件进行读取操作。然后对数据做相关的处理。刚才我傻乎乎的在一个activity里边进行操作,自我鄙视一把。

在之前写的系统基础上,引入sharedpreferences.这样相当于在程序中设置了一个数据库。这个数据库是键值对形式的保存在程序的data/文件夹目录下。在整个程序内部都可以使用宝宝尊在该数据库中的信息。例如;我在第三个页面中对数据进行编辑,然后commit()操作。然后在第四个页面,自动获取存储了的数据。然后显示在页面上。核心代码如下:

package com.example;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Third  extends Activity {
private Button mButton;
private TextView mTextView;
private EditText mEditText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.third);

mButton = (Button)findViewById(R.id.thirdButton);
mEditText = (EditText)findViewById(R.id.thirdEditText);

//		SharedPreferences settings = getPreferences(MODE_PRIVATE);
//		SharedPreferences.Editor editor = settings.edit();
//		editor.putInt("age", 200);
//		editor.putString("manong", mEditText.getText().toString());
//		editor.commit();
//
//		SharedPreferences datas = getPreferences(MODE_PRIVATE);
//		String data = datas.getString("manong", "0");
//		mTextView.setText(data);
//
SharedPreferences third = getSharedPreferences("manong", 0);
SharedPreferences.Editor editor = third.edit();
editor.putString("xiaojiang","PHP高级研究");
editor.commit();

mButton.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
Intent intent = new Intent(Third.this,Forth.class);
startActivity(intent);
}
});

}

}

package com.example;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.TextView;

public class Forth extends Activity{
private TextView mTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.forth);

mTextView = (TextView)findViewById(R.id.TextView);
SharedPreferences forthdata = getSharedPreferences("manong", 0);
String dataString = forthdata.getString("xiaojian","NULL");
mTextView.setText(dataString);

}

}


运行截图如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐