1.只保留float类型的一位小数,  String.format("%.1f", float值)
 
2.android  edittext 限制输入内容:  android:digits="0123456789"
 
3.PendingIntent可以简单地理解为延迟执行的Intent
 
4.RadioButton里面的属性android:button="@null"去掉前面的圆点
 
5.在setText()的过程中,如果出现Stirng#ID not found的错误的话,是因为传入setText()的参数不是String类型的
 
6.armeabi目录是专门用于存放so文件的地方,so文件是用C/C++语言进行编写,然后再用NDK编译出来的。
 
7.android原生状态下的工程*#*#4636#*#*  进入工程模式后,也没什么卵用
 
8.非android原生状态下,不同品牌的手机进入命令不同,在进入工程模式后,可以设置
log开关,在本地输出log
 
9.RelativeLayout 的布局特性,写在下面的控件会放在上面一层,适用于解决这样的布局问题
 
10.ListView的展开动画
      
 LayoutAnimationController lac = new LayoutAnimationController(AnimationUtils.loadAnimation(MyReportActivity. this,R.anim. zoom_in));                              
 lac.setOrder(LayoutAnimationController. ORDER_NORMAL);
                        report_list.setLayoutAnimation(lac);
                        report_list.startLayoutAnimation();
 
 
11. 注意在调用startActivityForResult()方法之前,先调用resolveActivity(),这个方法会返回能处理该Intent的第一个Activity(译注:即检查有没有能处理这个Intent的Activity)。执行这个检查非常重要,因为如果在调用startActivityForResult()时,没有应用能处理你的Intent,应用将会崩溃。所以只要返回结果不为null,使用该Intent就是安全的。
 
static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }

}
12.TextView可以通过ellipsize属性可以设置省略号的位置,start,middle,end
 
13.activity中继承baseactivity的点击事件没有反应,是因为在onclick中没有调用父类的方法
   super.onlick();
 
14.android计时器控件Chronometer,时钟AnalogClock,DigitalClock,状态开关按钮ToggleButton,单选按钮RadioButton
 
15.String.toUpperCase()这个方法是将字符串全都转化为大写
 
16.当前Activity的onPause方法执行结束后才会执行下一个Activity的onCreate方法,所以在onPause方法中不适合做耗时较长的工作,
这会影响到页面之间的跳转效率
 
17.不要通过Bundle传递大块的数据,否则会报TransactionTooLargeException:java - Issue: Passing large data to second Activity
 
18.使用Adapter的时候,如果你使用ViewHolder做缓存,在getView的方法中无论这项的每个视图是否需要设置属性(比如TextView设置的属性可能为null,item的某一个按钮的背景为透明,某一项的颜色为透明等),都需要为每一项的所有视图设置属性(TextView的属性为空也需要设置setText("")),
背景透明也需要设置),否则在滑动的过程中会出现内容的显示错乱
 
19.什么时候不能使用Application的context
 
20.使用Toast时,建议定义一个全局的Toast对象,这样可以避免连续显示Toast时不能取消上一次Toast消息的情况(如果你有连续弹出Toast的情况,避免使用Toast.makeText);
 
21.不要通过Msg传递大的对象,会导致内存问题;
 
22.Eclipse的工程转成AS的版本后,在同一个机器中安装会报”INSTALL_FAILED_VERSION_DOWNGRADE“这个错误,原因是因为as除了可以在Manifest.xml文件中设置apk的版本名和版本号,还可以在build.gradle文件中设置apk的版本名和版本号,记得修改build.gralde中的版本名和版本号到最新就可以了;
 
23.谨慎使用Android的多进程,多进程虽然能够降低主进程的内存压力,但会遇到如下问题:
(1)不能实现完全退出所有Activity的功能(如果有同行在应用内采用多进程成功实现过完全退出程序欢迎沟通交流);
(2)首次进入新启动进程的页面时会有延时的现象(有可能黑屏、白屏几秒,是白屏还是黑屏和新Activity的主题有关);
(3)应用内多进程时,新启动一个进程都会重新跑一次Application的onCreate方法,不上重新创建一个Application,但会重新跑Application的onCreate,这样就不能在Application中缓存数据作为内存共享的途径了;
(4)多进程间通过SharedPreferences共享数据时不稳定,具体可以查阅《Android开发艺术探索》。
 
24.不能在Activity没有完全显示时显示PopupWindow和Dialog
 
25. 谨慎使用Android的透明主题,透明主题会导致很多问题,比如:如果新的Activity采用了透明主题,那么当前Activity的onStop方法不会被调用;在设置为透明主题的Activity界面按Home键时,可能会导致刷屏不干净的问题;进入主题为透明主题的界面会有明显的延时感;
 
26. View的面积越大绘制的时间就越长,透明通道对View的绘制速度影响很大
 
27. Eclipse的Android开发环境配置好后不要轻易升级ADT和build tools,不然会浪费你很多时间,还有就是一个workspace中的工程不要太多,不然每次启动都会很慢;
 
28. Android studio每个版本、gradle每个版本差别都比较大(我是这样认为的),对于jni代码的编译建议在Eclipse中进行,如果在Android studio中开发jni会浪费很多时间,主要是编译脚本的配置比较麻烦
 
29.Volley比较适合数据量不大但是通信频繁的场景。它当初的设计目标就是非常适合去进行数据量不大,但是网络通信比较频繁的操作。但是如果数据量很大的网络例如:文件下载这类的,Volley框架的效率就会比较差了。
 
30.

<activity
    android:name=".act.ActLogin"
    android:screenOrientation="portrait"

    android:windowSoftInputMode="adjustUnspecified|stateHidden" />
 
31.handler如果是在主线程中创建的,handler执行的内容还是在主线程
32. sqlite中的replace语句表示如果存在就update,不存在就insert
33.

让TextView滑动
 
1.在xml布局文件中,加上这一句 android:scrollbars = "vertical"
 
2.再在代码中加上,yourTextView.setMovementMethod(new ScrollingMovementMethod())
 
34.
Android中Activity的四种启动方式:
 
1.standard
               每启动一个新的Activity,它就会在返回栈中入栈,并出入栈顶的位置.
               对于使用standard启动的Activity,系统不会在乎这个Activity是否已经在返回栈中存在
 
2.singleTop
               在启动Activity时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例
 
3.singleTask
               每次启动一个Activity时系统会首先在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例
               并且把在这个Activity之上的所有Activity统统出栈
               如果没有发现就会创建一个新的Activity实例
 
4.singleInstance
               当Activity的启动模式为singleInstance时,系统会启用一个新的返回栈来管理这个活动
 
35.有关adpter中异步设定imagview图片混乱的问题
if (convertView == null) {
convertView = inflater.inflate(R.layout.login_identity_grid_item, null);
mViewHolder = new ViewHolder();
convertView.setTag(mViewHolder);
}
final ViewHolder mViewHolder = (ViewHolder) convertView.getTag();
 
36.延时操作
 

Android-小tips的更多相关文章

  1. Android Studio tips and tricks 翻译学习

    Android Studio tips and tricks 翻译 这里是原文的链接. 正文: 如果你对Android Studio和IntelliJ不熟悉,本页提供了一些建议,让你可以从最常见的任务 ...

  2. 小tips: zoom和transform:scale的区别

    小tips: zoom和transform:scale的区别 转自 张鑫旭 前端大神 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://w ...

  3. HTML meta锚点跳转 小tips

    小tips meta锚点跳转 http://www.zhangxinxu.com/wordpress/2015/03/meta-http-equiv-refresh-content/

  4. [Xamarin.Android] ActionBar Tips

    [Xamarin.Android] ActionBar Tips ActionBar用途 快速搞懂 ActionBar的用途,可以参考下列文章: [Android]使用 ActionBarCompat ...

  5. [Xamarin.Android] Fragment Tips

    [Xamarin.Android] Fragment Tips Fragment用途 快速搞懂 Fragment的用途,可以参考下列文章: Android Fragment 使用心得 Android ...

  6. 一个简单的Android小实例

    原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台   3.安装J ...

  7. android小程序之幸运菜谱

    android小程序之幸运菜谱 前言:刚刚结束短短5天的android公开课程,收获不少,写下来记录一下吧!(因为学校校企公开课的缘故才偶然接触的android,所以只学了这几天,不喜勿喷) 一开始得 ...

  8. Windows7驱动调试小Tips

    v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...

  9. 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips

    1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...

  10. 小tips:JS之浅拷贝与深拷贝

    浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: functio ...

随机推荐

  1. GUID 全局统一标识符的介绍

    GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...

  2. 百度之星初赛2A 1001 ALL X(HDU 5690)

    All X Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  3. Network of Schools --POJ1236 Tarjan

    Network of Schools Time Limit: 1000MS Memory Limit: 10000K Description A number of schools are conne ...

  4. ISAP算法对 Dinic算法的改进

    ISAP算法对 Dinic算法的改进: 在刘汝佳图论的开头引言里面,就指出了,算法的本身细节优化,是比较复杂的,这些高质量的图论算法是无数优秀算法设计师的智慧结晶. 如果一时半会理解不清楚,也是正常的 ...

  5. FTP命令

    linux下常用FTP命令 1. 连接ftp服务器   1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 ...

  6. selenium定位元素(本内容从https://my.oschina.net/flashsword/blog/147334处转载)

    注明:本内容从https://my.oschina.net/flashsword/blog/147334处转载. 在使用selenium webdriver进行元素定位时,通常使用findElemen ...

  7. Android二维码功能实现,在程序内嵌入ZXing项目

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9526247 最近二维码真是越来越火了,随便电视上.网络上.商场里,到处都是二维码. ...

  8. adnroid 监听软键盘的显隐

    首先注明出处,我只是想做个笔记:http://www.jb51.net/article/64820.htm 第一眼看到的时候,觉得不太可靠,因为之前都是看到这样处理的,根据监听一个根布局的size,可 ...

  9. 部署wcf到IIS时的问题

    1,部署到IIS后,在浏览器可以访问.但客户端添加服务引用时,出现错误: - 下载“http://admin-pc/IISHostService/Service1.svc?xsd=xsd0”时出错.- ...

  10. 【分享】图解Windows Server 2012 R2 配置IIS 8全过程

    最近计划更换服务器,包括IIS服务器与数据库服务器,操作系统都是Windows Server 2012 R2,第一次接触Windows Server 2012,感觉比较新鲜,一路摸索完成了IIS 8 ...