android基础-----登录界面

来源:互联网 发布:数据机房管理制度 编辑:程序博客网 时间:2024/05/16 06:11

这一部分主要学习

1、在安卓下将登录界面的信息保存成文件,并将文件读取出来显示在登录界面。

2、toast的使用;

3、hashmap的使用;



MainActivity.java

package com.luoriver.login;import java.io.IOException;import java.util.Map;import javax.security.auth.PrivateCredentialPermission;import com.luoriver.login.service.loginService;import android.R.string;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;public class MainActivity extends Activity {private EditText et_input_name;private EditText et_input_password; private CheckBox cb_remember;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et_input_name = (EditText) findViewById(R.id.et_input_name);et_input_password = (EditText) findViewById(R.id.et_input_passwd);cb_remember = (CheckBox) findViewById(R.id.cb_rember_passwd);Map<String, String> map = new loginService().getSaveUserInfo(this);if(map!=null){et_input_name.setText(map.get("username"));et_input_password.setText(map.get("password"));}}public void login(View view){String username = et_input_name.getText().toString().trim();String password = et_input_password.getText().toString().trim();if(TextUtils.isEmpty(username) || TextUtils.isEmpty(password)){Toast.makeText(this, "用户名或密码不能为空,请重新输入", Toast.LENGTH_SHORT).show();}else{/** * remember password checkbox */if(cb_remember.isChecked()){boolean result = loginService.saveUserInfo(this, username, password);if(result){Toast.makeText(this, "密码已经保存了", Toast.LENGTH_LONG).show();}}if("luoriver".equals(username) && "123456".equals(password)){Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show();}}}}




loginService.java

package com.luoriver.login.service;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.renderscript.FieldPacker;/** * 保存用户名,密码的业务方法  * @author luoriver *@param username 用户名 *@param password 密码 *@return true 保存成功 false  保存失败 * 2014-11-2上午7:20:56 */public class loginService {public static boolean saveUserInfo(Context context, String username, String password) throws IOException{try {File file = new File(context.getFilesDir(), "info.txt");//context.getFilesDir();  //帮助我们返回一个目录 "/data/data/包名/files"FileOutputStream fos = new FileOutputStream(file);fos.write((username +"##" + password).getBytes());fos.close();return true;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();return false;}}/** * 获取保存的数据 * @param context * @return */@SuppressWarnings("resource")public static Map<String, String> getSaveUserInfo(Context context){File file = new File(context.getFilesDir(), "info.txt");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("password", infos[1]);return map;} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();return null;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}}


activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" ><TextView     android:id="@+id/tv_input_name"android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="请输入用户名"        />    <EditText        android:id="@+id/et_input_name"        android:layout_marginTop="10dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"       android:ems="10" >        <requestFocus />    </EditText>        <TextView     android:id="@+id/tv_input_passwd"android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="请输入用户名"        />    <EditText        android:inputType="textPassword"        android:id="@+id/et_input_passwd"        android:layout_marginTop="20dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"                android:ems="10" />    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_weight="0.77" >        <CheckBox            android:id="@+id/cb_rember_passwd"            android:checked="true"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:layout_alignParentTop="true"            android:layout_marginLeft="18dp"            android:layout_marginTop="18dp"            android:text="记住密码" />        <Button            android:onClick = "login"            android:id="@+id/bt_login"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBaseline="@+id/cb_rember_passwd"            android:layout_alignBottom="@+id/cb_rember_passwd"            android:layout_alignParentRight="true"            android:layout_marginRight="60dp"            android:text="登陆" />            </RelativeLayout></LinearLayout>




0 0
原创粉丝点击