您的位置:首页 > 其它

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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐