android__实践(登陆界面)

来源:互联网 发布:stm32f 输入端口写法 编辑:程序博客网 时间:2024/06/06 02:06

这里写图片描述

activity_main.xml

<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:orientation="vertical"    tools:context="com.example.login.MainActivity" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/user" />    <EditText         android:id="@+id/et_username"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:inputType="text"        />     <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/password" />    <EditText         android:id="@+id/et_password"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:inputType="textPassword"        />    <RelativeLayout          android:layout_width="fill_parent"         android:layout_height="wrap_content"         >        <CheckBox                android:id="@+id/cb_remember_pwd"                     android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/rempassword"            android:checked="true"            />        <Button             android:id="@+id/bt_login"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/login"            android:onClick="login"            android:layout_alignParentRight="true"            />    </RelativeLayout></LinearLayout>

MainActivity.java

package com.example.login;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;import com.example.login.service.LoginService;public class MainActivity extends Activity {    private static final String tag = "MainActivity";    private EditText et_username;    private EditText et_password;    private CheckBox cb;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_username = (EditText) this.findViewById(R.id.et_username);        et_password = (EditText) this.findViewById(R.id.et_password);        cb = (CheckBox) this.findViewById(R.id.cb_remember_pwd);        //检查是否有保存的用户名和密码数据         Map<String, String>  map = LoginService.getSaveUserInfo(this);               if(map !=null){             et_username.setText(map.get("username"));             et_password.setText(map.get("userpassword"));         }    }    // 登陆控件    public void login(View view) {        String name = et_username.getText().toString().trim();        String pass = et_password.getText().toString().trim();        if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pass)) {            Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();            return;        } else {            // 判断是否保存密码            if (cb.isChecked()) {                // 保存用户和密码                Log.i(tag, "需要保存用户名和密码");                               boolean result = LoginService.saveUserInfo(this,name, pass);                        if(result){                    Toast.makeText(this, "用户名和密码保存成功", Toast.LENGTH_SHORT).show();                }            }            // 登陆 发送信息到服务器,服务喊叫验证是否正确            if ("zhangsan".equals(name) && "123".equals(pass)) {                Toast.makeText(this, "登陆成功", 0).show();            } else {                Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show();            }        }    }}

LoginService.java

package com.example.login.service;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import android.content.Context;/* *  * 登录服务 *  * *  * **/public class LoginService {    /**     *  传入一个上下文:Context     *  保存用户名和密码的方法     *      * */    public static  boolean saveUserInfo(Context context ,String username,String password){        try{        //File file = new File("/data/data/com.example.login/info.text");        //返回一个目录:/data/data/包名/files/        File file = new File(context.getFilesDir(),"info.text");        FileOutputStream fos = new FileOutputStream(file);            fos.write((username+"###"+password).getBytes());            fos.close();            return true;        }catch(Exception e){            return false;        }                   }    /**     *      * 获取保存的数据     *      *      * **/    public static Map<String,String> getSaveUserInfo(Context context){        //获取文件对象        File file = new File(context.getFilesDir(),"info.text");        try{            FileInputStream fis = new FileInputStream(file);            BufferedReader br = new BufferedReader(new InputStreamReader(fis));            String str = br.readLine();            String[] infos = str.split("###");            Map<String, String> map = new HashMap<String,String>();            map.put("username", infos[0]);            map.put("userpassword", infos[1]);            return map;        }catch(Exception e){            e.printStackTrace();            return null;        }    }}
0 0
原创粉丝点击