您的位置:首页 > 移动开发 > Android开发

android一些实用的开发技巧

2017-09-04 14:28 393 查看
android.text.TextUtils这个类就能胜任绝任多数的工作,比如:

public static boolean isEmpty(@Nullable CharSequence str) 这个方法判断字符串非null且非空,在对字符串进行判断时可以不必if(str !=null && str.length() > 0)这样判断。
public static CharSequence concat(CharSequence... text) 字符串连接。有很多字符串,你还在用+拼接或自己new 一个StringBuffer\StringBuilder么?其实这个方法已经帮我们做好了,用StringBuilder实现,进行字符串拼接时可以考虑使用这个方法。而且支持SpannableString。
public static boolean isDigitsOnly(CharSequence str)
public static boolean equals(CharSequence a, CharSequence b) 判断两个字符串对象的内容是否相等,内部进行了非null判断
public static String htmlEncode(String s) 将html代码中的特殊字符进行转码处理
android.text.format.DateUtils 这个类是Android提供的格式化日期的工具类。相对于我们经常使用的SimpleDateFormat类来说,DateUtils已经处理好国际化相关的问题,而且还封装了一些很简便的方法。

public static String formatDateTime(Context context, long millis, int flags); 这个方法可以格式化日期和时间,接收三个参数,其中第三个参数flags决定输出后的格式,如果只输出日期的话:

DateUtils.formatDateTime(context,millis,DateUtils.FORMAT_SHOW_DATE)

如果想输出年或月等等格式的话,就在DateUtils找对应的flags就可以。但是如果想输出年、月、日、星期、日期等多重的结果的组合,可以通过|操作符来运算。

DateUtils.formatDateTime(context, millis, DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_SHOW_TIME);

输出的结果:2016年1月16日星期五 12:40

public static boolean isToday(long when) 判断日期是否是今天
public static CharSequence getRelativeTimeSpanString(long startTime) 返回与当前的相对时间的字符串。这样说有些抽象,比如微信的聊天列表上显示的上一条信息的时间,如果是今天就显示今天的时间,是昨天的就显示昨天,再久远一点的就显示日期(但是这个方法的最大只能精确到天,不能像微信那样显示到几秒前,几分钟前)。

不会偷懒的程序员不是好程序员~,Studio1.5以上的版本鼠标放在http://R.layout.xxx右键-Generator可以看到View VariablesView
Fields
,可以帮你初始化资源文件中有id的view,可以再也不用findViewById了(没有的话请安装JetBrains Plugin Repository ::
Android Studio Prettify,2.0以上默认没有,谢Alex Wang提醒)。



View可以getContext(),所以在设计方法的时候,参数中如果有View了就别搞Context这个参数了。View还可以post(),有view的时候就别new Handler().post()了。
在给Handler发送消息的时候没必要每次都new Message(),而是使用handler.obtainMessage(),它会先看看消息队列里面有没有没用的消息,如果有可以复用消息对象。

安卓从4.4版本开始使用art,它是安装时候编译,运行速度快,安装慢,对rom需求大。dalvik是运行时候编译,运行速度慢,安装快。


安卓默认的堆内存大小是16M。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: