码迷,mamicode.com
首页 > 移动开发 > 详细

Android 学习 03

时间:2019-08-02 20:10:34      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:ring   linear   获取   text   textview   save   参数   xtend   schema   

数据的存储方式  SharedPreferences

serivce层

 

package com.aaa.service;

import android.content.Context;
import android.content.SharedPreferences;

import java.util.HashMap;
import java.util.Map;

public class PreferencesService {
    private Context context;

    public PreferencesService(Context context) {
        this.context = context;
    }

    /**
     *  保存偏好设置
     * @param name 名称
     * @param age 年龄
     */
    public void save(String name, String age){
        Integer age1 = Integer.valueOf(age);
        SharedPreferences share = context.getSharedPreferences("myset",Context.MODE_PRIVATE);
        SharedPreferences.Editor editor= share.edit();
        editor.putString("name",name);
        editor.putInt("age",age1);
        editor.commit();
    }

    /**
     * 获取各项配置参数
     * @return  map 一个集合包含键 和参数值
     */
    public Map<String, String> getPreferences(){
        Map<String ,String> map = new HashMap<String,String>();
        SharedPreferences share = context.getSharedPreferences("myset",Context.MODE_PRIVATE);
       String name =  share.getString("name","");
       int age = share.getInt("age",0);
       map.put("name",name);
       map.put("age",String.valueOf(age));
       return map;
    }
}

 

  activity层

package com.aaa.sharepreferences;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.aaa.service.PreferencesService;

import java.util.Map;

public class MainActivity extends AppCompatActivity {

    private EditText editText1 ;
    private EditText editText2 ;
    private PreferencesService service;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText1  = (EditText) this.findViewById(R.id.name);
        editText2 = (EditText) this.findViewById(R.id.age);
        service = new PreferencesService(this);
        Map<String,String> map = service.getPreferences();
        editText2.setText(map.get("age"));      // 回显参数 age
        editText1.setText(map.get("name"));     // 回显参数name
    }
    public void save(View view){
        String name = editText1.getText().toString();
        String age = editText2.getText().toString();
        service.save(name, age);
        Toast.makeText(getApplicationContext(),R.string.tip,Toast.LENGTH_LONG).show();
    }
}

  res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/name"
        />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/name"
        android:hint="@string/name"
        android:autofillHints="@string/name"
        tools:targetApi="o" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/age" />
    <EditText
        android:id="@+id/age"
        android:hint="@string/age"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        />
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/save"
        android:onClick="save"
        />
</LinearLayout>

  res/values/string.xml

<resources>
    <string name="app_name">软件参数设置</string>
    <string name="name">输入姓名</string>
    <string name="age">输入年龄</string>
    <string name="tip">保存成功</string>
    <string name="save">保存设置</string>
</resources>

  

 

Android 学习 03

标签:ring   linear   获取   text   textview   save   参数   xtend   schema   

原文地址:https://www.cnblogs.com/kevinOnes1/p/11290851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!