Your cart is currently empty!
Android SharedPreferences简单使用! 超级简单的例子~
前言
阅读本文你需要:
基础的java知识 √
基础Android知识
教程思路
我们将创建一个 有 输入框(EditText) 和 按钮(Button) 的界面,
用户在输入框输入文字, 点击按钮后,程序将保存文本,
用户退出程序, 重新打开时依旧有上次输入的内容
让我们开始吧
主程序
创建一个SharedPreferences.
SharedPreferences sharedPreferences = getSharedPreferences("settings", Context.MODE_PRIVATE);
你可以看到我们在后面跟了一个get的方法,
第一个值是要获取的Preferences的名字, 我们随便起一个名字就好, 这里我们写 settings
然后第二个值是模式mode, 这里我们先默认PRIVITE
你的 MainActivity.java 现在应该和下面差不多
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
SharedPreferences sharedPreferences = getSharedPreferences("settings", Context.MODE_PRIVATE);
}
}
做一个自己的布局文件
我们在我们的主 Activity 的布局里面添加一个 EditText 编辑框, id 为 editText1,
然后在下面增加一个 Button 按钮, id 为 button1,
( 教程使用垂直的LinearLayout )
你的布局文件(/res/layout/activity_main.xml)大概像这样:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="24dp"
android:orientation="vertical">
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="保存" />
</LinearLayout>
(善用Android Studio, 可以直接拖动添加部件)
完善主程序代码
接下来,我们需要给按钮增加一个监听事件, 当按钮被点击就能做些事情了,
Button button_save = (Button)findViewById(R.id.button1);
button_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
当然我们的IDE会提示,所以直接回车很省力
在onClick里面,我们要输入的就是 让程序获取EditText 文本框里的内容并保存到SharedPreference里的 代码了
写好以后大概就是这样的
Button button_save = (Button)findViewById(R.id.button1);
button_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editText=(EditText)findViewById(R.id.editText1);
String someText=String.valueOf(editText.getText());
//someText的值就是editText的内容了
sharedPreferences.edit().putString("text", someText).apply();
//编辑,放入字符串,应用 ( 学好英语,理解方法的意思哈哈哈 )
}
});
接下来我们需要让程序加载时就会显示我们原先保存的字符
所以我们在稍微上面点的位置加入一行,
EditText editText_again=(EditText)findViewById(R.id.editText1);
editText_again.setText(sharedPreferences.getString("text",""));
(因为开始的时候可能没有editText这个变量..所以我们需要再把它找一遍)
然后就能在程序开始的时候取得我们保存的字符,如果没有获取到,就默认为空
现在你的主程序 MainActivity.java 看起来应该像这样:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
SharedPreferences sharedPreferences = getSharedPreferences("settings", Context.MODE_PRIVATE);
EditText editText_again=(EditText)findViewById(R.id.editText1);
editText_again.setText(sharedPreferences.getString("text",""));
Button button_save = (Button)findViewById(R.id.button1);
button_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText editText=(EditText)findViewById(R.id.editText1);
String someText=String.valueOf(editText.getText());
//someText的值就是editText的内容了
sharedPreferences.edit().putString("text", someText).apply();
//编辑,放入字符串,应用 ( 学好英语,理解方法的意思哈哈哈 )
}
});
}
}
完成
运行程序, 输入文字, 点击保存, 关闭程序
再次打开程序, 会看到我们的文字依旧在那里!
这就是 SharedPreferences 的简单使用了!教程结束!
发表回复