Android开发文件存储的方法是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍"Android开发文件存储的方法是什么",在日常操作中,相信很多人在Android开发文件存储的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年01月19日Android开发文件存储的方法是什么
这篇文章主要介绍"Android开发文件存储的方法是什么",在日常操作中,相信很多人在Android开发文件存储的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android开发文件存储的方法是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Android的文件存储,有I/O流的方式存储,与java一样,还有一种Android自己的SharePreferences存储方法。
下面看一个例子:
用I/O流的方式存储方法和SharePreferences存储方法,存放QQ账号和密码,再次进入页面时,把存储在文件中的账号密码显示在上面。
activity_main.xml
MainActivity.java
package com.example.saveqq;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import java.util.Map;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText user; private EditText password; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //1.初始化view initView(); //2.若用户保存了信息,进行数据回写 //I/O流方法 MapuserInfo = FileSaveQQ.getUserInfo(this); //SharedPreferences的方法/* Map userInfo = SpSaveQQ.getUserInfo(this);*/ if ((userInfo!=null)){ user.setText(userInfo.get("user")); password.setText(userInfo.get("password")); } } private void initView() { //控件的初始化 user = (EditText)findViewById(R.id.et_number); password = (EditText)findViewById(R.id.et_password); button = (Button) findViewById(R.id.btn_login); //2.设置按钮点击事件 button.setOnClickListener(this); } @Override public void onClick(View v) { //1.点击获取账号密码 String s_user = user.getText().toString().trim(); String s_password = password.getText().toString().trim(); //2.检查用户名和密码是否为空 if (TextUtils.isEmpty(s_user)){ Toast.makeText(this,"请输入QQ账号",Toast.LENGTH_LONG).show(); return; } if (TextUtils.isEmpty(s_password)){ Toast.makeText(this,"请输入QQ密码",Toast.LENGTH_LONG).show(); return; } Toast.makeText(this,"登陆成功",Toast.LENGTH_LONG).show(); //3.保存用户信息 //I/O流的方法 boolean isSaveSuccess = FileSaveQQ.saveUserInfo(this,s_user,s_password); //用SharedPreferences的方法/* boolean isSaveSuccess = SpSaveQQ.saveUserInfo(this,s_user,s_password);*/ if (isSaveSuccess){ Toast.makeText(this,"保存成功",Toast.LENGTH_LONG).show(); }else{ Toast.makeText(this,"保存失败",Toast.LENGTH_LONG).show(); } }}
用i/o流方法
FileSaveQQ.java
package com.example.saveqq;import android.content.Context;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.HashMap;import java.util.Map;public class FileSaveQQ { //保存QQ账号和密码到data.txt public static boolean saveUserInfo(Context context,String user,String password){ try { //1.通过上下文获取文件输出流 FileOutputStream fos = context.openFileOutput("data.txt",context.MODE_APPEND); //2.把数据写到文件中 fos.write((user+":"+password).getBytes()); fos.close(); return true; } catch (IOException e) { e.printStackTrace(); return false; } } public static MapgetUserInfo(Context context){ String content = ""; try { FileInputStream fis = context.openFileInput("data,txt"); byte[] buffer = new byte[fis.available()]; fis.read(buffer); Map userMap = new HashMap (); content = new String(buffer); String[] infos = content.split(":"); userMap.put("user",infos[0]); userMap.put("password",infos[1]); fis.close(); return userMap; } catch (IOException e ) { return null; } }}
用SharedPreferences的方法
SpSaveQQ.java
package com.example.saveqq;import android.annotation.SuppressLint;import android.content.Context;import android.content.SharedPreferences;import java.util.HashMap;import java.util.Map;//保存QQ账号和密码到data.xml中public class SpSaveQQ { public static boolean saveUserInfo(Context context,String username,String password){ SharedPreferences sp = context.getSharedPreferences("data",context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("username",username); editor.putString("password",password); editor.commit(); return true; } //从data.xml文件中获取存储的QQ账号和密码 public static MapgetUserInfo(Context context){ SharedPreferences sp = context.getSharedPreferences("data",context.MODE_PRIVATE); String username = sp.getString("username",""); String password = sp.getString("password",""); Map userMap = new HashMap<>(); userMap.put("username",username); userMap.put("password",password); return userMap; }}
运行截图:
重新进入页面:
到此,关于"Android开发文件存储的方法是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
方法
存储
文件
密码
账号
开发
学习
用户
成功
信息
数据
方式
更多
页面
帮助
输入
实用
接下来
上下
上下文
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海豹网络技术有限公司
服务器6核和4核区别大吗
网络安全观还有什么观
兴化网络技术是什么
广东智能软件开发厂家报价
网络安全条例详细解析
天津服务器机房销售公司云主机
服务器虚拟磁盘设置
工业控制网络技术第一章答案
有关网络安全法的征文
i7酷睿处理器服务器
公积金中心网络安全维护工作
国家鼓励的软件开发核心项目
天津联想服务器虚拟化设计云主机
鱼网络安全
安康广电网络dns服务器
北京市网络安全专业委员会
软件开发公司 南京
购买emby媒体服务器
在数据库查询选修课程的信息
网络安全威胁措施
广东省数据库
电脑加载家庭云服务器
和网络技术有关的参考文献
虚拟现实网络安全股
宝安网络安全服务
长沙路草软件开发是不是坑
万全服务器多少钱
计算机网络技术段欣
网络安全政府机构