//和往常一样看下简单的布局
//会用一个小案例,模仿腾讯QQ记住密码功能,点这里快通车
<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"
>
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"/>
<Button
android:layout_below="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="保存数据到sharePrefrence中" />
</RelativeLayout>
//界面代码
package com.example.class3_1;
import util.SaveData;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText met;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
met=(EditText) findViewById(R.id.et);
}
public void click(View v){
String name=met.getText().toString().trim(); //获取EditText 内容
if(!TextUtils.isEmpty(name)){ //判断是否非空
boolean flag=SaveData.savaData(this, name); // 进行存储,这里我把存储的方法单独提到 util包下,具体方法看最后面
if(flag){ // 根据savaData 返回值做出相应的处理
Toast.makeText(this, "数据保存成功", 0).show(); //利用输出代替相应的功能
}else{
Toast.makeText(this, "数据保存失败", 0).show(); //利用输出代替相应的功能
}
}else{
Toast.makeText(this, "不能为空", 0).show();
}
}
@Override
protected void onStart() { // 利用 Activity 的生命周期 onStart() 方法实现 回显功能(每当开启这个软件之
SharedPreferences sharPreferences=getSharedPreferences("config",MODE_APPEND); //后,信息输入框默认显示关闭前的值,configMODE_APPEND
String str=sharPreferences.getString("edit_content", ""); //MODE_APPEND 指的是类型,edit_content,储存的信息k值,也称作键
met.setText(str);
super.onStart();
}
//存储的工具类
package util;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.widget.Toast;
public class SaveData {
public static boolean savaData(Context context,String data){
//保存到SharePreFrence中,保存成功返回 true,否则返回false;
//第一个参数是保存的共享参数的名字(自定义的)
//第二个参数是保存共享参数的格式(可追加,私有,可读可写。。。)
SharedPreferences SharedPreferences=context.getSharedPreferences("config", Context.MODE_APPEND);//config 自己定义,保存信息的xml文件名称
Editor editor=SharedPreferences.edit();
editor.putString("edit_content", data); //利用Editor 进行写入
editor.commit(); //进行提交
if(editor.commit()){
Toast.makeText(context, "数据保存成功", 0).show();
return true;
}else{
Toast.makeText(context, "数据保存失败", 0).show();
return false;
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}