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
- android基础-----登录界面
- Android用户界面基础之使用编码方式绘制登录界面
- android欢迎界面+登录界面
- Android miniTwitter登录界面
- Android miniTwitter登录界面
- android登录界面
- android登录界面
- Android 用户登录界面
- android练习:登录界面
- android自动登录界面
- Android自动登录界面
- Android自动登录界面
- Android 案例 登录界面
- Android--登录界面
- Android 简单登录界面
- Android登录界面总结
- Android 之登录界面
- Android之登录界面
- 重映射 cvRemap
- 程序的链接和装入及在linux下动态链接的实现
- 【SGU】107. 987654321 problem 打表
- mysql基本语法
- 一道灵活的css笔试题
- android基础-----登录界面
- 黑马程序员——网络编程之UDP、TCP/IP
- 第10周项目3-血型统计
- hdu4000 && hrbust1625
- NLPIR(ICTCLAS2013) Python版
- Java中serialVersionUID的解释
- 使用synchronized实现同步方法
- 关于HttpClient上传中文乱码的解决办法
- 快速排序