SharedPreferences 存储

    SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。

    2个activity 之间的数据传递除了可以他通过intent来传递,还可以使用SharedPreferences来共享数据的方式

SharedPreferences 用法很简单.

  1. 根据Context获取SharedPreferences对象   
  2. 利用edit()方法获取Editor对象。   
  3. 通过Editor对象存储key-value键值对数据。   
  4. 通过commit()方法提交数据。
    MainActivity:
    package com.test.sharedpreferencesdemo;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.content.SharedPreferences.Editor;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.support.v4.app.NavUtils;
    
    public class MainActivity extends Activity {
    	private Button btn;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            btn=(Button)findViewById(R.id.btn);
            btn.setOnClickListener(listener);
            //通過context獲取SharedPreferences的對象sp
            Context context=MainActivity.this;
            SharedPreferences sp=context.getSharedPreferences("SP", MODE_PRIVATE);//SP相当于sp的键
            //通過利用sp.edit()獲取Editor對象
            Editor editor=sp.edit();
            //通過editor存儲KEY-VALUE值
            editor.putString("welcome", "welcome to OtherActivity");//键值对
            //通過editor.commit()方法提交
            editor.commit();
           
        }
        View.OnClickListener listener=new View.OnClickListener()
    	{
    		
    		@Override
    		public void onClick(View v)
    		{
    			// TODO Auto-generated method stub
    			Intent intent=new Intent();
    			intent.setClass(MainActivity.this, OtherActivity.class);
    			startActivity(intent);
    			
    		}
    	};
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    
        
    }
    
    在另一个Activity中,将保存的数据取下便可。
    OtherActivity:
    package com.test.sharedpreferencesdemo;
    
    import android.app.Activity;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class OtherActivity extends Activity
    {
    	private TextView tv;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState)
    	{
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_other);
    		tv=(TextView)findViewById(R.id.tv);
    		//獲取MainActivity中的sp
    		SharedPreferences sp=getSharedPreferences("SP", MODE_PRIVATE);//通过SP获取sp
    		tv.setText(sp.getString("welcome", "NULL"));//取键welcome的值
    	}
    
    }
    
     

     

猜你喜欢

转载自ant-qingyun27sc.iteye.com/blog/1609877