安卓登录案例

package com.lidaochen.phonecall;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.ThemedSpinnerAdapter;
import android.widget.Toast;

import java.util.Map;

public class MainActivity extends AppCompatActivity{
    private EditText et_userName;
    private EditText et_pwd;
    private CheckBox cb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 1.获取控件
        et_userName = (EditText)findViewById(R.id.et_username);
        et_pwd = (EditText)findViewById(R.id.et_pwd);
        cb = (CheckBox)findViewById(R.id.cb);
        // 2.读取数据
        Map<String, String> maps = UserInfoUtils.readInfo();
        if(maps != null)
        {
            // 把name和pwd读取出来
            String name = maps.get("name");
            String pwd = maps.get("pwd");
            // 把读取出来的数据显示到控件上
            et_userName.setText(name);
            et_pwd.setText(pwd);
        }
    }
    // 按钮点击事件
    public void login(View v)
    {
        // 获取userName和pwd
        String name = et_userName.getText().toString().trim();
        String pwd = et_pwd.getText().toString().trim();
        // 判断name和pwd是否为空
        if(TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd))
        {
            Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_LONG).show();
        }
        else
        {
            System.out.println("登录之后要干的事情!");
            if(cb.isChecked())
            {
                // 把用户名和密码保存下来
                boolean result = UserInfoUtils.saveInfo(name, pwd);
                if (result)
                {
                    Toast.makeText(MainActivity.this, "保存成功!", Toast.LENGTH_LONG).show();
                }
                else
                {
                    Toast.makeText(MainActivity.this, "保存失败!", Toast.LENGTH_LONG).show();
                }
            }
            else
            {
                Toast.makeText(MainActivity.this, "请勾选复选框", Toast.LENGTH_LONG).show();
            }
        }
    }
}
 1 package com.lidaochen.phonecall;
 2 
 3 import android.graphics.MaskFilter;
 4 
 5 import java.io.BufferedReader;
 6 import java.io.File;
 7 import java.io.FileInputStream;
 8 import java.io.FileOutputStream;
 9 import java.io.InputStreamReader;
10 import java.util.HashMap;
11 import java.util.Map;
12 
13 public class UserInfoUtils {
14     // 保存用户名和密码的方法
15     public static boolean saveInfo(String username, String pwd)
16     {
17         try {
18             String result = username + "##" + pwd;
19             // 创建File类,指定我们要把数据存储的位置
20             File file = new File("/data/data/com.lidonghao.phonecall/info.txt");
21             // 创建一个文件输出流
22             FileOutputStream fos = new FileOutputStream(file);
23             fos.write(result.getBytes());
24             fos.close();
25             return true;
26         }
27         catch (Exception e)
28         {
29             e.printStackTrace();
30             return false;
31         }
32     }
33 
34     // 读取用户的信息
35     public static Map<String, String> readInfo()
36     {
37         try{
38             // 定义map
39             Map<String, String> maps = new HashMap<String, String>();
40             File file = new File("/data/data/com.lidonghao.phonecall/info.txt");
41             FileInputStream fis = new FileInputStream(file);
42             BufferedReader bufr = new BufferedReader(new InputStreamReader(fis));
43             // 读取数据
44             String content = bufr.readLine();
45             // 切割字符串,封装到map集合中
46             String[] splits = content.split("##");
47             String name = splits[0];
48             String pwd = splits[1];
49             maps.put("name", name);
50             maps.put("pwd", pwd);
51             fis.close();
52             return maps;
53         }
54         catch (Exception e)
55         {
56             e.printStackTrace();
57             return null;
58         }
59     }
60 }

下面是使用上下文获取常用目录

package com.lidaochen.phonecall;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.ThemedSpinnerAdapter;
import android.widget.Toast;

import java.util.Map;

public class MainActivity extends AppCompatActivity{
    private EditText et_userName;
    private EditText et_pwd;
    private CheckBox cb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 1.获取控件
        et_userName = (EditText)findViewById(R.id.et_username);
        et_pwd = (EditText)findViewById(R.id.et_pwd);
        cb = (CheckBox)findViewById(R.id.cb);
        // 2.读取数据
        Map<String, String> maps = UserInfoUtils.readInfo(MainActivity.this);
        if(maps != null)
        {
            // 把name和pwd读取出来
            String name = maps.get("name");
            String pwd = maps.get("pwd");
            // 把读取出来的数据显示到控件上
            et_userName.setText(name);
            et_pwd.setText(pwd);
        }
    }
    // 按钮点击事件
    public void login(View v)
    {
        // 获取userName和pwd
        String name = et_userName.getText().toString().trim();
        String pwd = et_pwd.getText().toString().trim();
        // 判断name和pwd是否为空
        if(TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd))
        {
            Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_LONG).show();
        }
        else
        {
            System.out.println("登录之后要干的事情!");
            if(cb.isChecked())
            {
                // 把用户名和密码保存下来
                boolean result = UserInfoUtils.saveInfo(MainActivity.this, name, pwd);
                if (result)
                {
                    Toast.makeText(MainActivity.this, "保存成功!", Toast.LENGTH_LONG).show();
                }
                else
                {
                    Toast.makeText(MainActivity.this, "保存失败!", Toast.LENGTH_LONG).show();
                }
            }
            else
            {
                Toast.makeText(MainActivity.this, "请勾选复选框", Toast.LENGTH_LONG).show();
            }
        }
    }
}
 1 package com.lidaochen.phonecall;
 2 
 3 import android.content.Context;
 4 import android.graphics.MaskFilter;
 5 
 6 import java.io.BufferedReader;
 7 import java.io.File;
 8 import java.io.FileInputStream;
 9 import java.io.FileOutputStream;
10 import java.io.InputStreamReader;
11 import java.util.HashMap;
12 import java.util.Map;
13 
14 public class UserInfoUtils {
15     // 保存用户名和密码的方法
16     public static boolean saveInfo(Context context, String username, String pwd)
17     {
18         try {
19             String result = username + "##" + pwd;
20             // 通过上下文获取FileOutputStream
21             FileOutputStream fos = context.openFileOutput("infoo.txt", 0);
22             fos.write(result.getBytes());
23             fos.close();
24             return true;
25         }
26         catch (Exception e)
27         {
28             e.printStackTrace();
29             return false;
30         }
31     }
32 
33     // 读取用户的信息
34     public static Map<String, String> readInfo(Context context)
35     {
36         try{
37             // 定义map
38             Map<String, String> maps = new HashMap<String, String>();
39             FileInputStream fis = context.openFileInput("infoo.txt");
40             BufferedReader bufr = new BufferedReader(new InputStreamReader(fis));
41             // 读取数据
42             String content = bufr.readLine();
43             // 切割字符串,封装到map集合中
44             String[] splits = content.split("##");
45             String name = splits[0];
46             String pwd = splits[1];
47             maps.put("name", name);
48             maps.put("pwd", pwd);
49             fis.close();
50             return maps;
51         }
52         catch (Exception e)
53         {
54             e.printStackTrace();
55             return null;
56         }
57     }
58 }

下面是保存数据到SD卡 (注意:保存到SD卡需要相应的权限,否则会保存失败)

 1 package com.liddaochen.phonecall;
 2 
 3 import android.content.Intent;
 4 import android.net.Uri;
 5 import android.os.Environment;
 6 import android.support.v7.app.AppCompatActivity;
 7 import android.os.Bundle;
 8 import android.text.TextUtils;
 9 import android.util.Log;
10 import android.view.View;
11 import android.widget.Button;
12 import android.widget.CheckBox;
13 import android.widget.EditText;
14 import android.widget.TabHost;
15 import android.widget.ThemedSpinnerAdapter;
16 import android.widget.Toast;
17 
18 import java.util.Map;
19 
20 public class MainActivity extends AppCompatActivity{
21     private EditText et_userName;
22     private EditText et_pwd;
23     private CheckBox cb;
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.activity_main);
28         // 1.获取控件
29         et_userName = (EditText)findViewById(R.id.et_username);
30         et_pwd = (EditText)findViewById(R.id.et_pwd);
31         cb = (CheckBox)findViewById(R.id.cb);
32         // 2.读取数据
33         Map<String, String> maps = UserInfoUtils.readInfo();
34         if(maps != null)
35         {
36             // 把name和pwd读取出来
37             String name = maps.get("name");
38             String pwd = maps.get("pwd");
39             // 把读取出来的数据显示到控件上
40             et_userName.setText(name);
41             et_pwd.setText(pwd);
42         }
43     }
44     // 按钮点击事件
45     public void login(View v)
46     {
47         // 获取userName和pwd
48         String name = et_userName.getText().toString().trim();
49         String pwd = et_pwd.getText().toString().trim();
50         // 判断name和pwd是否为空
51         if(TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd))
52         {
53             Toast.makeText(MainActivity.this, "用户名或密码不能为空", Toast.LENGTH_LONG).show();
54         }
55         else
56         {
57             System.out.println("登录之后要干的事情!");
58             if(cb.isChecked())
59             {
60                 // 将数据保存到SD卡需要判断SD卡是否可用
61                 if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
62                 {
63                     // 把用户名和密码保存下来
64                     boolean result = UserInfoUtils.saveInfo(name, pwd);
65                     if (result)
66                     {
67                         Toast.makeText(MainActivity.this, "保存成功!", Toast.LENGTH_LONG).show();
68                     }
69                     else
70                     {
71                         Toast.makeText(MainActivity.this, "保存失败!", Toast.LENGTH_LONG).show();
72                     }
73                 }
74                 else
75                 {
76                     Toast.makeText(MainActivity.this, "SD卡不可用!", Toast.LENGTH_LONG).show();
77                 }
78             }
79             else
80             {
81                 Toast.makeText(MainActivity.this, "请勾选复选框", Toast.LENGTH_LONG).show();
82             }
83         }
84     }
85 }
 1 package com.lidaochen.phonecall;
 2 
 3 import android.content.Context;
 4 import android.graphics.MaskFilter;
 5 import android.os.Environment;
 6 
 7 import java.io.BufferedReader;
 8 import java.io.File;
 9 import java.io.FileInputStream;
10 import java.io.FileOutputStream;
11 import java.io.InputStreamReader;
12 import java.util.HashMap;
13 import java.util.Map;
14 
15 public class UserInfoUtils {
16     // 保存用户名和密码的方法
17     public static boolean saveInfo(String username, String pwd)
18     {
19         try {
20             String result = username + "##" + pwd;
21             // 创建FILE类指定我们要保存的位置
22             String SDPath = Environment.getExternalStorageDirectory().getPath();
23             File file = new File(SDPath, "hehe.txt");
24             // 创建输出流FileOutputStream
25             FileOutputStream fos = new FileOutputStream(file);
26             fos.write(result.getBytes());
27             fos.close();
28             return true;
29         }
30         catch (Exception e)
31         {
32             e.printStackTrace();
33             return false;
34         }
35     }
36 
37     // 读取用户的信息
38     public static Map<String, String> readInfo()
39     {
40         try{
41             // 定义map
42             Map<String, String> maps = new HashMap<String, String>();
43             String SDPath = Environment.getExternalStorageDirectory().getPath();
44             File file = new File(SDPath, "hehe.txt");
45             FileInputStream fis = new FileInputStream(file);
46             BufferedReader bufr = new BufferedReader(new InputStreamReader(fis));
47             // 读取数据
48             String content = bufr.readLine();
49             // 切割字符串,封装到map集合中
50             String[] splits = content.split("##");
51             String name = splits[0];
52             String pwd = splits[1];
53             maps.put("name", name);
54             maps.put("pwd", pwd);
55             fis.close();
56             return maps;
57         }
58         catch (Exception e)
59         {
60             e.printStackTrace();
61             return null;
62         }
63     }
64 }

猜你喜欢

转载自www.cnblogs.com/duxie/p/10878798.html