Android开发中常用的一些小技巧(转载)

http://www.jb51.net/article/61135.htm

Activity.startActivities() 常用于在应用程序中间启动其他的Activity.

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

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

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

Build.VERSION_CODES 这个标明了当前的版本号,在处理兼容性问题的时候经常会用到.点进去可以看到各个版本的不同特性

Log.getStackTraceString() 方便的日志类工具,方法Log.v()、 Log.d()、Log.i()、Log.w()和Log.e()都是将信息打印到LogCat中,有时候需要将出错的信息插入到数据库或一个自定义的日 志文件中,那么这种情况就需要将出错的信息以字符串的形式返回来,也就是使用static String getStackTraceString(Throwable tr)方法的时候.

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

ViewConfiguration.getScaledTouchSlop() 使用 ViewConfiguration 中提供的值以保证所有触摸的交互都是统一的。这个方法获取的值表示:用户的手滑动这个距离后,才判定为正在进行滑动.当然这个值也可以自己来决定.但是为了一致性,还是使用标准的值较好.

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

Context.getCacheDir() 获取缓存数据文件夹的路径,很简单但是知道的人不多,这个路径通 常在SD卡上(这里的SD卡指的是广义上的SD卡,包括外部存储和内部存储)Adnroid/data/您的应用程序包名/cache/  下面.测试的时候,可以去这里面看是否缓存成功.缓存在这里的好处是:不用自己再去手动创建文件夹,不用担心用户把自己创建的文件夹删掉,在应用程序卸载 的时候,这里会被清空,使用第三方的清理工具的时候,这里也会被清空.

ArgbEvaluator 用于处理颜色的渐变。就像 Chris Banes 说的一样,这个类会进行很多自动装箱的操作,所以最好还是去掉它的逻辑自己去实现它。这个没用过,不明其所以然,回头再补充.

ContextThemeWrapper 方便在运行的时候修改主题.

Space space是Android 4.0中新增的一个控件,它实际上可以用来分隔不同的控件,其中形成一个空白的区域.这是一个轻量级的视图组件,它可以跳过Draw,对于需要占位符的任何场景来说都是很棒的。

ValueAnimator.reverse() 这个方法可以很顺利地取消正在运行的动画.我超喜欢.

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

AlarmManager.setInexactRepeating 通过闹铃分组的方式省电,即使你只调用了一个闹钟,这也是一个好的选择,(可以确保在使用完毕时自动调用 AlarmManager.cancel ()。原文说的比较抽象,这里详细说一下:setInexactRepeating指的是设置非准确闹钟,使用方 法:alarmManager.setInexactRepeating(AlarmManager.RTC, startTime,intervalL, pendingIntent),非准确闹钟只能保证大致的时间间隔,但是不一定准确,可能出现设置间隔为30分钟,但是实际上一次间隔20分钟,另一次间 隔40分钟。它的最大的好处是可以合并闹钟事件,比如间隔设置每30分钟一次,不唤醒休眠,在休眠8小时后已经积累了16个闹钟事件,而在手机被唤醒的时 候,非准时闹钟可以把16个事件合并为一个, 所以这么看来,非准时闹钟一般来说比较节约能源。

Formatter.formatFileSize() 一个区域化的文件大小格式化工具。通俗来说就是把大小转换为MB,G,KB之类的字符串。

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

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

StaticLayout 在自定义 View 中渲染文字的时候很实用。

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

GestureDetector 用来监听和相应对应的手势事件,比如点击,长按,慢滑动,快滑动,用起来很简单,比你自己实现要方便许多。

DrawFilter 可以让你在不调用onDrew方法的情况下,操作canvas,比了个如,你可以在创建自定义 View 的时候设置一个 DrawFilter,给父 View 里面的所有 View 设置反别名。

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

ViewStub 它是一个初始化不做任何事情的 View,但是之后可以载入一个布局文件。在慢加载 View 中很适合做占位符。唯一的缺点就是不支持标签,所以如果你不太小心的话,可能会在视图结构中加入不需要的嵌套。

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

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

Pair.create() 方便构建类和构造器的方法。

时间: 2024-12-29 07:05:36

Android开发中常用的一些小技巧(转载)的相关文章

Android开发中padding使用一个小技巧

在安卓应用开发中,有时要用到状态按钮(可点击时与不可点击时的背景不相同),而且产品要求的按钮大小是固定的.在不同的手机上按钮的文字显示可能有些异常(主要是在给按钮做背景时很容易出现),此时我们怎么处理呢?我们可以用到padding这个属性. 看看小例子: --------------------------就一个按钮,但是background是用xml文件写的状态selector-------------------------------- <Button android:id="@+i

Android开发中常用的ListView列表的优化方式ViewHolder

在Android开发中难免会遇到大量的数据加载到ListView中进行显示, 然后其中最重要的数据传递桥梁Adapter适配器是常用的,随着市场的需 求变化ListView'条目中的内容是越来越多这就需要程序员来自定义适配器, 而关键的就是适配器的优化问题,适配器没有优化好往往就会造成OOM (内存溢出)或者是滑动卡顿之类的问题,接下来我就给大家介绍一种常 用的Adapter优化方法 1 /** 2 * list View的适配器 3 */ 4 class Adapter extends Bas

Android开发的那些坑和小技巧

1.android:clipToPadding 意思是控件的绘制区域是否在padding里面.默认为true.如果你设置了此属性值为false,就能实现一个在布局上事半功陪的效果.先看一个效果图. 上图中的ListView顶部默认有一个间距,向上滑动后,间距消失,如下图所示. 如果使用margin或padding,都不能实现这个效果.加一个headerView又显得大材小用,而且过于麻烦.此处的clipToPadding配合paddingTop效果就刚刚好. 2.match_parent和wra

iOS开发中的总结的小技巧,分享给大家!!(待续未完)

这是我在写项目或者学习知识点或者请教人家的时候总结的小技巧 原来是写在笔记本上面的,还是分享给大家了.可能会很乱,觉得对自己有用的就拿走吧,有错漏的地方也求大家指点修正.废话不多说直接来. 1. 监听控件的三种方法 1) addTarget 2)代理 3)通知 2. UITextfiled(文本框)中有一个属性:clearButtonMode 选择 UITextFieldViewModeAlways 就可以在输入多个字符后,右边有个x号点一下全部清除,用户体验会好一点. UITextField

iOS 开发中使用到的小技巧汇总

国庆即将来到,一个小项目也即将完成,把自己在项目中用的一些小技巧写出来,方便查找. 1,去掉分割线--动画设置透明度alpha //去掉tableView的分隔线: self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone; self.tableView.showsVerticalScrollIndicator=NO; 2. 解决cell分割线左边短20px的问题 -(void)viewDidLayoutSubviews{ i

Android 开发中常用小技巧

TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是 用setTextSize()的另外一种形式,可以指定单位: 在继承自View时,绘制bitmap时,需要将图片放到新建的drawable-xdpi 中,否则容易出现绘制大小发生改变 在文字中加下划线: textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); scro

android开发中常用的快捷键

Eclipse快捷键-方便查找,呵呵,记性不好 行注释/销注释 Ctrl+/  块注释/销注释/XML注释 Ctrl+Shift+/   Ctrl+Shift+\查找 查找替换 Ctrl+H  Ctrl+F查找下一个/往回找 Ctrl+K   Ctrl+Shift+K跳到某行 Ctrl+L,哈用惯了Editplus,不时会敲下Ctrl+G,查找当前元素的声明 Ctrl+G查找当前元素的所有引用 Ctrl+Shift+G重新组织Import Ctrl+Shift+O,能帮你一次去掉所有未使用的Im

android开发中常用的Eclipse快捷键详细解析

1.查看快捷键定义的地方    Window->Preferences->General->Keys. 2.更改启动页 在AndroidManifest.xml第一个activity标签项中 android:name=".ResultDemoActivity"    ResultDemoActivity改为你想要第一启动的activity. 3.取消对"块注释的格式化"   Windows->Preferences->Java->

Android 开发中常用 ADB 命令总结

adb 的全称为 Android Debug Bridge,就是起到调试桥的作用.通过 adb 我们可以在 Eclipse 中方便通过 DDMS 来调试 Android 程序,说白了就是 debug 工具.adb 的工作方式比较特殊,采用监听 Socket TCP 5554 等端口的方式让 IDE 和 Qemu 通讯,默认情况下 adb 会 daemon 相关的网络端口,所以当我们运行 Eclipse 时 adb 进程就会自动运行.作为开发人员,掌握适当所需要的 ADB 操作命令是非常必须的.就