您的位置:首页 > Web前端

利用sharedPreference保存用户信息

2016-05-16 20:15 246 查看
   
当涉及到只需要保存极少量用户输入数据时,可以考虑使用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;
   }
}

   

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: