• 等级
  • 2566961 访问
  • 209 原创
  • 28 转发
  • 560 排名
  • 1938 评论
  • 61 获赞

App 模块化实战经验总结

随着业务的不断发展壮大,App端所承担的功能也越来越重,特别是代码几易其主之后开始变得杂乱无章,牵一发而动全局的事情时常发生。为了应对团队壮大之后的开发模式,我们必须要对业务进行隔离,同时沉淀出通用组件,完善移动开发的基础设施。1.痛点模块化之前,我们主要面临以下痛点:业务边界不清晰通用代码与业务代码耦合代码、资源文件大量重复常量满天飞其中业务边界不清晰是最大的痛点,最直接的表现就是处处有

2017-05-02 15:04:32

三步实现控件悬浮

原理很简单,用RecyclerViewaddHeaderView的方式实现,实现步骤:1.添加依赖1.compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.14'2.compile 'com.android.support:recyclerview-v7:25.1.0'导入BaseRecyclerViewAdapterHe

2017-05-02 14:49:01

JQuery+ajax+jsonp 跨域访问

Jsonp(JSONwithPadding)是资料格式json的一种“使用模式”,可以让网页从别的网域获取资料。关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子: 一.客户端>  html>  head>  meta http-equiv="Content-Type" content="text/html; cha

2016-12-16 13:10:33

Instant Run工作原理及用法

InstantRunInstantRun,是androidstudio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。当我们第一次点击run、debug按钮的时候,它运行时间和我们往常一样。但是接下去的时间里,你每次修改代码后点击run、debug按钮,对应的改变将迅速的部署到你正在运行的程序上,传说速度快到你都来不及把注意力

2016-11-25 13:34:11

Android Studio2.0的逆天功能Instant Run(告别编译运行)

作为一个Android开发者,很多的时候我们需要花大量的时间在bulid,运行到真机(虚拟机)上,对于ios上的Playground羡慕不已,这种情况将在AndroidStudio2.0有了很大改善,使用instantrun,在第一次运行之后,就可以快速的在真机中看见修改后的结果,不仅仅是UI可以直接显示,还包括代码逻辑。不用再苦苦等build了,节约生命呀! 即时运行:更快的构建和部署

2016-11-25 12:07:03

ButterKnife使用手册中文

简介ButterKnife意为“黄油刀”,意思是此开源库可以让你的应用开发过程像用刀切黄油一样干净利落。此库的核心功能是通过注解来实现视图的注入,从而在代码中避免冗余的方法调用和丑陋的内部类监听器。简单的理解“绑定”的概念,就是将View和任意一个对象相互关联,从而在该对象中,不用findViewById就能使用View上的所有子视图,不用setOnClickListener就能给控件设置监听

2016-11-24 10:14:35

RxAndroid + OkHttp + MVP(Android Studio)

   MVP是一种架构,是区别于MVC的,可以有更好的去耦合性,最终的目的都是方便于我们的开发维护工作。有兴趣的可以google了解详情,也可以通过我这个简单的demo有个初步的一些体验与了解  下面讲述一下具体该怎么在代码里面用。  第一:新增一个Project,使用RxAndroid之前的一些工具包的准备(在Module:app里面的build.gradle的dependencies里面

2016-11-24 10:11:15

Android各大网络请求库的比较及实战

自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库进行一个总结。HttpUrlConnection最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android2.2及以下版本中HttpUrlConnection存在着一些bug,所以建

2016-11-24 09:59:56

AndFix Bug热修复框架原理及源码解析

AndFix原理AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法。 注:在Native层使用指针替换的方式替换bug方法,已达到修复bug的目的。使用AndFix修复热修复的整体流程:方法替换过程:源码解析解析源码从使用的方法一一解析。在自定义Application中初始化PatchManger:PatchManagermPatchManager=newPatc

2016-11-09 11:18:01

AndFix Bug热修复框架的使用

AndFix这篇主要介绍alibaba的AndFix项目的使用,下一篇介绍 AndFix原理及源码解析。Github:https://github.com/alibaba/AndFixAndFix介绍AndFix是一个Android App的在线热补丁框架。使用此框架,我们能够在不重复发版的情况下,在线修改App中的Bug。AndFix就是“AndroidHot-Fix”的缩写。 就目前来

2016-11-09 11:15:38

如何使用Android Studio把自己的Android library分享到jCenter和Maven Central

如果你想在AndroidStudio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中。123dependencies {    compile 'com.inthecheesefactory.thecheeselibrary:fb-like:0.9.3'}就是如此简单的一行代码,你就可以使用这个library了。酷呆了。不过你可能很好奇Andro

2016-07-29 09:35:10

Google推荐的图片加载库Glide介绍

在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年googleI/O大会上发布的官方app。毫无疑问,这个库引起了我的兴趣。于是我花了一个晚上研究和把玩它,将它的实现原理分析清楚以后,我决定写一篇博文分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,

2016-07-29 09:27:45

Android使用fitsSystemWindows属性实现--状态栏【status_bar】各版本适配方案

Android使用fitsSystemWindows属性实现--状态栏【status_bar】各版本适配方案首先我们看下qq的statusbar在各个android版本系统中适配: 1.Android5.0以上:半透明(APP 的内容不被上拉到状态) 2.Android4.4以上:全透明(APP 的内容不被上拉到状态) 3.Android4.4以下:不占据statusbar 这里我们就按照

2016-07-29 09:24:53

最清晰的Android多屏幕适配方案

当您的Android应用即将发布的时候,如果你想让更多的用户去使用你的应用,摆在工程师面前的一个重要问题就是如何让你的应用能在各种各样的终端上运行,这里的各种各样首当其冲的就是不同的屏幕分辨率和尺寸。 屏幕适配主要从图片和距离(文字)进行下手。从以往的方式适配方式中,开发者可能会考虑各种各样的分辨率,比如480*800、1280*800、1920*1080等,为此在资源文件夹里面创建了一大堆

2016-07-29 09:22:51

你需要知道的Android拍照适配方案

拍照功能实现Android程序上实现拍照功能的方式分为两种:第一种是利用相机的API来自定义相机,第二种是利用Intent调用系统指定的相机拍照。下面讲的内容都是针对第二种实现方式的适配。通常情况下,我们调用拍照的业务场景是如下面这样的:A界面,点击按钮调用相机拍照;A界面得到拍完照片,跳转到B界面进行预览;B界面有个按钮,点击后触发某个业务流程来处理这张照片;实现的大体流程代

2016-06-21 14:38:26

Android App 不死之路

如何让你的app一直在运行状态呢?默认情况下,不做任何跨进程部署配置的话,每个androidapp运行在单独一个虚拟机上,每个虚拟机对应一个进程。当app被系统回收或者是被用户主动杀掉(通过app管理软件),进程就彻底退出了。在有些场景,app所在的进程退出了,我们希望还能做一些操作。比如,app被卸载后(卸载会先退出运行),我们希望跳转浏览器做一些卸载原因的调查问卷;或者为了优化体验,提高ap

2016-06-21 14:33:06

关于Android的.so文件所需要知道的

早期的Android系统几乎只支持ARMv5的CPU架构,你知道现在它支持多少种吗?7种!Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7(从2010年起),x86(从2011年起),MIPS(从2012年起),ARMv8,MIPS64和x86_64(从2014年起),每一种都关联着一个相应的ABI。应用程序二进制接口(ApplicationBinaryInt

2015-12-30 16:45:21

Android surfaceview详解(一)

surface,这个单词的意思是浮在表面的,那么surfaceview就是浮在表面的view了。如果真的这样解释,估计有人要拍砖了。然而,话虽不能这么说,取这个名儿,多少还是有点关系的。surface是一个可见区域。我们在屏幕上看到的这些view,在屏幕上看到的就是画面,在内存中就是一块内存区。绘图的时候,就是显示的硬件如显卡将内存区的这块图形数据绘制到屏幕上。所以,从内存的角度去看这些东西,会比

2015-12-29 08:55:09

Mobiscroll的介绍【一款兼容PC和移动设备的滑动插件】

Mobiscroll是一个用于触摸设备的日期和时间选择器,它的使用不会改变HTML5、PhoneGap以及混合应用的原生用户体验。作为一款jQuery日期插件,用户可以自定义主题样式,为自己的移动项目UI组件添色。Mobiscroll支持所有主流平台:iOS、Android、BlackBerry,WindowsPhone8以及AmazonKindle。 此作品是一款非常实用且兼容PC和移

2015-11-11 16:00:38

Android 4.4后WebView的一些注意事项

自Android4.4起,Android中的WebView开始基于Chromium(这大概是因为Android部门负责人从AndyRubin变成了Chrome部门的主管SundarPichai了吧,^_^)。这个改变使得WebView的性能大幅度提升,并且对HTML5,CSS3,andJavaScript有了更好的支持。那么,作为一个客户端开发者,我们写代码的时候需要注意哪些呢?1.

2015-10-28 12:01:48

袭烽

关注
  • 架构师
  • 中国 北京
奖章
  • 专栏达人