利用sharedPreference保存用户信息

    当涉及到只需要保存极少量用户输入数据时,可以考虑使用sharedPreferenece来保存。

  详细代码如下:

  layout文件activity_main.xml的代码如下:

<LinearLayout 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:orientation="vertical">
    <EditText 
        android:id="@+id/etSharedPrefs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        >
    <requestFocus />
    </EditText>
    
    <Button 
        android:id="@+id/bSave"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save"
        />
    <Button 
        android:id="@+id/bLoad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Load"
        />
    <TextView 
        android:id="@+id/tvLoadSharePrefs"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Load your data"
        />
</LinearLayout>

   当用户在EditText里面输入数据后,点击save按钮保存用户输入信息,然后再点击load按钮时,可以将用户输入的信息在TextView标签中显示出来。

MainActivity里面的代码如下:

public class MainActivity extends Activity implements OnClickListener {

    EditText sharedData;
    TextView dataResults;
    SharedPreferences someData;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setUpVariables();
        /*使用SharedPreferences保存数据方法如下:
         * 第一步:实例化SharedPreferences对象,键为fileName,值为0,全部为自定义
         */
        someData=getSharedPreferences("fileName", 0);
    }
    private void setUpVariables() {
// TODO Auto-generated method stub
Button save=(Button)findViewById(R.id.bSave);
Button load=(Button)findViewById(R.id.bLoad);
sharedData=(EditText)findViewById(R.id.etSharedPrefs);
dataResults=(TextView)findViewById(R.id.tvLoadSharePrefs);
save.setOnClickListener(this);
load.setOnClickListener(this);
}

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
     
public void onClick(View v) {
// TODO Auto-generated method stub
   switch(v.getId()){
   //save按钮用来保存数据
   case R.id.bSave:
    //获取EditText里面的内容,将这个内容赋值给stringData
    String stringData=sharedData.getText().toString();
    //第二步:实例化SharedPreferences.Editor对象
    SharedPreferences.Editor editor=someData.edit();
    //第三步:用putString的方法保存数据,sharedString为
    //用户自己自定义键,stringData为需要保存的那个数据
    editor.putString("sharedString", stringData);
    //最后一步:提交当前数据
    editor.commit();
    break;
    //load按钮用来读取数据
   case R.id.bLoad:
    //第一步:实例化一个sharedPreference对象
    someData=getSharedPreferences("fileName", 0);
    //第二步:使用getString方法获取value,第二个参数是默认的,
    //用户可以填写提示信息,以防止找不到的情况下告知用户
    String strReturned=someData.getString("sharedString", "Couldn't load data!");
    dataResults.setText(strReturned);
    break;
   }
}
   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值