手记

Android开发小技巧

总结下在Android开发中的一些小技巧,不足之处,希望多多包涵

  • 基础内容部分

  1. TextUtils.isEmpty() 简单的工具类,用于检测是否为空

  2. Html.fromHtml() 用于生成一个Html,参数可以是一个字符串.个人认为它不是很快,所以我不怎么经常去用.(我说不经常用它是为了重点突出这句话:请多手动构建 Spannable 来替换 Html.fromHtml),但是它对渲染从 web 上获取的文字还是很不错的

  3. TextView.setError() 在验证用户输入的时候很棒

  4. LayoutInflater.from() 顾名思义,用于Inflate一个layout,参数是layout的id.这个经常写Adapter的人会用的比较多

  5. PhoneNumberUtils.convertKeypadLettersToDigits 顾名思义.将字母转换为数字,类似于T9输入法

  6. DateUtils.formatDateTime() 用来进行区域格式化工作,输出格式化和本地化的时间或者日期.

  • 进阶部分

  1. ActionBar.hide()顾名思义,隐藏和显示ActionBar,可以优雅地在全屏和带Actionbar之间转换.

  2. Linkify.addLinks() 在Text上添加链接.很实用.

  3. ActivityManager.getMemoryClass() 告诉你你的机器还有多少内存,在计算缓存大小的时候会比较有用

  4. ystemClock.sleep() 这个方法在保证一定时间的 sleep 时很方便,通常我用来进行 debug 和模拟网络延时

  5. onBackPressed()很方便的管理back键的方法,有时候需要自己控制返回键的事件的时候,可以重写一下.比如加入 “点两下back键退出” 功能

  6. DisplayMetrics.density 这个方法你可以获取设备像素密度,大部分时候最好让系统来自动进行缩放资源之类的操作,但是有时候控制的效果会更好一些.(尤其是在自定义View的时候).

  • 提高部分

  1. Fragment.setArguments——因为在构建 Fragment 的时候不能加参数,所以这是个很好的东西,可以在创建 Fragment 之前设置参数(即使在 configuration 改变的时候仍然会导致销毁/重建)

  2. DialogFragment.setShowsDialog ()—— 这是一个很巧妙的方式,DialogFragment 可以作为正常的 Fragment 显示!这里可以让 Fragment 承担双重任务。我通常在创建 Fragment 的时候把 onCreateView ()和 onCreateDialog ()都加上,就可以创建一个具有双重目的的 Fragment

  3. FragmentManager.enableDebugLogging ()——在需要观察 Fragment 状态的时候会有帮助

  4. LocalBroadcastManager——这个会比全局的 broadcast 更加安全,简单,快速。——顾名思义,这是对数字进行格式化操作的时候用的

  5. PackageManager.checkSignatures ()——如果同时安装了两个 app 的话,可以用这个方法检查。如果不进行签名检查的话,其他人可以轻易通过使用一样的包名来模仿你的 app

  6. Activity.isChangingConfigurations ()——如果在 Activity 中 configuration 会经常改变的话,使用这个方法就可以不用手动做保存状态的工作了

  7. Android:scaleType (ImageView)——定义在 ImageView 中怎么缩放/剪裁图片,一般用的比较多的是“centerCrop”和“centerInside”

  8. ViewDragHelper ——视图拖动是一个比较复杂的问题。这个类可以帮助解决不少问题。

  9. PopupWindow—-Android到处都在使用PopupWindow ,甚至你都没有意识到(标题导航条ActionBar,自动补全AutoComplete,编辑框错误提醒Edittext Errors)。这个类是创建浮层内容的主要方法

  10. ThumbnailUtils——帮助创建缩略图。通常我都是用现有的图片加载库(比如,Picasso 或者 Volley),不过这个ThumbnaiUtils可以创建视频缩略图。该API从V8才开始支持

  11. SQLiteDatabase.yieldIfContendedSafely()——让你暂时停止一个数据库事务, 这样你可以就不会占用太多的系统资源

  12. ActivityManager.clearApplicationUserData()—— 一键清理你的app产生的用户数据,可能是做用户退出登录功能,有史以来最简单的方式了

原文链接:http://www.apkbus.com/blog-822719-67555.html

0人推荐
随时随地看视频
慕课网APP