android_11_sharedPreference保存数据

来源:互联网 发布:linux嵌入式开发招聘 编辑:程序博客网 时间:2024/06/06 04:09

效果:













清单文件(读和写权限):

 

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.sg31.sharepreference"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="21" />    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>



布局:


<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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.sg31.sharepreference.MainActivity"     android:orientation="vertical"    >        <EditText        android:id="@+id/et_name"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="请输入用户名"        />    <EditText        android:id="@+id/et_pwd"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:inputType="textPassword"        android:hint="请输入密码"        />    <RelativeLayout         android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        ><CheckBox     android:id="@+id/cb"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="记住用户名和密码"    android:layout_centerVertical="true"    /><Button     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_gravity="right"    android:text="登录"    android:layout_alignParentRight="true"    android:onClick="loginBtnClicked"    /></RelativeLayout></LinearLayout>



代码:

package com.sg31.sharepreference;import android.support.v7.app.ActionBarActivity;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends ActionBarActivity {private EditText et_name;    private EditText et_pwd;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                        et_name = (EditText) findViewById(R.id.et_name);        et_pwd = (EditText) findViewById(R.id.et_pwd);                readAccount();            }    @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;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }        public void readAccount(){        SharedPreferences sp = getSharedPreferences("userInfo", MODE_PRIVATE);        String name = sp.getString("name", "");        String pass = sp.getString("pwd", "");                et_name.setText(name);        et_pwd.setText(pass);    }        public void loginBtnClicked(View v){                String name = et_name.getText().toString();        String pwd = et_pwd.getText().toString();                CheckBox cb = (CheckBox) findViewById(R.id.cb);        //判断选框是否被勾选        if(cb.isChecked()){            //使用sharedPreference来保存用户名和密码            //路径在data/data/包名/share_            SharedPreferences sp = getSharedPreferences("userInfo", MODE_PRIVATE);            //拿到sp的编辑器            Editor ed = sp.edit();            ed.putString("name", name);            ed.putString("pwd", pwd);            //提交            ed.commit();        }                //创建并显示吐司对话框        Toast.makeText(this, "保存成功", 0).show();    }    }





1 0
原创粉丝点击