android 对象存储sd卡,Android-6-将数据保存到SD卡

Android---6---将数据保存到SD卡

同样是实现上一篇文章中所需要的功能,只不过这次是将数据保存到SD卡中。

MainActivity.java

package com.example.qqlogin;

import java.util.Map;

import com.example.qqlogin.utils.utils;

import com.example.qqlogin.utils.utilsOfSDCard;

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 userInfoMap = utilsOfSDCard.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 (utilsOfSDCard.SaveUserInfo(this,number, psw))

Toast.makeText(this, "保存成功", 0).show();

else {

Toast.makeText(this,"保存失败", 0).show();

}

}

Toast.makeText(this, "登陆成功", 1).show();

}

}

utilsOfSDCard.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.FileReader;

import java.io.InputStreamReader;

import java.util.HashMap;

import java.util.Map;

import android.content.Context;

import android.os.Environment;

import android.text.TextUtils;

/**

* 保存数据到SD卡

* 通过Environment.getExternalStorageDirectory();

* @author Caesar

*

*/

public class utilsOfSDCard {

/**

* 保存到SD卡

* @param context

* @param number

* @param psw

* @return

*/

public static boolean SaveUserInfo(Context context, String number,

String psw) {

try {

File SDCardFile = Environment.getExternalStorageDirectory();

File file = new File(SDCardFile, "data.txt");

FileOutputStream fos;

fos = new FileOutputStream(file);

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;

}

/**

* 从SD卡中读取数据

* @param context

* @return

*/

public static Map GetUserInfo(Context context) {

try {

File sDCardFile = Environment.getExternalStorageDirectory();

File file = new File(sDCardFile, "data.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(

new FileInputStream(file)));

String readLine = br.readLine();

if (!TextUtils.isEmpty(readLine)) {

Map userInfoMap = new HashMap();

String split[] = readLine.split("##");

userInfoMap.put("number", split[0]);

userInfoMap.put("psw", split[1]);

return userInfoMap;

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

}

Actvity_main.xml

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" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/number"

android:hint="QQ号/手机号/邮箱"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/psw"

android:inputType="textPassword"

android:hint="密码"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="记住密码"

android:checked="true"

android:id="@+id/remember"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/login"

android:text="登陆"

/>

还有一点就是需要添加权限,须获得读取SD卡的权限:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值