Android技术知识Android知识Android开发

Android开发周刊 第五期

2016-05-12  本文已影响245人  openopen

新闻

据外电报道,美国旧金山联邦法院周一开始对甲骨文诉谷歌 Android 系统侵权案进行复审。赔偿金可能高达 93 亿美元的本案的最终审判结果,将对如何保护软件、以及软件授权问题产生深远的影响。

文章

Instant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。

SharedPreferences(以下使用SP简称)在Android中作为一种使用简单的数据存储形式被广泛用来存储一些不需要做数据库操作的数据,比如用户配置项等。本文将从源码入手分析其实现,并据此提出一些使用中需要注意的事项。

使用AndroidStudio开发APP已有半年多的时间了,从刚开始的不习惯到慢慢适应再到逐渐喜欢上AndroidStudio,中间的过程颇有一番曲折,现在把自己对AndroidStudio的配置心得总结下来,分享给大家,希望给后来人带来方便。

本篇文章将参考 google官方android MVP架构项目的实现,来实现自己的项目。或许看了这篇文章之后,你再去梳理一下google官方架构项目,会让你收获更多。官方的实例肯定具有更好的权威性。

最近半年来身边开发的朋友越来越多的提到OkHttp,上谷歌百度一下,确实OkHttp成了时下最火的HTTP框架,于是我也开始放下Volley,转而关注OkHttp,五一期间仔细看了官方WiKi介绍(我喜欢学习官方的文档),现在把自己整理的官方教程分享给大家,希望给初学者带来帮助。

讲到butterknife的原理。这里不得不提一下一般这种注入框架都是运行时注解,即声明注解的生命周期为RUNTIME,然后在运行的时候通过反射完成注入,这种方式虽然简单,但是这种方式多多少少会有性能的损耗。那么有没有一种方法能解决这种性能的损耗呢? 没错,答案肯定是有的,那就是Butterknife用的APT(Annotation Processing Tool)编译时解析技术。

正所谓“工欲善其事必先利其器”,一个好的工具或者技巧能让提升工作效率,起到事半功倍的效果。在这里斗胆列出一些窃以为一些可能快速提高Android日常开发的脚本,希望可以为大家提供一些好的工具,有帮助的思路。

如果大家关注了我的微信公众号的话,一定知道我在5月6号的时候推送了一篇文章,文章名为Android超高仿QQ附近的人搜索展示(一),通过该文可以利用ViewPager实现单页显示多个Item且能够添加一些炫酷的动画效果。我当时阅读这篇文章的时候,简单做了下记录,然后想了想,可以按照该思路做一个比较特殊轮播效果

在Facebook我们已经应用React Native在发布的产品有超过一年的时间了。几乎是整整一年之前,我们的团队开始规划开发 广告管理APP 。我们的部门是创建一个新的APP来让数百万的Facebook广告主来管理他们的账号并能创建新的广告。在完成的时候,这不仅仅是FB的第一个全React Native APP而且是第一个跨平台的APP.在这篇文章里,我们希望能和你分享我们是如何构建这个APP,React Native是如何让我们更快的,还有这个过程中我们的经验。

今天我们来看一下React Native控件Modal具体介绍以及实际使用方法,该适配Android、iOS双平台。

Binder 是一种 Android 进程间通信机制,提供远程过程调用(Remote Procedure Call)功能。我们最直接的使用是调用 Context.getSystemService() 来获取系统服务,或直接使用 AIDL 来实现多个程序(APP)间数据交互。

TextView作为Android系统上显示和排版文字以及提供对文字的增删改查、图文混排等功能的控件,内部是相对比较复杂的。这么一个复杂的控件自然需要依赖于一些其他的辅助类,例如:Layout以及Layout的相关子类、Span相关的类、MovementMethod接口、TransformationMethod接口等。这篇文章主要介绍TextView的结构和内部处理文字的流程以及TextView相关的辅助类在TextView处理文字过程中的作用。

CoordinatorLayout有一些很有意思的特性,设置anchor、NestedScroll配合Toolbar/TabLayout的显隐or伸缩、Fab的移动等。今天咱就来一探究竟!

Android开发中,如果我们希望使一个View滑动的话,除了使用属性动画外。我们还可以使用系统提供给我们的两个类Scroller和OverScroller用来实现弹性滑动。在我以前的一篇ViewDragHelper源码分析中我们有讲到过Scroller的作用。那么我们今天就来仔细分析一下Scroller的使用方法以及实现方式。

SwipeRefreshLayout 是一个下拉刷新控件,几乎可以包裹一个任何可以滚动的内容(ListView GridView ScrollView RecyclerView),可以自动识别垂直滚动手势。使用起来非常方便。

FloatingActionButton(下文以fab代替)是android support design组件库中提供的一个视图控件,是material design设计中fab的官方实现。

AsyncTask是android提供的一种异步消息处理的解决方案,能简化我们在子线程中更新UI控件,使用AsyncTask你将看不到任何关于操作线程的代码。

Tabs跟随Actionbar在Android 3.0进入大家的视线,是一个很经典的设计。它也是Material Design 规范中提及的Component之一。Tabs or Bottom navigation?相信不少Android开发者与产品都撕过,就连微信在其中也有过抉择。Google在Google+以及Google Photo中相继采用Bottom navigation的设计把剧情推到向高潮,一度轰动整个社区。Google继而在Material Design 规范加入了Bottom navigation,表明了态度,也给这起争论画上了圆满的句号。

CompoundButton 是一个有两种状态(选中和未选中 / checkd unchecked)的Button。当你按下(pressed)或者点击(clicked),它的状态会自动改变。

Android的常用布局里,LinearLayout属于使用频率很高的布局。RelativeLayout也是,但相比于RelativeLayout每个子控件都需要给上ID以供另一个相关控件摆放位置来说,LinearLayout两个方向上的排列规则在明显垂直/水平排列情况下使用更加方便。

库 & 代码

BaseRecyclerViewAdapterHelper是一个强大并且灵活的RecyclerViewAdapter。

一个可以自定义线条,颜色,箭头大小位置和方向的气泡提示

一个酷炫的旋转菜单的开源库

一个易用的 swiping-view

一个 MVP模式的 Dribbble 客户端 。手机, 平板, Wear 和 TV代码都有。

一个支持子view的展开与折叠的布局。

估算Google Play补丁和新gzipped APK的大小。

本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文标题:Android开发周刊 第五期
原文地址:http://www.open-open.com/lib/view/open1463012294234.html

上一篇下一篇

猜你喜欢

热点阅读