改bug总结—2015年11月于nice实习


继续总结我遇到的bug君们~~


1.App的启动页可使用Activity的theme属性来设置,这样主界面未加载完成时就显示theme,加载完成后在Activity的onCreate函数中再设置setTheme(null)来销毁这个启动页,加载正常界面即可。比单独写一个Activity来展示启动页开销小,效率高。

AndroidManifest中代码如下:

       <activity
            android:name=".activities.MainActivity_"
            android:configChanges="locale|layoutDirection"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:theme="@style/MainActivityTheme"//设置启动页
            android:windowSoftInputMode="stateAlwaysHidden|adjustNothing">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


参考:
http://blog.chengyunfeng.com/?p=741
http://www.codeceo.com/article/android-app-theme-style.html

2.使用layer_list处理图片的层叠效果。layer_list中的item可以设置不同属性,可以将drawable或bitmap来设置图片,使用bitmap时可以保证原有图片之间的相对大小关系。
参考:
http://keeganlee.me/post/android/20150909
http://blog.csdn.net/pcaxb/article/details/47781547

3.新消息的提示数字不能阅后即焚,单独设计一个类NoticeNum来存储和更新各种提示的阅过状态,显示与否就依此判断。

4.做通讯录的更新,需要得到现有通讯录对应原通讯录的增删数据集,就是两个集合的子交并补运算,而List有现成的方法,所以联系人数据便采用List存储。有一点注意,List的内部元素若是对象,一定要复写equals和hashcode方法,明确两个对象何时才认为是相同的。

5.使用anonotation注解开发,报了200个错,再没有其他有用信息,当时原因是:子类fragment中使用@fragmentArg定义了与父fragment中同名的参数。
(当时解这个bug,用了一天。。。)

6.Android Studio上恢复误删文件的方法:右键点击工程—>local history —>show history 即可找回文件。

7.做密码输入的隐显控制,先在xml中设置EditText的inputType=“password”,然后代码中使用EditText的setTransformationMethod方法来控制密码显示,这时遇到的问题是:设置了inputType后,EditText的hint显示受到影响,英文由半角显示变成了全角显示,中文正常。解决办法是:代码中设置editText.setTypeface(Typeface.SANS_SERIF),而且只能代码中设置,xml中无效。同样,xml中设置password=“true”时也会如此,办法同上。

8.遇到了一个诡异的bug:acy启动时执行的方法进不去了,调试时给的信息是:
no such instance field : ‘XXX’。但是这个变量是存在且有值的,google的结果是说重启AndroidStudio就好,是AndroidStudio引用了之前版本的文件,不是代码的问题,然后好了。
参考:
http://stackoverflow.com/questions/28646999/no-such-instance-field

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值