安卓存储对象到本地
来源:互联网 发布:如何连接linux服务器 编辑:程序博客网 时间:2024/06/06 19:40
直接上代码:
public class MainActivity extends AppCompatActivity{ private String mNum; private String mPw; private TextView mTv; private User mUser; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { mNum = "616368996"; mPw = "123abc"; String base64pw = Base64.encodeToString(mPw.getBytes(), Base64.DEFAULT); mTv = (TextView) findViewById(R.id.tv); mUser = new User(); mUser.setNum(mNum); mUser.setPw(base64pw); } public void clickSave(View view) { saveObject("userinfo",mUser); Toast.makeText(this, "存储数据到本地成功", Toast.LENGTH_SHORT) .show(); } public void clickShow(View view){ //得到保存于本地路径的对象 User saveinfo = (User) getObject("userinfo"); if (null == saveinfo){ Toast.makeText(this, "请重新登录: ", Toast.LENGTH_SHORT) .show(); }else{ String pw = saveinfo.getPw(); //解密 String decodeString = new String(Base64.decode(pw.getBytes(), Base64.DEFAULT)); Toast.makeText(this, "读取数据成功: "+decodeString, Toast.LENGTH_SHORT) .show(); } } public void cleanData(View view){ deleteFile("userinfo"); Toast.makeText(this, "清除数据成功", Toast.LENGTH_SHORT) .show(); } private void saveObject(String name,Object object){ FileOutputStream fos = null; ObjectOutputStream oos = null; try { fos = this.openFileOutput(name, MODE_PRIVATE); oos = new ObjectOutputStream(fos); oos.writeObject(object); } catch (Exception e) { e.printStackTrace(); //这里是保存文件产生异常 } finally { if (fos != null){ try { fos.close(); } catch (IOException e) { //fos流关闭异常 e.printStackTrace(); } } if (oos != null){ try { oos.close(); } catch (IOException e) { //oos流关闭异常 e.printStackTrace(); } } } } private Object getObject(String name){ FileInputStream fis = null; ObjectInputStream ois = null; try { fis = this.openFileInput(name); ois = new ObjectInputStream(fis); return ois.readObject(); } catch (Exception e) { e.printStackTrace(); //这里是读取文件产生异常 } finally { if (fis != null){ try { fis.close(); } catch (IOException e) { //fis流关闭异常 e.printStackTrace(); } } if (ois != null){ try { ois.close(); } catch (IOException e) { //ois流关闭异常 e.printStackTrace(); } } } //读取产生异常,返回null return null; }}
public class User implements Serializable {//要继承,实现序列化 private static final String TAG = "User"; private String num ; private String pw ; public String getNum() { return num; } public void setNum(String num) { this.num = num; } public String getPw() { return pw; } public void setPw(String pw) { this.pw = pw; }}
0 0
- 安卓存储对象到本地
- 安卓本地存储
- 安卓拍照和本地上传图片到服务器(抓取图片的存储路径)
- 安卓应用中的本地存储
- 安卓下载保存到本地(一)
- 安卓下载保存到本地(二)
- android 将对象序列化存储到本地
- html5本地存储对象
- js 本地存储 对象存储
- 基于h5的安卓app开启本地存储
- 安卓调用系统摄像头拍照并保存到本地
- 安卓显示本地图片到一个ImageView
- 11.安卓跳转到一个网页链接、本地链接
- 安卓网上下载 到本地保存 使用框架Retrofit
- List集合存储到本地
- UNITY存储图片到本地
- 本地存储json对象问题
- 对象存储到什么地方
- 部署 instance 到 OVS flat network - 每天5分钟玩转 OpenStack(135)
- 387. First Unique Character in a String
- Java中的拦截器、过滤器、监听器
- python chr()和ord()
- hibernate配置文件XML与注解
- 安卓存储对象到本地
- Codeforces Round #372 (Div. 2) D. Complete The Graph 好题+图论+思维+二分
- Decode Ways
- Android TextView显示文字对齐
- 为什么你总是学不好Linux技术?这是我的答案。
- PDB文件详解
- Ubuntu16.04.1安装mysql的曲折过程
- C语言期末复习
- 【志银】MySQL命令总结