Android复习练习四(QQ登陆界面回显用户名密码,使用/data/data/包名/路径 )
2014-08-27 21:50
507 查看
需求:创建一个类似于QQ登陆界面的Activity,实现保存用户名密码选项,回显之前保存过的用户名和密码功能,主要测试this.getFilesDir()方法返回情况
getFilesDir()方法返回一个File对象,指向/data/data/包名/files/目录
界面大致如图:
Activity代码如下:
布局文件代码如下:
getFilesDir()方法返回一个File对象,指向/data/data/包名/files/目录
界面大致如图:
Activity代码如下:
package com.alexchen.qqlogin; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import android.app.Activity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText etAccount; private EditText etPassword; private CheckBox cbIsRemember; private File fileDir; private String info; private StringBuffer sb; private int len; private byte[] buffers; private FileInputStream fis; private String account; private String password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { // 得到两个输入框和一个checkbox的对象 etAccount = (EditText) findViewById(R.id.et_qq_account); etPassword = (EditText) findViewById(R.id.et_qq_pasword); cbIsRemember = (CheckBox) findViewById(R.id.cb_isremember); // 数据存数路径 fileDir = this.getFilesDir(); File loginInfo = new File(fileDir, "info.txt"); // 判断是否能够回显 if (loginInfo.exists() && loginInfo.length() > 0) { info = ""; sb = new StringBuffer(""); fis = new FileInputStream(loginInfo); len = 0; buffers = new byte[1024]; while ((len = fis.read(buffers)) != -1) { sb.append(new String(buffers)); } info = sb.toString().trim(); fis.close(); //判断得到的信息是否为空 if (!TextUtils.isEmpty(info)) { etAccount.setText(info.split("##")[0]); etPassword.setText(info.split("##")[1]); } } } catch (Exception e) { e.printStackTrace(); } } public void login(View v) { try { account = etAccount.getText().toString(); password = etPassword.getText().toString(); //如果用户名或者密码为空 if (TextUtils.isEmpty(account) || TextUtils.isEmpty(password)) { Toast.makeText(this, "对不起,用户名或密码不能为空", Toast.LENGTH_SHORT) .show(); return; } //如果保存密码选框被选中 if (cbIsRemember.isChecked()) { File loginInfo = new File(fileDir, "info.txt"); FileOutputStream fos = new FileOutputStream(loginInfo); fos.write((account + "##" + password).getBytes()); fos.close(); } //这个程序暂不判断用户名密码是否正确,一律提示登录成功 Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, "登陆失败", Toast.LENGTH_SHORT).show(); } } }
布局文件代码如下:
<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" android:padding="5dp" tools:context="${relativePackage}.${activityClass}" > <EditText android:id="@+id/et_qq_account" android:layout_marginTop="5dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="请输入用户名" android:inputType="number" android:singleLine="true" /> <EditText android:id="@+id/et_qq_pasword" android:layout_marginTop="5dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="请输入密码" android:inputType="textPassword" android:singleLine="true" /> <CheckBox android:id="@+id/cb_isremember" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="是否记住用户名和密码" /> <Button android:layout_marginTop="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="login" android:layout_gravity="right" android:text="登陆" /> </LinearLayout>
相关文章推荐
- Android开发系列(十一) QQ登陆界面——Android控件使用实例
- Android开发系列(十一) QQ登陆界面——Android控件使用实例
- 使用JavaScript设计web登陆界面 用户名 密码判断
- 使用层级观察器hierarchyviewer综合各种布局实现Android QQ2012登陆界面和注册界面
- Android开发系列 QQ登陆界面——Android控件使用实例 - Carlos.V
- android--内部存储写文件和使用API获取内部存储路径,sharedperferance获取原有的账号密码--简单的登陆(记录原有的账号和密码)--I/0流介绍
- 使用层级观察器hierarchyviewer综合各种布局实现Android QQ2012登陆界面和注册界面
- Android--模拟登陆用户名密码,使用File或openFileOutput保存文件
- android SharedPreference的简单使用(登陆界面记住密码)
- Android 登陆界面及记住用户名密码
- .做一个登陆的界面,当用户输入正确的用户名和密码后,显示登陆成功,并且显示改用户的详细信息。(sqldatasource)
- android布局基础及范例:QQ登陆界面设计
- 黑马程序员之WinForm编程基础学习笔记:登陆界面,登陆错误三次退出程序,假设用户名,密码是admin,888888,不区分大小写。(易错点:局部变量与类变量),退出程序Close()或者Appli
- android实现仿QQ登陆界面的多账号保存
- Android仿QQ微信开场导航以及登陆界面
- 高仿Android QQ2012登陆界面和注册界面
- android布局基础及范例(一):QQ登陆界面设计
- Android仿QQ微信开场导航以及登陆界面
- Android 高仿QQ 登陆界面
- Android学习笔记(19)————实现一个记住密码的Android登陆界面