LoginActivity.java

 

package com.example.save_sp;import java.util.Map;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.os.Bundle;import android.text.TextUtils;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.RadioButton;import android.widget.Toast;import com.example.login.service.FileService;public class LoginActivity extends Activity {public EditText edit_name, edit_pass;public Button btn_login;public CheckBox box_remeber;public FileService fileService;public RadioButton radio_rom, radio_sp, radio_sd;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);fileService = new FileService(this);edit_name = (EditText) findViewById(R.id.edit_name);edit_pass = (EditText) findViewById(R.id.edit_pass);btn_login = (Button) findViewById(R.id.btn_login);box_remeber = (CheckBox) findViewById(R.id.cbx_remember);btn_login.setOnClickListener(new MyOnClickListener());radio_rom = (RadioButton) findViewById(R.id.radio_rom);radio_sp = (RadioButton) findViewById(R.id.radio_sp);radio_sd = (RadioButton) findViewById(R.id.radio_sd);Map map = fileService.readFile("sdcard.txt");if (map != null) {edit_name.setText(map.get("name"));edit_pass.setText(map.get("pass"));}/* * SharedPreferences * preferences=this.getSharedPreferences("csdn",Context.MODE_PRIVATE); * edit_name.setText(preferences.getString("name", "csdn")); * edit_pass.setText(preferences.getString("pass", "csdn")); */}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.login, menu);return true;}class MyOnClickListener implements View.OnClickListener {@Overridepublic void onClick(View v) {int id = v.getId();switch (id) {case R.id.btn_login:String name = edit_name.getText().toString();String pass = edit_pass.getText().toString();if (TextUtils.isEmpty(name)) {Toast.makeText(LoginActivity.this, "用户名不能为空",Toast.LENGTH_SHORT).show();return;} else if (TextUtils.isEmpty(pass)) {Toast.makeText(LoginActivity.this, "密码不能为空",Toast.LENGTH_SHORT).show();return;} else {if (box_remeber.isChecked()) {if (radio_rom.isChecked()) {LoginActivity.this.fileService.saveToRom(name,pass, "private.txt");Toast.makeText(LoginActivity.this, "用户名和密码已保存",Toast.LENGTH_SHORT).show();} else if (radio_sp.isChecked()) {boolean flag = fileService.saveBysp(name, pass,"csdn");if (flag) {Toast.makeText(LoginActivity.this, "保存成功",Toast.LENGTH_SHORT).show();} else {Toast.makeText(LoginActivity.this, "保存失败",Toast.LENGTH_SHORT).show();}} else if (radio_sd.isChecked()) {boolean flag = fileService.saveToSDCard(name, pass,"sdcard.txt");if (flag) {Toast.makeText(LoginActivity.this, "保存成功",Toast.LENGTH_SHORT).show();} else {Toast.makeText(LoginActivity.this, "保存失败",Toast.LENGTH_SHORT).show();}}} else {Toast.makeText(LoginActivity.this, "用户名和密码不需要保存",Toast.LENGTH_SHORT).show();}}break;default:break;}}}}


 

FileService.java

 

package com.example.login.service;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.os.Environment;import android.widget.Toast;import com.example.login.utils.StreamTools;public class FileService {public Context context;public FileService(Context context) {this.context = context;}public boolean saveToRom(String name,String pass,String fileName){try{FileOutputStream fos=context.openFileOutput(fileName, Context.MODE_PRIVATE);String result=name+":"+pass;fos.write(result.getBytes());fos.flush();fos.close();}catch(Exception e){e.printStackTrace();return false;}return true;}public Map readFile(String fileName){Map map=null;try{FileInputStream fis=context.openFileInput(fileName);String value=StreamTools.getValue(fis);String values[]=value.split(":");if(values.length>0){map=new HashMap();map.put("name", values[0]);map.put("pass", values[1]);}}catch(Exception e){e.printStackTrace();}return map;}public boolean saveBysp(String name,String pass,String fileName){SharedPreferences preferences=context.getSharedPreferences(fileName, Context.MODE_PRIVATE);Editor editor=preferences.edit();editor.putString("name", name);editor.putString("pass", pass);return editor.commit();}public boolean saveToSDCard(String name,String pass,String fileName){if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){File sdCardDir=Environment.getExternalStorageDirectory();File file=new File(sdCardDir,fileName);try{FileOutputStream fos=new FileOutputStream(file);String result=name+":"+pass;fos.write(result.getBytes());fos.flush();fos.close();}catch (Exception e) {e.printStackTrace();return false;}}else{Toast.makeText(context, "SDCard没有找到!", Toast.LENGTH_LONG).show();}return true;}public Map readFileSDCard(String fileName){Map map=null;try{File sdCardDir=Environment.getExternalStorageDirectory();File file = new File(sdCardDir, fileName);FileInputStream fis=new FileInputStream(file);String value = StreamTools.getValue(fis);String values[]=value.split(":");if(values.length>0){map=new HashMap();map.put("name", values[0]);map.put("pass", values[1]);}}catch(Exception e){e.printStackTrace();}return map;}}


StreamTools.java

package com.example.login.utils;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;public class StreamTools {public static String getValue(FileInputStream fis) throws Exception{ByteArrayOutputStream stream=new ByteArrayOutputStream();byte[] buffer=new byte[1024];int length=-1;while((length=fis.read(buffer))!=-1){stream.write(buffer,0,length);}stream.flush();stream.close();String value=stream.toString();return value;}}


login_activity.xml

 

                                                                                                                                    


 

String.xml

 

<?xml version="1.0" encoding="utf-8"?>    save_sp    Settings    save_sp用户名:    密 码:    登陆    记住密码    rom存储    sp存储    sd存储


需要添加的权限:


更多相关文章

  1. 保存数据到手机内存代码优化(QQ登录保存密码)
  2. android NFC读卡demo 适用于M1,
  3. Android(安卓)电视退出程序Animation
  4. android打开文件、保存对话框、创建新文件夹对话框
  5. Android中保存图片到本地功能实现
  6. Android—滑动ListView保存选中状态
  7. 保存和重入Activity 状态的最简单方法
  8. android 日记log保存到本地简单方法
  9. MAC下HBuilder进行Android真机调试

随机推荐

  1. Android基础教程——横竖切换监听、禁止
  2. Android编程之文件操作
  3. AndroidUI自动化测试工具-UIautomator
  4. Android(安卓)获取未读短信同时,一并获取
  5. 开机启动流程
  6. 【Android开发基础】应用界面主题Theme使
  7. eclipse 遭遇及解决 debug调试时 因Andro
  8. Android面试题(五) --重要
  9. Android中Activity启动模式详解
  10. android selector