Android爬坑日记

此篇是用来记录Android开发中遇到的问题

  • 关于异步读写数据的问题
    这次项目出现一个问题:测试同学发现个bug,数据库没有存入自己想要的数据,偶然事件;
    找了好久都没找到原因,最后才发现:业务原因,本地数据库需要更新两次,先更新一次,然后EventBus.post消息处理完了业务再更新这条数据,
    计划先更新数据的那个数据,在post后才更新的,因为Eventbus是异步处理,导致想先更新的数据在post里面处理完成后,在更新数据库,将数据改错了,
    切记异步处理数据的先后问题。
  • java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:715)

原因:xml写错了,多半是View写成了view。

  • Class获取类名:
    String className = aClass.getSimpleName();//类名
    className = aClass.getName();//有包信息
    className = aClass.getCanonicalName();
  • 记一个:AS中,没有依赖的moudle在打包时时不会把字节码文件打包到app中的,使用注解的时候一定要注意

  • AS中 Clean,build,rebuild,run的区别:(侵删)

    1. Make Project:编译Project下所有Module,一般是自上次编译后Project下有更新的文件,不生成apk。
    2. Make Selected Modules:编译指定的Module,一般是自上次编译后Module下有更新的文件,不生成apk。
    3. Clean Project:删除之前编译后的编译文件,并重新编译整个Project,比较花费时间,不生成apk。
    4. Rebuild Project:先执行Clean操作,删除之前编译的编译文件和可执行文件,然后重新编译新的编译文件,不生成apk,这里效果其实跟Clean Project是一致的,这个不知道Google搞什么鬼~~
    5. Build APK:前面4个选项都是编译,没有生成apk文件,如果想生成apk,需要点击Build APK。
      Generate Signed APK:生成有签名的apk。
  • 注意:
    s对于Clean和Rebuild看到最后的效果是一样的。
    平时小的改动直接用Make Project就可以,可以看到只有它有快捷方式,表明这个功能要经常用。对于一些大的改动比如更新lib,大功能修改等,用Clean或Rebuild,毕竟这两个编译起来要费时间。
    如果有的时候死活编译不过,多试试Clean吧,会有意想不到的效果!

  • 多重循环用如下方式可以调到指定的循环外

    A:for(int i = 0;i < 5;i++){
            for(int j = 100;j < 105; j++){
                System.out.println("i = "+ i+ " j = " + j);
                if(j == 102){
                    break A;
                }
            }
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值