SharedPreferences 数据存储
16lz
2021-12-04
MainActivity.java代码
layout/main.xml
value/string.xml 配置文件
核心操作类 PerferencesServer.java
package cn.itcast.settings;import java.util.Map;import cn.itcast.service.PreferencesService;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText nameText; private EditText ageText; private PreferencesService service; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); nameText = (EditText) this.findViewById(R.id.name); ageText = (EditText) this.findViewById(R.id.age); service = new PreferencesService(this); Map<String, String> params = service.getPreferences(); nameText.setText(params.get("name")); ageText.setText(params.get("age")); } public void save(View v){ String name = nameText.getText().toString(); String age = ageText.getText().toString(); service.save(name, Integer.valueOf(age)); Toast.makeText(getApplicationContext(), R.string.success, 1).show(); } }
layout/main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/name" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/name" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/age" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="integer" android:id="@+id/age" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:onClick="save" /></LinearLayout>
value/string.xml 配置文件
<?xml version="1.0" encoding="utf-8"?><resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">软件参数设置</string> <string name="name">姓名</string> <string name="age">年龄</string> <string name="button">保存参数</string> <string name="success">保存完成</string></resources>
核心操作类 PerferencesServer.java
package cn.itcast.service;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;public class PreferencesService {private Context context;public PreferencesService(Context context) {this.context = context;}/** * 保存参数 * @param name 姓名 * @param age 年龄 */public void save(String name, Integer age) {SharedPreferences preferences = context.getSharedPreferences("itcast", Context.MODE_PRIVATE);Editor editor = preferences.edit();editor.putString("name", name);editor.putInt("age", age);editor.commit();}/** * 获取各项配置参数 * @return */public Map<String, String> getPreferences(){Map<String, String> params = new HashMap<String, String>();SharedPreferences preferences = context.getSharedPreferences("itcast", Context.MODE_PRIVATE);params.put("name", preferences.getString("name", ""));params.put("age", String.valueOf(preferences.getInt("age", 0)));return params;}}
更多相关文章
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- Python技巧匿名函数、回调函数和高阶函数
- python list.sort()根据多个关键字排序的方法实现
- Android截图之 -- 手机端
- Android(安卓)Activity生命周期以及onSaveInstanceState、onRest
- Android中调用摄像头拍照保存,并在相册中选择图片显示
- android中文api(79)——Gallery
- android中文api(79)——Gallery
- Android短信发送器实现方法