5 保存文件到手机内存
2014-08-28 19:21
225 查看
<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=".MainActivity" >
<EditText
android:id="@+id/et_number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="请输入QQ号码" />
<EditText
android:id="@+id/et_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" // 密文
android:hint="请输入QQ密码" />
<CheckBox // 勾选框
android:id="@+id/cb_remerber_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true" // 先默认构选
android:text="记住密码" />
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingLeft="40dip"
android:paddingRight="40dp"
android:text="登录" />
</LinearLayout>
package com.itheima27.qqlogin;
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.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import com.itheima27.qqlogin.utils.UtilsOfSharedPreference;
public class MainActivity extends Activity implements OnClickListener {
private static final String TAG = "MainActivity";
private EditText etNumber;
// 号码的输入框控件
private EditText etPassword;// 密码的输入框控件
private CheckBox cbRemerberPWD;// 记住密码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//this.getFilesDir();
// /data/data/com.itheima27.qqlogin1/files/itheima27.txt
//this.getCacheDir();
// /data/data/包名/cache/
init();
// 读取信息
/*String text = UtilsOfSharedPreference.getUserInfo(this);
if(!TextUtils.isEmpty(text)) {
// 123##abc
String[] strArray = text.split("##");
etNumber.setText(strArray[0]);
etPassword.setText(strArray[1]);
}*/
Map<String, String> userInfo = UtilsOfSharedPreference.getUserInfo(this);
if(userInfo != null) {
etNumber.setText(userInfo.get("number"));
etPassword.setText(userInfo.get("password"));
}
}
private void init() {
etNumber = (EditText) findViewById(R.id.et_number);
etPassword = (EditText) findViewById(R.id.et_password);
cbRemerberPWD = (CheckBox) findViewById(R.id.cb_remerber_password);
findViewById(R.id.btn_login).setOnClickListener(this);
}
public void onClick(View v) {
// 取出号码和密码
String number = etNumber.getText().toString();
String password = etPassword.getText().toString();
// 校验帐号和密码
if(!TextUtils.isEmpty(number) && !TextUtils.isEmpty(password)) {
// 号码和密码不为空
// 如果登录成功, 判断是否记住密码
Toast.makeText(this, "登录成功", 0).show();
if(cbRemerberPWD.isChecked()) {
// 需要记住密码
Log.i(TAG, "记住帐号和密码: " + number + " = " + password);
// 存储帐号和密码
if(UtilsOfSharedPreference.saveUserInfo(this, number, password)) {
Toast.makeText(this, "保存成功", 0).show();
} else {
Toast.makeText(this, "保存失败", 0).show();
}
}
} else {
Toast.makeText(this, "请正确输入", 0).show();
}
}
}
、********************************************************************************
utils.java
//this.getFilesDir();
// /data/data/com.itheima27.qqlogin1/files/itheima27.txt
package com.itheima27.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 android.content.Context;
public class Utils1 {
/**
* 保存用户信息
* @param number
* @param password
*/
public static boolean saveUserInfo(Context context, String number, String password) {
try {
// /data/data/包名/files/itheima27.txt
File file = new File(context.getFilesDir(), "itheima27.txt");
FileOutputStream fos = new FileOutputStream(file);
String text = number + "##" + password;
// 123##abc ## 为了后面分割账号和密码
fos.write(text.getBytes());
// 写入
fos.flush();
fos.close();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 获取用户信息
* @return
*/
public static String getUserInfo(Context context) {
try {
File file = new File(context.getFilesDir(), "itheima27.txt");
// 字节流
FileInputStream fis = new FileInputStream(file);
// 转换流
InputStreamReader isr = new InputStreamReader(fis);
// 字符流
BufferedReader br = new BufferedReader(isr);
String result = br.readLine();
br.close();
isr.close();
fis.close();
return result;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
//this.getCacheDir();
// /data/data/包名/cache/
路径相关:
// 存放一些应用程序配置的信息.
this.getFilesDir();
// /data/data/当前应用程序的包名/files
// 存放应用程序缓存文件(不能影响应用程序运行的数据.)
this.getCacheDir();
// /data/data/包名/cache/
存储卡的路径:
Environment.getExternalStorageDirectory();
/mnt/sdcard/
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<EditText
android:id="@+id/et_number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="请输入QQ号码" />
<EditText
android:id="@+id/et_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" // 密文
android:hint="请输入QQ密码" />
<CheckBox // 勾选框
android:id="@+id/cb_remerber_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true" // 先默认构选
android:text="记住密码" />
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingLeft="40dip"
android:paddingRight="40dp"
android:text="登录" />
</LinearLayout>
package com.itheima27.qqlogin;
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.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import com.itheima27.qqlogin.utils.UtilsOfSharedPreference;
public class MainActivity extends Activity implements OnClickListener {
private static final String TAG = "MainActivity";
private EditText etNumber;
// 号码的输入框控件
private EditText etPassword;// 密码的输入框控件
private CheckBox cbRemerberPWD;// 记住密码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//this.getFilesDir();
// /data/data/com.itheima27.qqlogin1/files/itheima27.txt
//this.getCacheDir();
// /data/data/包名/cache/
init();
// 读取信息
/*String text = UtilsOfSharedPreference.getUserInfo(this);
if(!TextUtils.isEmpty(text)) {
// 123##abc
String[] strArray = text.split("##");
etNumber.setText(strArray[0]);
etPassword.setText(strArray[1]);
}*/
Map<String, String> userInfo = UtilsOfSharedPreference.getUserInfo(this);
if(userInfo != null) {
etNumber.setText(userInfo.get("number"));
etPassword.setText(userInfo.get("password"));
}
}
private void init() {
etNumber = (EditText) findViewById(R.id.et_number);
etPassword = (EditText) findViewById(R.id.et_password);
cbRemerberPWD = (CheckBox) findViewById(R.id.cb_remerber_password);
findViewById(R.id.btn_login).setOnClickListener(this);
}
public void onClick(View v) {
// 取出号码和密码
String number = etNumber.getText().toString();
String password = etPassword.getText().toString();
// 校验帐号和密码
if(!TextUtils.isEmpty(number) && !TextUtils.isEmpty(password)) {
// 号码和密码不为空
// 如果登录成功, 判断是否记住密码
Toast.makeText(this, "登录成功", 0).show();
if(cbRemerberPWD.isChecked()) {
// 需要记住密码
Log.i(TAG, "记住帐号和密码: " + number + " = " + password);
// 存储帐号和密码
if(UtilsOfSharedPreference.saveUserInfo(this, number, password)) {
Toast.makeText(this, "保存成功", 0).show();
} else {
Toast.makeText(this, "保存失败", 0).show();
}
}
} else {
Toast.makeText(this, "请正确输入", 0).show();
}
}
}
、********************************************************************************
utils.java
//this.getFilesDir();
// /data/data/com.itheima27.qqlogin1/files/itheima27.txt
package com.itheima27.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 android.content.Context;
public class Utils1 {
/**
* 保存用户信息
* @param number
* @param password
*/
public static boolean saveUserInfo(Context context, String number, String password) {
try {
// /data/data/包名/files/itheima27.txt
File file = new File(context.getFilesDir(), "itheima27.txt");
FileOutputStream fos = new FileOutputStream(file);
String text = number + "##" + password;
// 123##abc ## 为了后面分割账号和密码
fos.write(text.getBytes());
// 写入
fos.flush();
fos.close();
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 获取用户信息
* @return
*/
public static String getUserInfo(Context context) {
try {
File file = new File(context.getFilesDir(), "itheima27.txt");
// 字节流
FileInputStream fis = new FileInputStream(file);
// 转换流
InputStreamReader isr = new InputStreamReader(fis);
// 字符流
BufferedReader br = new BufferedReader(isr);
String result = br.readLine();
br.close();
isr.close();
fis.close();
return result;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
//this.getCacheDir();
// /data/data/包名/cache/
路径相关:
// 存放一些应用程序配置的信息.
this.getFilesDir();
// /data/data/当前应用程序的包名/files
// 存放应用程序缓存文件(不能影响应用程序运行的数据.)
this.getCacheDir();
// /data/data/包名/cache/
存储卡的路径:
Environment.getExternalStorageDirectory();
/mnt/sdcard/
相关文章推荐
- android开发学习(二)——保存文件到手机内存和SD卡,文件访问权限,获取内存大小
- android保存文件到手机内存
- Android 漫游之路------将文件保存到内存、SD以及获取手机内部存储与外部存储空间的大小
- (九)android 中数据存储与访问——保存文件到手机内存
- 13Saving Files(保存文件到手机内存和外存储设备上)
- android保存文件到手机内存
- 保存文件到手机内存与使用密码登陆
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
- [android] 保存文件到手机内存
- 保存文件到手机内存
- Android学习系列(二): 保存文件到手机内存-模拟用户登录保存用户信息
- 保存文件到手机内存
- 将文件保存到内存、SD以及获取手机内部存储与外部存储空间的大小
- 24、25_保存文件到手机内存
- android,保存文件到手机内存和读取
- Android保存键值,不用占用内存的sharedPreference,而是Properties本地文件
- VSS2005一运行就签出sln文件,提示签出而不保存将使您丢失内存中的更改
- Android文件存储_A_文本文件_文件保存在内存中
- “/proc/meminfo”文件记录了android手机的一些内存信息
- “/proc/meminfo”文件记录了android手机的一些内存信息