一片枫叶的专栏

让坚持成为一种习惯。

Android产品研发系列

本个系列的文章主要是讲解android产品研发过程中一些需要注意的技术技巧与实践。其主要面对产品研发,对App稳定性,友好型,兼容性要求较高的App

2016-06-12 19:51:13

阅读数 11333

评论数 14

Android产品研发(十五)-->内存对象序列化

本文将讲解android中数据传输中需要了解的数据序列化方面的知识,我们知道android开发过程中不同Activity之间传输数据可以通过Intent对象的put**方法传递,对于java的八大基本数据类型(char int float double long short boolean byt...

2016-06-30 22:32:21

阅读数 9626

评论数 3

Android产品研发(十四)-->App升级与更新

本文将讲解app的升级与更新。一般而言用户使用App的时候升级提醒有两种方式获得: - 一种是通过App Store获取 - 一种是打开应用之后提醒用户更新升级 而更新操作一般是在用户点击了升级按钮之后开始执行的,这里的升级操作也分为两种形式: - 一般升级 - 强制升级

2016-06-28 21:58:01

阅读数 26598

评论数 11

Github项目解析(八)-->Activity启动过程中获取组件宽高的五种方式

本文中我将介绍一下android中Activity启动时获取组件宽高的N种方式。我们知道,有时候我们需要在Activity启动的时候获取某一组件的宽或者是高用于动态的更改UI布局文件,但是这时候我们直接通过getWidth和getHeight方法获取是有问题的。

2016-06-26 21:53:37

阅读数 6674

评论数 10

Github项目解析(七)-->防止按钮重复点击

本文中我们介绍我自己封装的一个小的工具类库:按钮点击事件类库,该类库可以防止按钮重复点击,可以判断网络状态,可以判断用户登录状态,以及自定义验证条件等等。其实现的核心原理就是通过自定义实现自身的OnClickListener类,并重写其中的onClick方法,在onClick方法中执行相应的判断逻...

2016-06-23 21:57:38

阅读数 10886

评论数 8

Android产品研发(十三)-->App轮询操作

本文将讲解app端的轮训请求服务,一般而言我们经常将轮训操作用于请求服务器。比如某一个页面我们有定时任务需要时时的从服务器获取更新信息并显示,比如当长连接断掉之后我们可能需要启动轮训请求作为长连接的补充等,所以这时候就用到了轮训服务

2016-06-21 22:00:46

阅读数 22569

评论数 13

Github项目解析(六)-->自定义实现ButterKnife框架

目前在&nbsp;&nbsp;<a href="http://www.uucars.com/">友友用车</a>&nbsp;&nbsp;项目中使用到了ButterKnife框架,这是一个通过注解的方式简化程序员代码量,自动...

2016-06-20 10:58:18

阅读数 7592

评论数 5

Github项目解析(五)-->Android日志框架

转载请标明出处:一片枫叶的专栏 本文主要讲解的是自己实现一个简单的android日志框架,可以在android studio控制台中输入日志信息,其简单的使用方式:L.v("..."); L.d("..."); L.i("..."); L...

2016-06-18 23:39:15

阅读数 11453

评论数 16

Android产品研发(十二)-->App长连接实现

本文中我们将讲解一下App的长连接实现。一般而言长连接已经是App的标配了,推送功能的实现基础就是长连接,当然了我们也可以通过轮训操作实现推送功能,但是轮训一般及时性比较差,而且网络消耗与电量销毁比较多,因此一般推送功能都是通过长连接实现的

2016-06-17 18:47:58

阅读数 45946

评论数 33

Android产品研发(十一)-->应用内跳转Scheme协议

这里的scheme是一种页面内跳转协议,主要用于支持一下几种场景: - 服务器下发跳转路径,客户端根据服务器下发跳转路径跳转相应的页面; - H5页面点击锚点,根据锚点具体跳转路径App端跳转具体的页面; - App端收到服务器端下发的PUSH通知栏消息,根据消息的点击跳转路径跳转相关页面

2016-06-15 23:02:30

阅读数 32076

评论数 8

Android产品研发(十)-->尽量不使用静态变量保存数据

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了Android中的几种常见网络协议:xml,json,protobuf等,以及各自的优缺点,一般而言主要我们的App涉及到了网络传输都会有这方面的内容,具体可根据项目的需求确定各自的网络传输协议。 而本文讲解的其实并不是一个技术方面,而是...

2016-06-13 18:34:37

阅读数 15037

评论数 17

Android产品研发(九)-->App网络传输协议

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择。 而本文中将要介绍的是App端的...

2016-06-08 20:02:29

阅读数 17228

评论数 5

Android产品研发(八)-->App数据统计

上一篇文章中我们介绍了android社区中很火的热修复功能,主流的热修复原理上其实分为两种,一种是通过利用dex的加载顺序实现热修复功能,一种是通过native层实现指针替换实现热修复功能,两种各有利弊可以根据自身产品的需要选择不同的方案。 而文本将要介绍一下android产品中另一项基础功能-...

2016-06-07 19:30:35

阅读数 11346

评论数 1

Android产品研发(七)-->Apk热修复

上一篇文章中我们讲解了App的数据统计,其主要分为两种:使用第三方服务统计和自身实现数据统计。一般而言我们使用第三方统计服务已经可以很好的满足我们的也无需求了,只是部分数据敏感性App,可能自身实现数据统计服务是一个更好的选择。 而本文中将要介绍的是App端的网络传输协议。那么这里首先需要明确一...

2016-06-05 18:49:30

阅读数 13058

评论数 4

Android产品研发(六)-->Apk混淆

本文主要讲解Apk的混淆,这里的混淆分为两种代码混淆和资源文件混淆。实际的产品研发中为了防止自己的劳动成果被别人窃取,混淆代码能有效防止apk文件被反编译,进而查看源代码。说来惭愧,作为互联网创业公司的我们也确实对竞品Apk反编译研究过,如果Apk混淆之后确实对理解源码的业务流程造成了困扰,这也从...

2016-06-04 17:50:33

阅读数 14979

评论数 3

Android产品研发(五)-->多渠道打包

国内众多android开发环境有众多的应用市场,产品存在着不同渠道统计的需求,为此android开发人员需要为每个应用市场发布一个安装包,这是一件很苦逼的事,更换成android studio之后自带的编译工具gradle其实已经可以实现多渠道打包的功能了;下面主要简单介绍一下gradle如何实现...

2016-06-03 20:15:37

阅读数 16150

评论数 4

Android产品研发(四)-->减小Apk大小

随着移动技术的深入发展,各种炫酷效果的更新,在我们追求UI与UE的同时一个不如忽视的问题逐渐暴露出来,那就是apk文件越来越大,可能有的童鞋会说现在都是wifi环境,apk文件增大几M不是什么大不了的问题,这其实也是有一定道理的,但是作为开发人员的我们这绝不是我们认为可以忽略这个问题的理由。优化A...

2016-06-02 18:05:32

阅读数 16157

评论数 7

Android产品研发(三)-->基类Activity

在实际的android产品研发中,一般的我们在写Activity的时候都会继承于一个基类Activity,该Activity是所有的Activity的基类。在该基类中我们主要用于重写一些共有的逻辑。好处是显而易见的对于一些Activity的共有逻辑我们不必要在每个Activity中都重新写一遍,只...

2016-06-01 21:03:10

阅读数 13243

评论数 25

提示
确定要删除当前文章?
取消 删除