转载请注明,原文地址:http://blog.csdn.net/liu17ezlyy

偶尔看到一些老外的代码,总感觉他们写太好了,很赞。我技术一般,没有这么大的能耐,只能简单优化一下我认为能缩减的代码,不要一个方法复制来,复制去的。下面优化了

SharedPreferences和Toast的使用。

1:SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。

我把常用到的取出String类型数据,int类型数据和保存string类型数据,int类型数据,一共四个方法,简单的写到了一起。

[java] view plaincopy
  1. /**
  2. * @author Liu Chuanyang
  3. * address:JiNan ShanDong
  4. * QQ:516542477 welcome communication
  5. * 2013-1-25下午5:09:22
  6. */
  7. package com.ly.util;
  8. import android.content.Context;
  9. import android.content.SharedPreferences;
  10. import android.view.Gravity;
  11. import android.widget.Toast;
  12. /**
  13. * @author Administrator
  14. *
  15. */
  16. public class myConfig {
  17. /**
  18. *
  19. * @param mContext 上下文,来区别哪一个activity调用的
  20. * @param whichSp 使用的SharedPreferences的名字
  21. * @param field SharedPreferences的哪一个字段
  22. * @return
  23. */
  24. //取出whichSp中field字段对应的string类型的值
  25. public static String getSharePreStr(Context mContext,String whichSp,String field){
  26. SharedPreferences sp=(SharedPreferences) mContext.getSharedPreferences(whichSp, 0);
  27. String s=sp.getString(field,"0");//如果该字段没对应值,则取出字符串0
  28. return s;
  29. }
  30. //取出whichSp中field字段对应的int类型的值
  31. public static int getSharePreInt(Context mContext,String whichSp,String field){
  32. SharedPreferences sp=(SharedPreferences) mContext.getSharedPreferences(whichSp, 0);
  33. int i=sp.getInt(field,0);//如果该字段没对应值,则取出0
  34. return i;
  35. }
  36. //保存string类型的value到whichSp中的field字段
  37. public static void putSharePre(Context mContext,String whichSp,String field,String value){
  38. SharedPreferences sp=(SharedPreferences) mContext.getSharedPreferences(whichSp, 0);
  39. sp.edit().putString(field, value).commit();
  40. }
  41. //保存int类型的value到whichSp中的field字段
  42. public static void putSharePre(Context mContext,String whichSp,String field,int value){
  43. SharedPreferences sp=(SharedPreferences) mContext.getSharedPreferences(whichSp, 0);
  44. sp.edit().putInt(field, value).commit();
  45. }
  46. /**
  47. * Toast的封装
  48. * @param mContext 上下文,来区别哪一个activity调用的
  49. * @param msg 你希望显示的值。
  50. */
  51. public static void showMsg(Context mContext,String msg) {
  52. Toast toast=new Toast(mContext);
  53. toast=Toast.makeText(mContext,msg, 300);
  54. toast.setGravity(Gravity.CENTER_HORIZONTAL,0,0);//设置居中
  55. toast.show();//显示,(缺了这句不显示)
  56. }
  57. }

其实就是写成了方法,使用的直接调用方法就行了。

例如使用其中的getSharePreStr和showMsg方法

[java] view plaincopy
  1. String s=myConfig.getSharePreStr(MainActivity.this, "sp", "sp");
  2. myConfig.showMsg(MainActivity.this, s);

最后放上工程

http://download.csdn.net/detail/liu17ezlyy/5029162

转载于:https://blog.51cto.com/liu17ezlyy/1127858

『後起Android开发02』对SharedPreferences和Toast的简单封装相关推荐

  1. ios开发之使用多文件上传的简单封装最原始的

    ios开发之使用多文件上传的简单封装最原始的 // // ViewController.m // 18-上传多个文件 // // Created by 鲁军 on 2021/2/13. //#impo ...

  2. Android开发中父类与子类通讯的一个简单实现

    在给出解决方案之前,提出一个问题:Android开发中如何将父类的改变及时通知给子类? 好吧,开始抓耳挠腮,可算是找出了解决方案: 1.在子类内注册父类的监听器 2.通过广播接收者(Broadcast ...

  3. android 软键盘工具类,Android开发之弹出软键盘工具类简单示例

    本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...

  4. Android地址(省市区)、日期、时间滚轮选择器简单封装

    前言: 1.android开发中时间.日期.地址等滚轮选择器很常见,很多App会使用这种效果,收集了一下资料,于是自己做了一个简单封装,方便使用,感谢各位大佬的资料,效果如图: 2.使用方法代码如下: ...

  5. android中对Toast的简单封装

    // 一般做法 public void showToast(Context context, String msg) { Toast.makeText(context, msg, Toast.LENG ...

  6. android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  7. Android开发遇到手机无法弹出Toast

    今天遇到了一个很奇怪的问题,一个很简单的程序,就是点击按钮弹出一个Toast,但在手机上运行起来,却没有正常弹出Toast 第一反应就是看看是否调用了show方法,很显然,并不是这个低级问题,为了确定 ...

  8. Android开发基础学习总结

    最近一直在学习安卓开发,主要从安卓的基础组件,布局,Activity学起,也是边学习边整理笔记,希望可以给需要帮助的人解决能解决掉的问题,以后也会慢慢更新的. 一.Android布局 1.Androi ...

  9. Android开发----音乐播放器(界面设计)

    转眼也沦为"大四狗"的行列当中去,本来打算在暑假的时候找一个实习,结果学校临时安排了"暑期实训" 原本计划好的安排全部被打乱了,哎~~~也只能跟着学校的脚步&q ...

最新文章

  1. 夜深了,发点无聊的东西
  2. Asp.Net Core使用Skywalking实现分布式链路追踪
  3. [渝粤教育] 广东-国家-开放大学 21秋期末考试个人与团队管理10257k2
  4. java和vue2.0
  5. php 实现图片上传并压缩功能
  6. cordova-plugin-themeablebrowser 0.2.17 ThemeableBrowserionic跳转外链插件在ios中heardBar会遮住内容的bug...
  7. 两种不同字符串比较方法的性能对比
  8. Java循环练习: 有1、2、3、4四个数字,能组成多少个无重复数字的三位数?都是多少?...
  9. c语言 公式编辑器,AxMath(公式计算编辑器)
  10. Java大数运算(BigInteger BigDecimal)
  11. react 多行或单行文本溢出省略显示省略号(...)
  12. source命令用法详解
  13. 冈萨雷斯:数字图像处理(一):第一章绪论
  14. Andersen Global首次进入塞拉利昂市场,继续拓展非洲业务
  15. java for语句 实现一个功能:
  16. Clickhouse基本函数( 转载)
  17. 实验四:继承性和派生类 建一个楼房Building为基类,建立住宅类House继承Building,存储房号和面积,建立办公室类Office继承Building,存储办公室名称和电话
  18. 实现蝴蝶翩翩飞舞的效果
  19. catia制作物料明细,如何在CATIA中生成产品物料清单 划重点了
  20. vue3 不推荐使用index作为v-for遍历的key

热门文章

  1. python中的列表和元组_浅析Python中的列表和元组
  2. thunderx 循环获得_湖北专业生产CY310热循环风机厂商
  3. session登录状态保持html,Flask使用Session和上下文处理器保持登录状态
  4. idea 填充变量类型_填充IntelliJ IDEA项目
  5. python threading.Condition
  6. jinja Evnironment
  7. Numpy Binary operations
  8. Hadoop HIVE 创建表
  9. C语言 extern
  10. python与线性代数 解线性方程组