android文件存储和SharedPreferences存储的方法
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要讲解了"android文件存储和SharedPreferences存储的方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"android文
千家信息网最后更新 2025年01月16日android文件存储和SharedPreferences存储的方法
这篇文章主要讲解了"android文件存储和SharedPreferences存储的方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"android文件存储和SharedPreferences存储的方法"吧!
演示
【文件存储】中查看设备保存的文件
目录
activity_main
MainActivity
/** * 文件存储和SharedPreferences存储实例 */public class MainActivity extends AppCompatActivity { private EditText et_account, et_password; //账号输入框、密码输入框 private Button loginBtn; //登录按钮 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { et_account = findViewById(R.id.et_account); et_password = findViewById(R.id.et_password); loginBtn = findViewById(R.id.btn_login); //点击监听事件 loginBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn_login: //当点击登录按钮时,获取界面上输入的 QQ 账号和密码 String account = et_account.getText().toString().trim(); String password = et_password.getText().toString(); //检验输入的账号和密码是否为空 if (TextUtils.isEmpty(account)) { Toast.makeText(getApplicationContext(), "请输入 QQ 账号", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(password)) { Toast.makeText(getApplicationContext(), "请输入密码", Toast.LENGTH_SHORT).show(); return; } //文件存储 //saveOfFile(account,password); //SharedPreferences存储 saveOfSharedPreferences(account,password); break; } } }); } //SharedPreferences存储 private void saveOfSharedPreferences(String account, String password) { //获取 QQ 账号和密码信息 SharedPreferences userInfo=SPSaveQQ.getUserInfo(getApplicationContext()); if (userInfo.getString("username", "") != null&&userInfo.getString("pwd", "") != null) { String username = userInfo.getString("username", "");//读取账号 String pwd = userInfo.getString("pwd", "");//读取密码 Log.i("user", "读取用户信息"); Log.i("user", "username:" + username + ", pwd:" + pwd); if (username.equals(account) && pwd.equals(password)) { Toast.makeText(getApplicationContext(), username+"登录成功!", Toast.LENGTH_SHORT).show(); }else { Log.i("user", "用户或密码错误!"); //保存用户信息 boolean isSaveSuccess = SPSaveQQ.saveUserInfo(getApplicationContext(), account, password); if (isSaveSuccess) { Toast.makeText(getApplicationContext(), "保存成功!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "保存失败!", Toast.LENGTH_SHORT).show(); } } }else{ //保存用户信息 boolean isSaveSuccess = SPSaveQQ.saveUserInfo(getApplicationContext(), account, password); if (isSaveSuccess) { Toast.makeText(getApplicationContext(), "保存成功!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "保存失败!", Toast.LENGTH_SHORT).show(); } } } //文件存储 private void saveOfFile(String account, String password) { //获取 QQ 账号和密码信息 MapuserInfo = FileSaveQQ.getUserInfo(getApplicationContext()); if (userInfo != null) { //将获取的账号显示到界面上 et_account.setText(userInfo.get("account")); //将获取的密码显示到界面上 et_password.setText(userInfo.get("password")); Toast.makeText(getApplicationContext(), userInfo.get("account")+"登录成功!", Toast.LENGTH_SHORT).show(); }else{ //保存用户信息 boolean isSaveSuccess = FileSaveQQ.saveUserInfo(getApplicationContext(), account, password); if (isSaveSuccess) { Toast.makeText(getApplicationContext(), "保存成功!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "保存失败!", Toast.LENGTH_SHORT).show(); } } }}
FileSaveQQ
/** * 实现 QQ 账号与密码的文件存取与读取功能 */public class FileSaveQQ { /** * 保存用户信息 * @param context * @param account 账号 * @param password 密码 * @return */ public static boolean saveUserInfo(Context context, String account, String password) { //文件的输出流对象 FileOutputStream fos = null; try { //获取文件的输出流对象 fos,该文件只能被当前程序读写 fos = context.openFileOutput("user.txt", Context.MODE_PRIVATE); //将数据转换为字节码的形式写入 user.txt 文件中 fos.write((account + ":" + password).getBytes()); return true; } catch (Exception e) { e.printStackTrace(); return false; }finally { try { if(fos != null){ fos.close(); } } catch (IOException e) { e.printStackTrace(); } } } /** * 从 user.txt 文件中获取存储的用户信息 * @param context * @return */ public static MapgetUserInfo(Context context) { String content = ""; //文件的输入流对象 FileInputStream fis = null; try { //获取文件的输入流对象 fis fis = context.openFileInput("user.txt"); //将输入流对象中的数据转换为字节码的形式 byte[] buffer = new byte[fis.available()]; //通过 read()方法读取字节码中的数据 fis.read(buffer); //将获取的字节码转换为字符串 content = new String(buffer); Map userMap = new HashMap (); String[] infos = content.split(":"); //放入账号密码 userMap.put("account", infos[0]); userMap.put("password", infos[1]); Log.i("user", "读取用户信息"); Log.i("user", "account:" + infos[0] + ", password:" + infos[1]); return userMap; } catch (Exception e) { e.printStackTrace(); return null; } finally { try { if (fis != null) { fis.close(); } } catch (IOException e) { e.printStackTrace(); } } }}
SPSaveQQ
/** * 实现 QQ 账号与密码SharedPreferences的存取与读取功能 */public class SPSaveQQ { /** * 保存用户信息 */ public static boolean saveUserInfo(Context context, String account, String password){ SharedPreferences sharedPreferences = null; try { sharedPreferences = context.getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit();//获取编辑器 editor.putString("username", account); editor.putString("pwd", password); editor.commit();//提交修改 return true; }catch (Exception e){ e.printStackTrace(); return false; }finally { if(sharedPreferences != null){ return true; } return false; } } /** * 读取用户信息 */ public static SharedPreferences getUserInfo(Context context){ SharedPreferences userInfo = context.getSharedPreferences("user", Context.MODE_PRIVATE); return userInfo; }}
感谢各位的阅读,以上就是"android文件存储和SharedPreferences存储的方法"的内容了,经过本文的学习后,相信大家对android文件存储和SharedPreferences存储的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
文件
存储
密码
账号
信息
用户
输入
方法
成功
对象
字节
登录
数据
界面
学习
内容
功能
形式
按钮
存取
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发年终总结 计划
广州软件开发课程
百货商店日记软件开发
网络安全技能大赛视频
数据库统计信息没有收集
网络安全与文明的议论文
西藏智慧养老软件开发电话
设立国家网络安全教育日
视频文件数据库
网络安全检讨书怎么写
专家模型软件开发步骤
网络安全中的3g
松江区品牌软件开发诚信经营
网络传媒软件开发
数据库安全性控制技术规范
电脑ftp服务器软件
打开管理服务器窗口
湖南软件开发工程师
慈溪软件开发有哪些
网络安全片头素材可编辑
融媒体中心网络安全报告
数据库二维码展示
河北鸿搜网络技术有限
计算机网络技术数据通信
谷歌地球app底层数据库
app软件开发一般多少钱
武汉铁路局网络安全考试
衢州市思晨软件开发有限公司
鼎炬服务器
长沙零点网络技术有限公司