android SharedPreferences初步

来源:互联网 发布:网络最新流行词语 编辑:程序博客网 时间:2024/06/07 15:31

activity_main.xml

<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"    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=".MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:layout_marginLeft="28dp"        android:layout_marginTop="26dp"        android:text="请输入用户名:" />    <EditText        android:id="@+id/et_userName"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/textView1"        android:layout_below="@+id/textView1"        android:layout_marginTop="29dp"        android:ems="10"        android:inputType="textPersonName" />    <TextView        android:id="@+id/textView2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/et_userName"        android:layout_below="@+id/et_userName"        android:layout_marginTop="35dp"        android:text="请输入密码:" />    <EditText        android:id="@+id/et_pwd"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/textView2"        android:layout_below="@+id/textView2"        android:layout_marginTop="56dp"        android:ems="10"        android:inputType="textPassword" />    <CheckBox        android:id="@+id/checkBox1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/et_pwd"        android:layout_alignParentBottom="true"        android:layout_marginBottom="40dp"        android:text="记住密码" />    <Button        android:id="@+id/btn_login"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignRight="@+id/et_pwd"        android:layout_alignTop="@+id/checkBox1"        android:text="登录"        android:onClick="login" />    <RadioGroup        android:id="@+id/radioGroup"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/et_pwd"        android:layout_below="@+id/et_pwd"        android:layout_marginTop="18dp"        android:orientation="horizontal" >        <RadioButton            android:id="@+id/RadioButton1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginTop="32dp"            android:text="私有" />        <RadioButton            android:id="@+id/RadioButton2"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="可读" />        <RadioButton            android:id="@+id/radioButton3"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginTop="32dp"            android:text="可写" />        <RadioButton            android:id="@+id/radioButton4"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="公开" />    </RadioGroup></RelativeLayout>
MainActivity.java

package com.demo.iotest;import java.io.IOException;import java.util.Map;import com.demo.loginService.LoginService;import android.os.Bundle;import android.app.Activity;import android.content.SharedPreferences;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.webkit.WebView.FindListener;import android.widget.CheckBox;import android.widget.EditText;import android.widget.RadioGroup;import android.widget.Toast;public class MainActivity extends Activity {private static final String TAG = "MainActivity";private EditText et_userName;private EditText et_pwd;private CheckBox checkBox;private RadioGroup radioGroup;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_userName = (EditText) findViewById(R.id.et_userName);et_pwd = (EditText)findViewById(R.id.et_pwd);checkBox = (CheckBox) findViewById(R.id.checkBox1);radioGroup = (RadioGroup) findViewById(R.id.radioGroup);SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);String userName = sp.getString("username", "");et_userName .setText(userName);String password = sp.getString("password", "");et_pwd .setText(password);}public void login(View view) throws IOException{String userName = et_userName.getText().toString().trim();String password = et_pwd.getText().toString().trim();if(TextUtils.isEmpty(userName) || TextUtils.isEmpty(password)){Toast.makeText(this, "用户名或者密码不能为空", Toast.LENGTH_SHORT).show();}else{//登陆//判断是否保存密码if(checkBox.isChecked()){//保存用户名密码Log.i(TAG, "保存用户名密码");LoginService.saveUserInfo(this, userName, password);Toast.makeText(this, "保存用户信息成功", 0);}}//登陆,发送消息到服务器,服务器验证是否正确if("lisi".equals(userName) && "321".equals(password)){Toast.makeText(this, "登录成功", 0).show();}else{Toast.makeText(this, "登录失败,用户名或者密码错误", 0).show();}}}

LoginService.java

package com.demo.loginService;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;public class LoginService {/** * 保存用户名密码的业务方法 * @param userName 用户名 * @param context 上下文 * @param pwd 密码 * @param mode 1.私有 2.可读 3.可写 4.公开 * @return true 保存成功 false 保存失败 * @throws IOException  *  * getFileDir  /data/data/包名/files * getCacheDir  /data/data/包名/cache */public static void saveUserInfo(Context context,String userName,String password) throws IOException{SharedPreferences sp = context.getSharedPreferences("config", context.MODE_PRIVATE);//得到一个sp的编辑器Editor editor = sp.edit();editor.putString("username", userName);editor.putString("password", password);editor.putBoolean("open", true);editor.putInt("count", 23);editor.putFloat("pi", 3.1415926f);//类似于数据库的事务,保证数据同时提交成功editor.commit();}}



原创粉丝点击