yheng
个人专栏

最新文章

Android指定SnackBar在屏幕的位置

Snackbar 常以一个小的弹出框的形式,出现在手机屏幕下方或者桌面左下方,并且是在屏幕所有层的最上方。如果要指定它在屏幕出现的位置,可以把SnackBar放置在android.support.design.widget.CoordinatorLayout内。在RelativeLayout里添加CoordinatorLayout如下:<android.support.design.widg

Android使用DiffUtil智能地更新RecyclerView

DiffUtil是一个工具类,它会找出两个列表的差异,输出一个更新列表,并且可以用来通知RecyclerView的Adapter更新。使用DiffUtil会使用DiffUtil.Callback来计算两个列表的差异,其中DiffUtil.Callback是一个抽象类,需要我们实现它,它包含了四个抽象方法和一个非抽象方法:getOldListSize():获取旧列表的大小getNewListSize

使用Robolectric写Android单元测试

Robolectric是一个单元测试框架,运行在jvm上。相对于在Android模拟器或设备上运行测试需要花费一分甚至更长时间,Robolectric只需要几秒钟。这里简单介绍下使用Robolectric做单元测试。添加依赖首先在build.gradle添加Robolectric依赖,并设置android的测试选项unitTests.includeAndroidResources为truetest

RecyclerView添加点击事件监听器

实现RecyclerView.OnItemTouchListener的项目触摸监听器:import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.GestureDetector; import android.view.M

Android安装错误App not installed原因分析

App not installed可能原因:App与Android设备或版本不兼容使用了不同的证书签名不同版本的apk,这会导致重新安装失败。app的签名不正确,检查下是否与选择的Signature Version相关v2为Android 7新增的签名方式。可以参考APK signature scheme v2

Android dex文件反编译为Java源码

工具准备 dex2jar:国人写的一个dex反编译为java的工具jd-gui:查看java源码的gui工具反编译步骤步骤一把test_apk-debug.apk里的classes.dex转换为test_apk-debug_dex2jar.jard2j-dex2jar.sh -f -o output_jar.jar apk_to_decompile.apk