TextUtils
在java中我们使用String的各种静态方法对String数据进行处理,其实在Android中也有一个类:TextUtils便于处理字符串。
变量a/b都是CharSequence(String是CharSequence的子类 类型。
方法 | 说明 |
---|---|
TextUtils.equals(a, b) | 是否相等 |
TextUtils.isEmpty(a) | a==null,或a.length ==0 |
TextUtils.split(c, “:”) | 切割 |
TextUtils.indexOf(b, “a”) | 在b中,a第一次出现的位置的索引 |
TextUtils.indexOf(b, “a”, 1, 4) | 在b中,[1,4)区间,a第一次出现的位置的索引 |
TextUtils.lastIndexOf(b, ‘a’, 4) | 在b中,[0,4]区间,a第一次出现的位置的索引 |
TextUtils.lastIndexOf(b, ‘a’, 0, 2) | 在b中,[0,2])区间,a第一次出现的位置的索引 |
TextUtils.concat(a, b) | 拼接 |
TextUtils.substring(b, 0, 2) | 截取[0,2] |
TextUtils.replace(b, new String[]{“c”}, new String[]{“C”}) | 替换,用大写C替换小写c |
TextUtils.split(c, “:”):
android.text.format
把文件大小long格式化为KB/MB/GB
String avaibleMem = Formatter.formatFileSize(context, ProcessUtil.getAvailMem(context));
DateFormat
谷歌已经给我们提供了日期格式化的类,和java的SimpleDateFormat
相比功能少一些。
android.text.format.DateFormat
CharSequence date1 = DateFormat.format("yyyy-MM-dd", currentTimeMillis);
CharSequence date2 = DateFormat.format("yyyy-MM-dd", new Date());
System获取当前时间
long time = android.os.SystemClock.currentThreadTimeMillis();
long time2 = java.lang.System.currentTimeMillis();
第一个获取的是当前进程时间;
第二个获取的才是当前系统时间。
android.util.Base64
byte[] decode = Base64.decode("123456", Base64.DEFAULT);
String s = Base64.encodeToString(decode, Base64.DEFAULT);
用什么加密规则,解密酒用什么规则,规则有:
为什么采用base64加密再解密后文本后面出现了\n,采用zxing扫描就会 报错,但是log打印不出来?
原因:采用的不是android系统的Base64这个类,用的是java服务端给得Base64Util.java
工具类,采用android.util.Base64
就可以了。