随笔分类 -  Android

摘要:一、背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等。这些需求本身,往往都与外部集成进来的功能有关,且需求上,功能与渠道本身,有一定的映射关系,对于此类需求,具 阅读全文
posted @ 2019-04-25 21:56 HappyCorn 阅读(1059) 评论(0) 推荐(0) 编辑
摘要:Google Play应用市场提交应用审核,出现因WebViewClient.onReceivedSslError问题导致拒绝通过。 Google Paly给出的详情地址:support.google.com/faqs/answer… 处理起来其实也相对简单,主要是针对用到WebViewClient 阅读全文
posted @ 2019-04-13 12:43 HappyCorn 阅读(4710) 评论(0) 推荐(1) 编辑
摘要:项目中Gradle版本升级到4.4后,项目构建时,每次出现红色的警告信息: WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be removed at 阅读全文
posted @ 2019-04-13 09:49 HappyCorn 阅读(17733) 评论(0) 推荐(0) 编辑
摘要:随着项目的不断迭代,复杂的业务模块及项目自身的基础技术组件迅速扩张,以往基于单个模块的项目往往显得过于臃肿。代码目录结构,包名混乱,代码模块职责不清晰,耦合度高,不便维护。基础公共组件没有抽取并剥离干净,新人上手较难,项目整体编译慢,等等。于是,近几年来,基于Gradle构建的模块化方案得到迅速应用 阅读全文
posted @ 2019-02-23 18:30 HappyCorn 阅读(998) 评论(0) 推荐(0) 编辑
摘要:实际项目中,都会应用Android Gradle Plugin,根据实际中的项目模块的职责,可以具体应用如下四种插件类型。 1,apply plugin: 'com.android.application' 实际对应的原型是:com.android.build.gradle.AppExtension 阅读全文
posted @ 2019-02-23 15:54 HappyCorn 阅读(11926) 评论(0) 推荐(0) 编辑
摘要:无论是前端开发还是客户端,实际开发过程中,抓包都经常被用到。工欲善其事必先利其器,一款好用的抓包工具也是必须的。 说到抓包,Windows系统上不少人都用过Fiddler,Mac或Linux上用Charles,本文主要推荐一款支持多系统的抓包工具:whistle。 whistle,具有跨平台(Win 阅读全文
posted @ 2019-02-14 19:51 HappyCorn 阅读(1691) 评论(0) 推荐(0) 编辑
摘要:Gradle是基于Groovy的DSL基础上的构建工具,Gradle中的闭包,其原型上实际上即Groovy中闭包。而在表现形式上,其实,Gradle更多的是以约定和基于约定基础上的配置去展现。但本质上,大多数配置,实际上都对应着闭包以及闭包的具体使用。 例如,实际Android项目中,我们经常看到类 阅读全文
posted @ 2019-01-25 22:09 HappyCorn 阅读(997) 评论(0) 推荐(0) 编辑
摘要:项目targetSdkVersion升级到26后,对应的的是Android O版本,即Android 8.0系统。经测试发现针对8.0及以上安卓版本手机,AndroidMainfest.xml中静态注册的广播接收器失效,当App中对应intent filter类型广播发出时,广播接收器中的onRec 阅读全文
posted @ 2018-12-20 19:58 HappyCorn 阅读(1867) 评论(0) 推荐(0) 编辑
摘要:基于AS开发项目,对于特定的功能模块,往往抽取成独立的库进行管理,然后上传到Marven库中,通过Gradle依赖的方式进行引用。 其优势体现在: 1,独立的Git项目库,模块功能,及职责界定清晰; 2,外部使用方一般无须关注此Git项目库的具体实现和逻辑细节,只需按照对应的对外暴露的方式调用即可; 阅读全文
posted @ 2018-12-17 20:38 HappyCorn 阅读(528) 评论(0) 推荐(0) 编辑
摘要:一般情况下,我们App图标在Androidmanifest.xml中设置,通过Application android:icon属性指定,写法如下: 因新年来临等,产品需要针对最新版本更换一个应用图标。OK,一分钟搞定,如上,直接替换app_icon.png图标即可。 然而,测试同学发现,替换图标后, 阅读全文
posted @ 2017-01-12 19:18 HappyCorn 阅读(6306) 评论(0) 推荐(0) 编辑
摘要:在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同。 Android自带的org.json对key-value都要求不能为null,对于必传的字段需要留意一下,尤其是留意value是否可能出现null的情形。否则导致服务端解析出现问题。 阅读全文
posted @ 2016-05-13 20:56 HappyCorn 阅读(7492) 评论(0) 推荐(0) 编辑
摘要:发现自己Ubuntu系统adb无法识别魅族 mx5机型。操作具体如下(其他机型依然适用): 一、Ubuntu环境 1.查看自己当前设备的idVendor lsusb命令直接查看当前usb设别列表,找到属于当前自己手机设备条目,ID后四位即为idVendor。 本文中mx5设备idVendor为2a4 阅读全文
posted @ 2016-04-29 19:48 HappyCorn 阅读(2423) 评论(0) 推荐(1) 编辑
摘要:Android开发中,不同的开发团队,不同的开发人员,在实际编码中会有一些不同的地方。但是,具有一定的更普适性的编码习惯,无疑还是相当重要的。本文主要罗列项目中常见的一些编码片段,并给出相关建议。 1.数组标识符应该紧跟在数组类型后面,而非变量后面 2.if中的条件判断在特定情况下需要合并 3.if 阅读全文
posted @ 2016-03-30 12:42 HappyCorn 阅读(1592) 评论(0) 推荐(0) 编辑
摘要:注:本文中的recreate是指当内存不足时,Activity被回收,但再次来到此Activity时,系统重新恢复的过程。例如:当Activity A到Activity B时,如果内存不足,A被回收,但当用户按下Back键返回时,A又会被系统重新创建。 为了便于问题展开,我们首先来看一段最简单的代码 阅读全文
posted @ 2016-03-14 19:19 HappyCorn 阅读(26294) 评论(0) 推荐(1) 编辑
摘要:Intent在Android中的重要性不言而喻。本文主要总结下Intent使用过程中需要注意的一些问题。1.隐式Intent AndroidManifest.xml声明时相关作为“意图”的Intent,在AndroidManifest.xml声明时并没有独立的所谓的标签形式,而是依附于其他的应用程序... 阅读全文
posted @ 2014-12-31 14:25 HappyCorn 阅读(4253) 评论(2) 推荐(2) 编辑
摘要:Service通常总是称之为“后台服务”,其中“后台”一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件:1.并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与Notif... 阅读全文
posted @ 2014-12-23 21:51 HappyCorn 阅读(113341) 评论(7) 推荐(6) 编辑
摘要:1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:1.同一app内部的同一组件内的消息通信(单个或多个线程之间);2.同一a... 阅读全文
posted @ 2014-12-16 21:42 HappyCorn 阅读(199164) 评论(15) 推荐(20) 编辑
摘要:1.Eclipse项目中的Android Private Libraries没有自动生成。一般而言,在Android开发中,项目中引用到的jar包会放到项目目录中的libs中,引入库会放到Android Dependencies中,对于放置于libs中的jar包,会自动置于项目中的Android P... 阅读全文
posted @ 2014-12-15 21:04 HappyCorn 阅读(10540) 评论(2) 推荐(2) 编辑
摘要:Java/Android中有四种引用类型,分别是: Strong reference - 强引用Soft Reference - 软引用Weak Reference - 弱引用Phantom Reference - 虚引用 不同的引用类型有着不同的特性,同时也对应着不同的使用场景。 1.Strong 阅读全文
posted @ 2014-12-08 22:17 HappyCorn 阅读(10617) 评论(0) 推荐(2) 编辑