Android 数据存储与IO (一)
生活随笔
收集整理的这篇文章主要介绍了
Android 数据存储与IO (一)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1.Sharedpreference简介
为了保存软件的参数,或者是某些比较小型的数据,Android中我们可以使用Android为我么提供的SharedPreference类他是一个轻量级的储存类,特别适合用于保存软件参数使用SharedPreference保存数据,其背后是使用xml文件存放数据
文件存放在/data/data/<-package name->/shared_prefs目录下
实例
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"><Buttonandroid:id="@+id/buttonWrite"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="写入数据"android:layout_alignParentTop="true"android:layout_centerHorizontal="true" /><EditTextandroid:id="@+id/edit"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@+id/buttonWrite"android:layout_alignParentLeft="true"android:layout_alignParentStart="true" /><Buttonandroid:id="@+id/buttonReade"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读取数据"android:layout_below="@+id/edit"android:layout_alignLeft="@+id/buttonWrite"android:layout_alignStart="@+id/buttonWrite"android:layout_marginTop="73dp" /><TextViewandroid:id="@+id/textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="yu"android:textSize="20sp"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="167dp" /></RelativeLayout>package xiaocool.net.sharedpreferencestest;import android.content.SharedPreferences; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;public class MainActivity extends ActionBarActivity {//根据key读取数据private SharedPreferences preferences;//写入数据private SharedPreferences.Editor editor;private Button write,read;private EditText editText;private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);write=(Button)this.findViewById(R.id.buttonWrite);read=(Button)this.findViewById(R.id.buttonReade);editText=(EditText)this.findViewById(R.id.edit);textView=(TextView)this.findViewById(R.id.textview);preferences=getSharedPreferences("xiaocool",MODE_PRIVATE);editor=preferences.edit();write.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {editor.putString("name",editText.getText().toString());editor.commit();editText.setText("");}});read.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name=preferences.getString("name",null);textView.setText(name);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.menu_main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();//noinspection SimplifiableIfStatementif (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);} }在其他的应用程序中访问
public class ReadOtherPreferences extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Context context =null;try{//获取其他应用程序对应的Contextcontext=createPackageContext("xiaocool.net.sharedpreferencestest",Context.CONTEXT_IGNORE_SECURITY);}catch (PackageManager.NameNotFoundException e){e.printStackTrace();}//使用其他程序的Context 获取对应的.sharedpreferencesSharedPreferences sharedPreferences=context.getSharedPreferences("YU",Context.MODE_WORLD_READABLE);//读取数据String name=sharedPreferences.getString("name",null);Toast.makeText(ReadOtherPreferences.this,name,1).show();} }转载于:https://blog.51cto.com/xiaocool/1622724
总结
以上是生活随笔为你收集整理的Android 数据存储与IO (一)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: JavaScript中类型检测
- 下一篇: Android ListViewDemo