08

package com.example.q;

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

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

public class SPSaveQQ {
    public static boolean saveUserInfo(Context context,String account,String password) {
              SharedPreferences sp=context.getSharedPreferences("data", Context.MODE_PRIVATE);
              SharedPreferences.Editor edit = sp.edit();
              edit.putString("username", account);
              edit.putString("pwd", password);
              edit.commit();
              return true;

   }
    public static Map<String, String> getUserInfo(Context context){
        SharedPreferences sp=context.getSharedPreferences("data", Context.MODE_PRIVATE);
        String account = sp.getString("username", null);
        String password=sp.getString("pwd", null);
        Map<String, String> userMap = new HashMap<String, String>();
        userMap.put("account", account);
        userMap.put("password", password);
        return userMap;
        
    }
}
  1. package com.example.q;
    
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.text.TextUtils;
    import java.util.Map;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class MainActivity extends ActionBarActivity implements OnClickListener {
        private Button bt1;
        private EditText et1;
        private EditText et2;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initView();
    //        Map<String, String> userInfo = FileSaveQQ.getUserInfo(this);
    //        if (userInfo != null) {
    //            et1.setText(userInfo.get("account"));
    //            et2.setText(userInfo.get("password"));
    //        }
        }
    
        
    
        private void initView() {
            // TODO Auto-generated method stub
            bt1 = (Button) findViewById(R.id.button1);
            et1 = (EditText) findViewById(R.id.username);
            et2 = (EditText) findViewById(R.id.password);
            bt1.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch (v.getId()) {
            case R.id.button1:
                String account = et1.getText().toString().trim();
                String password = et2.getText().toString();
                if(TextUtils.isEmpty(account)) {
                    Toast.makeText(this, "请输入帐号", Toast.LENGTH_SHORT).show();
                    return;
                    
                }    
                if(TextUtils.isEmpty(password)) {
                    Toast.makeText(this, "请输入密码", Toast.LENGTH_SHORT).show();
                    return;
                    
                }
                Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show();
                boolean isSaveSuccess = FileSaveQQ.saveUserInfo(this, account, password);
                if (isSaveSuccess) {
                    Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
    
                } else {
                    Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
                }
                break;
            }
    
    }
    }
    package com.example.q;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    import android.content.Context;
    public class FileSaveQQ {
        public static boolean saveUserInfo(Context context, String account, String password) {
            FileOutputStream fos = null;
            try {
                fos = context.openFileOutput("data.txt", Context.MODE_PRIVATE);
                fos.write((account + ":" + password).getBytes());
                return true;
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return false;
            } finally {
            
                    try {    if (fos != null) {
                        fos.close();
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
    
        
    
        public static Map<String, String> getUserInfo(Context context) {
            String content = "";
            FileInputStream fis = null;
            try {
                fis = context.openFileInput("data.txt");
                byte[] buffer = new byte[fis.available()];
                fis.read(buffer);
                content = new String(buffer);
                Map<String, String> userMap = new HashMap<String, String>();
                String[] infos = content.split(":");
                userMap.put("account", infos[0]);
                userMap.put("password", infos[1]);
                return userMap;
    
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    if (fis != null) {
                    
                        fis.close();}
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
    
        
    }
    <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="com.example.q.MainActivity" >
    
    <TextView
            android:id="@+id/tv_account"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" 
            android:background="#FFFFFF"
            android:text="帐号:"
            android:textSize="30dp"
     
            />
         <TextView
             android:id="@+id/tv_account1"
             android:layout_width="fill_parent"
             android:layout_height="40dp"
             android:layout_below="@+id/tv_account"
             android:layout_centerVertical="true"
             android:background="#FFFFFF"
             android:text="密码:"
             android:textSize="30dp"
             
              />
    
         <EditText
             android:id="@+id/password"
             android:layout_width="400dp"
             android:layout_height="40dp"
             android:layout_below="@+id/tv_account"
             android:ems="10" 
             android:gravity="center"
             android:background="@null"
             />
    
         <EditText
             android:id="@+id/username"
             android:layout_width="match_parent"
             android:layout_height="40dp"
             android:layout_centerInParent="true"
             android:ems="10"
             android:gravity="center"
             android:background="@null"
              />
    
         <TextView
             android:id="@+id/textView1"
             android:layout_width="400dp"
             android:layout_height="40dp"
             android:layout_centerHorizontal="true"
             android:layout_below="@+id/button1" />
    
         <ImageView
             android:id="@+id/imageView1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_above="@+id/tv_account"
             android:layout_centerHorizontal="true"
             android:layout_marginBottom="43dp"
             android:src="@drawable/logo" />
    
         <Button
             android:id="@+id/button1"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_alignLeft="@+id/textView1"
             android:layout_below="@+id/tv_account1"
             android:layout_marginTop="56dp"
             android:background="#545bcb"
             android:onClick="CCC"
             android:text="登录"
             android:textColor="#ffffff"
             android:textSize="20dp" />
    
    </RelativeLayout>

原文地址:https://www.cnblogs.com/1014040868lyn/p/11752462.html