Android开发技术周报 Issue#43
教程
-
Gradle虽为构建神器,但感觉学习曲线比较陡峭。Gradle User Guide内容很多,但有点太多了,多的你看不完,Gradle Plugin User Guide一篇文章主要讲了Android相关的配置,看完可能感觉马马虎虎会用,但到了修改一些构建流程的时候还是不知所措。
-
Context对于Android开发人员来说并不陌生,项目中我们会经常使用Context来获取APP资源,创建UI,获取系统Service服务,启动Activity,绑定Service,发送广播,获取APP信息等等。那么Context到底是什么?Context又是怎么来实现以上功能的?在什么场景下使用不同的Context?一个APP中总共有多少个Context?这篇博客将从源码角度带你分析Android Context到底是个啥。
-
Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类:View Animation: 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。Drawable Animation: 这种动画(也叫Frame动画、帧动画)其实可以划分到视图动画的类别,专门用来一个一个的显示Drawable的resources,就像放幻灯片一样。
-
Activity测试依赖于Android Instrumentation测试框架。有其他组件不同的是Activity有更复杂的生命周期,这些生命周期函数不能直接地被调用,而只能通过Instrumentation发送事件来触发它们。
-
面向切面编程(AOP,Aspect-oriented programming)需要把程序逻辑分解成『关注点』(concerns,功能的内聚区域)。这意味着,在 AOP 中,我们不需要显式的修改就可以向代码中添加可执行的代码块。这种编程范式假定『横切关注点』(cross-cutting concerns,多处代码中需要的逻辑,但没有一个单独的类来实现)应该只被实现一次,且能够多次注入到需要该逻辑的地方。
-
目前64bit android系统也慢慢的多了,看到也有apk声称支持64bit system,然后就往里面打包搞了个arm64-v8a 目录,放了个64bit的so,但是apk代码里面却不按规范去load so ,导致一系列 file not found 异常~
-
Android 应用都有自己的包名。包名是设备上每个应用程序的唯一标识,同样也是 Google Play 商店里的唯一标识。就是说,假如你已经使用某个包名来发布应用,就不能再去改变应用的包名,因为这样做会导致你的应用被视为一个全新的应用,你现有的用户也不会收到应用的更新通知。
-
Android Studio 使用 Gradle 打包 Jar
Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤:1.将 plugin 修改为 library 后 build 出 aar,再提取 aar 里面的 classes.jar 2.使用 jarjar 等工具剔除多余的 class 3.对第二步得到的 jar 进行混淆
-
Android平台免Root无侵入AOP框架Dexposed使用详解
Dexposed是基于久负盛名的开源Xposed框架实现的一个Android平台上功能强大的无侵入式运行时AOP框架。Dexposed的AOP实现是完全非侵入式的,没有使用任何注解处理器,编织器或者字节码重写器。集成Dexposed框架很简单,只需要在应用初始化阶段加载一个很小的JNI库就可以,这个加载操作已经封装在DexposedBridge函数库里面的canDexposed函数中。
-
模块基本开发流程:1.创建工程android4.0.3(api15,测试发现其他版本也可以),可以不用activity 2.修改AndroidManifest.xml 3.在工程目录下新建一个lib文件夹,将下载好的XposedBridgeApi-54.jar包放入其中.eclipse 在工程里 选中XposedBridgeApi-54.jar 右键–Build Path–Add to Build Path.IDEA 鼠标右键点击工程,选择Open Module Settings,在弹出的窗口中打开Dependencies选项卡.把XposedBridgeApi这个jar包后面的Scope属性改成provided.
代码&开源库
-
可定制的SwipeRefreshLayout,一举解决产品经理提出的各种下拉刷新问题!非侵入式、可定制、支持RecyclerView,ListView,ScrollView等。
-
一个富有动感的Sheet(选择器)。
-
比例布局。
-
手指区域羽化透明,显示出底部图片布局区域。
-
可以实现视差滚动动画的ImageView。
-
一个可折叠的Tabbar菜单。
-
一个方便你在App里使用自定义字体的库。
-
水滴动画效果的下拉刷新效果。
-
一个倒啤酒效果的下拉刷新效果。
-
Google官方推出的Android单元测试模版项目。
-
一个可以给Floating Action Button 添加 Transformation 动画的库。
-
一个带有展开和折叠动画的Spinner。
-
一个贝塞尔曲线实现的利用圆球拖拽粘连动画效果的加载进度条。
工具
-
一个方便你将 Android Library 上传至bintray中央仓库的Gradle插件。
-
一个可以帮助你在浏览器查看Android Sqlite Database的库。
-
一个基于ApkTools的Android Apk 反编译工具。
视频
设计资源
-
A beautiful cross-platform UI kit. Yours free.Download all 52 templates, 35 custom icons, and 180+ UI elements free for Photoshop and Sketch.