android开发经验

发现android真蛋疼,xml文件问题真多,一个出问题感觉所有的都有问题了
出现问题肯定是某个xml文件有错误
android:R文件不能重新生成、或R文件中id、string等不能识别问题


1.先看main.xml等布局中是否有不存在的资源,如@drawble/btn,btn.png不存在就会出问题
2.string.xml比较容易忽略,注意记得用Eclipse在创建values下的xml文件创建value值时不要复制粘贴,因为经常会把字符串复制到xml文件的最前面,我也不知道这是为什么。
3.一定要注意所有的settings.xml中theme是否都存在,用eclipse将项目clean以后这些apptheme的parent中的那个theme基本上就会被清除找不到了。

确保所有的xml文件都没有错误后,validate或refresh或appTools->fix properties就可以重新生成R文件了

4.新版本的Eclipse中新建项目的时候将minium选择4.0以上就不会生成那个样式项目,否则为了删掉那个样式项目要改很多东西有时候还不一定改的好







浮点数很耗时间,牛人Gray = R*0.299 + G*0.587 + B*0.114
                       Gray = (R*299 + G*587 + B*114 + 500) / 1000
     Gray = (R*30 + G*59 + B*11 + 50) / 100
                      Gray = (R*19595 + G*38469 + B*7472) >> 16
     Gray = (R*38 + G*75 + B*15) >> 7
AsyncTask注意事项
1.注意Task的实例必须在UI thread中创建
2.execute方法必须在UI thread中调用

3.该task只能被执行一次,否则多次调用时将会抛出异常


犯过的错误,谨记再犯

1.finViewById进行类型转换的时候类型错误

2.eclipse中看不到Log.d等的信息,原因是我用的华为手机,需要对手机进行设置才能看到,http://hi.baidu.com/windgoing/item/507be1a9ac067d2d8919d3ea

3.在继承onDestroy()时忘记了加super.onDestroy()

4.不同xml中出现了相同的id,用finViewById会找不到正确的资源,程序会直接强制退出

5.经常忘记在AndroidManifest.xml中注册新加的Activity


页面布局:

1.用fill_parent,支持所有版本,真不知道是怎么想的match_parent是2.3才支持的,所以match_parent相当于没用啊,用这个干什么

2.LinearLayout和RelativeLayout都要用,以前还只用RelativeLayout,最好页面最外面用LinearLayout

经常忘记了一些属性怎么设置,可以先将=""删掉,再输入=就会有提示

3.背景都用xml定义,放到drawable中,颜色写到color.xml中,尺寸写到dimens.xml中

drawable的优先级:先是在drawable文件夹中寻找xml文件,再到drawable-hdpi中查找图片
在drawable文件夹中可以定义各种按钮动作,以及背景形状等等

为了防止拉伸变形,将图片修改成为Nine-Pacth,以.9为后缀名的文件,工具打开方式为:sdk路径/tools/draw9patch.bat  其实就是在原有的图片周围画上黑线,上边和左边的黑线是代表可以拉伸的位置,可以断开;右边和下边的黑线是文本内容可以显示的地方,不画的情况下内容可以显示在图形的任意地方,如果画的画注意黑线是不能断开的。

将所有的尺寸大小定义在values->dimens.xml文件中
如: <dimen name="comment_tree_layout_width">60dip</dimen>
使用时为 android:layout_width="@dimen/comment_tree_layout_width"

将一些通用的样式可以定义在values->styles.xml文件中,可以精简很多代码
如: <style name="service_process_layout">
       <item name="android:layout_marginTop">20dip</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">60dip</item>
   </style>
使用时为style="@style/service_process_layout"  注意style前面没有加android:

将所有字符串放到values->strings.xml文件中
将所有的颜色值定义在values->color.xml中

所有的动画定义到anim文件夹中,比如页面从左边到右边过渡抽屉式弹出

以后为了适应尺寸大小和语言,只需要将dimens.xml和strings.xml复制到相应的尺寸文件夹和语言文件夹中
,将对应的大小和文字进行相应的修改即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值