Android---5---数据的保存与回显

做的一个简易QQ登陆界面,能够将账号及密码保存到手机中,并且再次启动该程序的时候会自动显示上次所保存下的账号及密码。

activityMain.xml  :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.qqlogin.MainActivity" >

	<EditText
	    android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/number"
        android:hint="QQ号/手机号/邮箱"
	    />

	<EditText
	    android:layout_width="fill_parent"
        android:layout_height="wrap_content"
	    android:id="@+id/psw"
	    android:inputType="textPassword"
	    android:hint="密码"
	    />
	<CheckBox
	    android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="记住密码"
        android:checked="true"
        android:id="@+id/remember"
	    />
	<Button
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:id="@+id/login"
	    android:text="登陆"
	    />
</LinearLayout>

MainActivity.java

package com.example.qqlogin;

import java.util.Map;

import com.example.qqlogin.utils.utils;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
/**
 *
 * @author Caesar
 *
 */
public class MainActivity extends Activity implements OnClickListener {

	private EditText numberText;
	private EditText pswText;
	private Button button;
	private CheckBox cb;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		numberText = (EditText) findViewById(R.id.number);
		pswText = (EditText) findViewById(R.id.psw);
		cb = (CheckBox) findViewById(R.id.remember);
		button = (Button) findViewById(R.id.login);
		button.setOnClickListener(this);
		//回显数据
		Map<String, String> userInfoMap = utils.GetUserInfo(this);
		if (userInfoMap != null){
			numberText.setText(userInfoMap.get("number"));
			pswText.setText(userInfoMap.get("psw"));
		}
	}

	public void onClick(View v) {
		String number = numberText.getText().toString();
		String psw = pswText.getText().toString();

		String Info = "账号" + number + "密码" + psw;
		Toast.makeText(this, Info, 0).show();
		if (TextUtils.isEmpty(number) || TextUtils.isEmpty(psw)) {
			Toast.makeText(this, "请正确填写", 0).show();
		}
		if (cb.isChecked()) {
			if (utils.SaveUserInfo(this,number, psw))
				Toast.makeText(this, "保存成功", 0).show();
			else {
				Toast.makeText(this,"保存失败", 0).show();
			}
		}
		Toast.makeText(this, "登陆成功", 1).show();
	}
}

utils.java

package com.example.qqlogin.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;

import android.*;
import android.content.Context;
import android.text.TextUtils;
import android.widget.Toast;

/**
 * 手机内存 文件读取
 * @author Caesar
 *
 */
public class utils {

	/**
	 * 保存文件到手机内存
	 * @param context
	 * @param number
	 * @param psw
	 * @return
	 */
	public static boolean SaveUserInfo(Context context, String number,
			String psw) {
		try {
			File fileDir = context.getFilesDir();
			File f = new File(fileDir, "data.txt");
			FileOutputStream fos;

			fos = new FileOutputStream(f);

			String data = number + "##" + psw;
			fos.write(data.getBytes());
			fos.flush();
			fos.close();
			return true;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return false;
	}
	/**
	 * 从手机内存读取
	 * @param context
	 * @return
	 */
	public static Map<String, String> GetUserInfo(Context context) {

		try {
			File fileDir = context.getFilesDir();
			File f = new File(fileDir, "data.txt");
			FileInputStream fis;
			fis = new FileInputStream(f);
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					fis));
			String text = reader.readLine();
			if (!text.isEmpty()) {
				String split[] = text.split("##");
				Map<String, String> userInfoMap = new HashMap<String, String>();
				userInfoMap.put("number", split[0]);
				userInfoMap.put("psw", split[1]);
				return userInfoMap;
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;

	}

}
时间: 2024-10-12 00:30:21

Android---5---数据的保存与回显的相关文章

提交表单数据,List的回显。注意类型对应。

(1) 此处为jsp设置页面: 此处为修改数据回显页面:此处回显就是List<>集合的好处,会自动回显.(不是String[]集合,它不方便回显) 注意:上面两表中的字段类型要匹配,不然set方法放不进去. 提交后显现页面如下:

springMVC参数绑定与数据回显

简单例子:修改商品信息的jsp页面: 参数绑定过程: 1.2.1  默认支持的参数类型 处理器形参中添加如下类型的参数处理适配器会默认识别并进行赋值. 1.1.1     HttpServletRequest 通过request对象获取请求信息 1.1.2     HttpServletResponse 通过response处理响应信息 1.1.3     HttpSession 通过session对象得到session中存放的对象 1.1.4     Model 通过model向页面传递数据,

jqgrid获取不同分页的选中数据并保存回显

这个主要涉及三个知识点: 定义一个数组用来缓存数据 使用jqgrid本身的属性onSelectAll和beforeSelectRow 自定义封装的一个lodash.min.js 文件(切记要引入)百度网盘:https://pan.baidu.com/s/17JYOfaLVffzI1u5wL8uSkg 提取码:zgd3 主要实现逻辑:首先定义一个缓存,当表格中选择(取消)数据的时候,将选中(取消)的ID存放(移除)于缓存数组-->在jqgrid数据加载结束后将缓存数据设置为被选中状态-->这样的

Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/files/LoginTest.txt------/data/data/(包名)/files/(文件名) 导出的文件内容: 三.实现代码 新建一个Android 工程.这里我选择的是2.1即API 7,进行开发的,其它都是默认下一步下一步即可. /datasave/res/layout/activity

(九)android 中数据存储与访问——保存文件到手机内存

9.1手机的存储区域 手机的存储区域通常有两个地方:一:手机内部存储空间,理解成一块微硬盘/data/data/:二:外部存储空间SD卡 9.2方法捕获异常的原则 如果方法有返回值,则用try catch捕获,如果方法的返回值是Void类型,则使用throws抛出异常 9.3 上下文Context Context:是一个类,提供一些方便的api 可以得到应用程序的环境,例如:环境的包名,安装路径,资源路径,资产的路径 9.4 保存文件到手机内存——登陆界面例子程序 9.4.1 项目需求 用户登陆

7、struts2 案例( 模型驱动、 防止表单重复提交--拦截器 、数据回显 、值栈 、 OGNL表达式综合运用)

struts2 案例 技术点: 模型驱动 防止表单重复提交–拦截器 数据回显 值栈 OGNL表达式 通配符.路径匹配原则.常量 数据处理的集中方式 请求数据自动封装以及类型转换 1.导包 c3p0-0.9.1.2.jar commons-dbutils-1.6.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.j

Android 手机卫士--获取联系人信息并显示与回显

前面的文章已经实现相关的布局,本文接着进行相关的功能实现 本文地址:http://www.cnblogs.com/wuyudong/p/5951794.html,转载请注明出处. 读取系统联系人 当点击“选择联系人”按钮后,弹出联系人列表,读取系统联系人分如下几个步骤: 系统联系人提供了一个内容提供者,通过内容解析器,匹配Url地址 1,内容解析器 2,Url地址,查看系统联系人数据库,内容提供者源码 先看api文档的清单文件,后看java类(联系人数据库有多张表) contents://com

Android中突发情况Activity数据的保存和恢复

Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需要我们使用正确的方式进行保存或恢复. 突发情况都有哪些? 因为本文讨论的是当一些突发情况的出现时,对数据的保存和恢复.所以现在总结一下突发情况应该都有哪些? 点击back键 点击锁屏键 点击home键 其他APP进入前台 启动了另一个Activity 屏幕方向旋转 APP被Kill 当这些突发情况发

&lt;radio&gt;数据回显

在做练习的时候遇到这样一组<radio> 添加保存数据的时候是JUST  SO  EASY,BUT在修改数据回显的时候,因为返回的对象是JSON,获取到radio的value值之后怎么也不能让页面正常显示选择的数据, 上网查了一种方法,把我的问题解决了,现在分享给大家,希望能帮到更多的人.方法如下: 其中ss是后台返回的JSON对象. 不知道大家有没有更好的办法,欢迎回复.