
android
文章平均质量分 66
在飞
现北京百度做android客户端开发。
展开
-
《在飞Android Gradle实战》之核心模块Plugin4
hi各位小伙伴,上一章《在飞Android Gradle实战》之核心模块Task3 介绍了Gradle核心模块Task的相关内容。 Task 是真正执行逻辑的角色,大到源码编译,小到copy功能,最后执行者都是task。重点讲了task的创建、查找、以及如何指定task的输入输出、执行顺序、它的依赖。而通过指定task的执行顺序和依赖,可以将我们自己的task插入到一些构建过程中去,...原创 2019-03-16 13:18:48 · 359 阅读 · 1 评论 -
《在飞Android Gradle实战》之核心模块Task3
hi各位小伙伴,上一章《在飞Android Gradle实战》之核心模块Project2介绍了Project的内容。 Project是脚本代码的入口,所有的脚本代码都是写在project的实例中的,而每一个build.gradle文件就对应一个project类的实例,当然也可以在 build.gradle文件中使用project api去定位文件、获取root工程以及管理子工程,为Pr...原创 2019-03-09 15:09:38 · 350 阅读 · 0 评论 -
《在飞Android Gradle实战》之核心模块Project2
hi各位小伙伴,前面《在飞Android Gradle实战》之生命周期1我们已经介绍了Gradle的生命周期。 只有了解了gradle的生命周期才能写出正确的脚本代码。初始化阶段gradle会完成所有工程的初始化,决定我们的项目有多少个子项目 这个阶段重点就是解析setting.gradle文件,初始化阶段完毕就是配置阶段,build.gradle中的代码大部分都是执行在配置阶段的,...原创 2019-03-02 21:35:14 · 392 阅读 · 0 评论 -
《在飞Android Gradle实战》之生命周期1
hi各位小伙伴,继之前《在飞Android Kotlin实战》系列结束后,今日开始按计划更新《在飞Android Gradle实战系列》。前言: 随着Android技术的发展,我们现在的app业务越来越多,体积越来越大,之前的ant等等构件工具已经无法满足我们的需求。Android Studio的快速普及,对于Gradle现在已经成为我们技术人员的一项必备技能,本系列也将会和大家一起...原创 2019-02-23 16:00:01 · 387 阅读 · 0 评论 -
《在飞Android Kotlin实战》之真实项目篇(百度广告Dap项目)9
hi各位亲,这篇将是这个系列的最后一篇,主要通过一个真实项目实例,来跟大家分享Android Kotlin真实开发内容同时和大家回顾下之前总结的Kotlin知识点。=======项目实战:将Dap(百度海外移动广告平台 DU Ad Platform)的javaDemo用Kotlin来实现。欢迎各位亲到Dap官网下载demo:http://ad.duapps.com/zh_CN/介绍:作...原创 2019-01-21 14:38:07 · 605 阅读 · 0 评论 -
《在飞Android Kotlin实战》之?问号与android studio kotlin开发环境搭建篇8
hi各位亲,刚刚浏览下写的博客,发现没有说有关问号?和开发环境的的东西,这篇说下这两点。一:?问号 1. 定义变量时,可在类型后面加一个问号?,表示该变量是Nullable,不加表示该变量不可为null 2.对于可以为null的变量,在使用该变量的时候,必须用变量名+?(如上面的s?)的形式进行调用,表示如果该变量为null,则不执行该变量调用的方法。var t...原创 2019-01-21 13:26:36 · 298 阅读 · 0 评论 -
《在飞Android Kotlin实战》之基础篇7
hi各位亲,这篇主要介绍下Android开发中Kotlin的常用的一些基础知识像range,var val,${} ,if else,while等等这些十分基础东西不是本系列的宗旨,所以不再介绍,亲可以查阅其他资料,望谅解。一:运算符重载 //重载++运算符,程序员每次升级涨薪20% private fun test运算符重载() { var pro = P...原创 2019-01-11 20:23:46 · 325 阅读 · 0 评论 -
《在飞Android Kotlin实战》之扩展函数、枚举篇6
hi各位亲,这篇主要说下扩展函数和枚举在开发中经常使用的知识:一:扩展函数: 现有类的基础上,拓展一些新的功能。 系统提供了一些扩展函数,比如apply{} with{} run{}等等,最常见的是isEmptey当然自己也可以创建自己的扩展函数,如下://kotlin调用isEmpty()扩展函数if (list.isEmpty()) {}//扩展函数...原创 2018-12-24 18:23:43 · 302 阅读 · 0 评论 -
《在飞Android Kotlin实战》之单例设计模式、类型转换、类型判断、by lazy、lateinit加载及原理分析篇5
hi各位亲,这篇主要说下Kotlin中的强转、类型判断、单例设计模式、by lazy、lateinit一:强转 在android开发中经常会用到强转,比如findviewById()中//java强转TextView titleView = (TextView) rl.findViewById(R.id.card_name);//Kotlin强转var titleView...原创 2018-12-21 19:39:34 · 837 阅读 · 0 评论 -
《在飞Android Kotlin实战》之let{}、run{}及原理分析篇4
hi各位亲,这一篇接上一篇《在飞Android Kotlin快速入门-apply{}、with{}篇3》,这篇主要说下let{}和run{}。一:let{} 上面是let的源码,我们解读下方法体中的具体含义: <T,R>:参数是泛型T,R T.let(block:(T)->R):T.let意思是T中都会有let(),其中参数(block...原创 2018-12-20 17:12:49 · 1931 阅读 · 0 评论 -
《在飞Android Kotlin实战》之apply{}、with{}及原理分析篇3
hi各位亲,这章主要说下开发中常用到apply()、with()。 这几个方法在Android开发中经常用到的地方是:使用同一个对象的多个方法的时候。可以不用分开写,全部放到apply{}with{}中。一:apply{} 上面是applay的源码,我们解读下方法体中的具体含义: <T> T.apply:<T>是指泛型,任意类型,...原创 2018-12-20 13:18:00 · 2957 阅读 · 0 评论 -
《在飞Android Kotlin实战》之核心语法lambda表达式2
hi各位,这章主要是lambda表达式的快速入门。 大家都知道编程有OOP与FP(函数式编程),Kotlin支持将函数,像java中的对象那样来使用的,所以就有了lambda表达式。一:闭包: "()->Int return{}" 一个函数返回了一个内部函数,该内部函数引用了外部函数的相关参数和变量,我们把该返回的内部函数称为闭包。-网上找的定义,觉得挺合...原创 2018-12-18 20:47:32 · 410 阅读 · 0 评论 -
Android9Android8中服务Service的限制与解决方案
随着近几年来 Android 的不断发展,Google 逐步加强了对于后台执行的优化和限制。为了开发出现代化的 Android 应用,开发者需要学习如何通过最新方式来管理后台任务。系统如何判定应用处于后台?在理解后台执行这个概念之前,我们先来看看 Android 系统是如何定义前台应用的。当应用满足以下任意条件时,系统会判断应用处于前台: 具有一个可见的 Activity,不论该 A...原创 2018-11-09 10:35:16 · 5620 阅读 · 0 评论 -
android获得控制台log,打印控制台log
//android手机root,然后打印控制台的log,从控制台log中查找 Finsky的信息过滤,然后找到包名信息。 文章出处:https://blog.youkuaiyun.com/pangzaifei/article/details/70213731 public static void monitorGooglePlayLogInRoot() { new Thread...原创 2018-03-22 19:13:47 · 2756 阅读 · 0 评论 -
test
{"address":"ce312528b1264800a45273128878cb6f237be0a3","crypto":{"cipher":"aes-128-ctr","ciphertext":"2b4b584e04324c87a3a2be3b84da5c6948359f5702e5f3657ce2ed10afe163f1","cipherparams&原创 2018-02-08 15:43:40 · 398 阅读 · 0 评论 -
transformClassesWithJarMergingForRelease解决办法 解决版本冲突 解决jar包冲突
因为重复引用造成打包时候出现transformClassesWithJarMergingForRelease的解决办法可以通过gradle配置或者在依赖声明时添加exclude的方式来排除指定的引用。 exclude可以接收group和module两个参数,这两个参数可以单独使用也可以搭配使用configurations { //编译期排除aa模块 compil...原创 2017-11-21 18:05:31 · 2698 阅读 · 0 评论 -
Android 相同类,相同包,在不同的jar/aar中,指定引用一个
比如A.aar中有com.gson.a类 版本是2.3.1B.jar中也有com.gson.a类版本是2.7当你调用 Gson gson=new Gson();import是com.gson.a类,无法区分,可能你要用的2.7,但是它引的确是2.3.1文章出处:https://blog.youkuaiyun.com/pangzaifei/article/details/7021...原创 2017-08-16 19:00:22 · 1747 阅读 · 0 评论 -
Android混淆、优化包大小 记录
1.不混淆类内的接口 -keep public class com.daps.weather.notification.DapWeatherNotification { *;}-keep class com.daps.weather.notification.DapWeatherNotification$WeatherNotificationListener { *; }...原创 2017-07-26 17:27:44 · 670 阅读 · 0 评论 -
获取调用自己方法的使用者的包名和类名
此功能可以获得第三方的对自己功能的使用情况,可以知道非法操作!//下面代码段是获取调用自己方法的人的包名和类名1.比如一个叫MainActivity内部调用了这个初始化MainActivity中有调用:ABC.getInstance();结果:name:com.xx.MainActivity2.比如从MainActivity进入了DemoActivityDemoActivi...原创 2017-07-07 11:44:11 · 2804 阅读 · 0 评论 -
博客阅读引导2018.11.07更新-hi,陌生人,很高兴我们有缘相聚于此!
个人介绍: hi,陌生人,很高兴我们有缘相聚于此,希望我的博客能给你带来帮助! 庞在飞,任职百度国际化部门,负责移动出海app广告变现SDK的开发,职位android开发工程师,DAP平台介绍。2019年计划:2018.11.07更新1.《在飞Kotlin快速入门》准备在博客中更新系列内容,关于Kotlin入门、高级的知识点。如果时间允许可能会写一个kotlin版的...原创 2017-04-17 17:27:21 · 1957 阅读 · 0 评论 -
Git+Andorid studio的使用 第二章 提交代码 可视化与Git命令
看了一段时间的项目代码,大体熟悉了代码结构。Leader今天来找你,在飞啊,熟悉的可以了吧,恰好今天接到个小需求,你来做一下吧。你早已经按耐不住激动的心情,开始代码的编写。经过一天的开发,功能已经做完了,然后就是提交代码了。然后怎么提交代码到 Git上呢?网上查了半天全是命令,都没有系统的告诉我怎么提交,直接懵逼,看了也不知道怎么弄。下面博主将带你一步一步提交代码。转载请注明出处:http:/...原创 2016-05-23 19:20:56 · 4611 阅读 · 2 评论 -
Git+Andorid studio的使用 第一章 下载项目代码 可视化与git 命令下载代码库中的项目代码
好久没有更新博客了,之前在国美在线一直忙着项目也没有时间更新,最近跳槽百度,下定决心重新开起博客。转载请注明出处:http://blog.youkuaiyun.com/pangzaifei/article/details/51483203正文:来到新公司就要适应新的开发环境,之前一直使用svn,百度这边使用Git来开发。网上找了很多资料更多的是git命令的使用,口令很多,无从下手,也没有找到一篇关...原创 2016-05-23 18:41:34 · 2867 阅读 · 0 评论 -
全手机弹出的dialog和观察者设计模式
转载请注明出处:http://blog.youkuaiyun.com/pangzaifei/article/details/43155997 1.项目中的需求是:一个活动结束,服务器通知用户,需要弹出一个提示框问用户,是否要将活动延迟30分钟,图片例如:这个需求是用户不管在那个app只要手机主界面就需要提示。所以我想到了,用service中来弹出dialog。但是用new Dialog ...原创 2015-01-26 18:58:16 · 1912 阅读 · 1 评论 -
写了个Android聊天客户端框架,基本聊天功能、数据库、服务器都有。大家可以看一看。已经开源
写了个Android聊天客户端框架,基本聊天功能、数据库、服务器都有。大家可以看一看。已经开源(希望两个手机通信的话,改一下pushid就可以)几点说明:1:包含的基本功能。:1.1比如gif动态表情展示、语音、聊天表情、拍照、多图的发送、大图片的处理、listview缓存的处理等。 1.2数据库也已经搭载好,算是个完整项目,可以直接拿来用。 1.3服务器使用的是baidu...原创 2015-01-22 19:04:47 · 12224 阅读 · 18 评论 -
listview拼装 item动态拼装
效果图:一个listview现实不同的view效果 1.项目中经常用到listview,为了更好的实现多种item,我们可以将不同view不同封装,然后根据不同的type显示不同的view 文章出处:https://blog.youkuaiyun.com/pangzaifei/article/details/70213731<pre n...原创 2014-12-18 15:40:07 · 1005 阅读 · 0 评论 -
EventBus简单应用和简单分析(附demo)
貌似最近EventBus挺火,自己找了找资料,然后看了看,写了个简单demo。供大家参考。EventBus项目中没有用到,我也是自己看一些资料,所以东西相对简单,见谅。一些高级功能,也只能靠大家自行摸索了。一:首先说一下我觉得EventBus几个重要的点吧。1.这个类似广播需要你将EventBus register和unregister一般在onCreate()中注册,在onDes...原创 2014-12-01 17:05:51 · 3421 阅读 · 0 评论 -
可以播放gif动画的ImageView
一般ImageView并不能播放gif动画。此处播放gif动画的核心是:1.将gif中的每一帧拿出来,然后使用Movie类的setTime()和draw()这两个方法来实时的画界面。2.在ondraw中来处理这些绘制操作。进行逻辑判断,是否自动播放,如果不是自动播放的话就需要绘制一个开始按钮,同事设置画面定位到gif动画的第一帧其他在代码中查看,主要类GifImageView.ja...原创 2014-10-14 15:15:42 · 2427 阅读 · 2 评论 -
Launcher知识的demo,手机管家小伙家与悬浮窗
Launcher知识的demo,主要仿的手机管家小伙家与悬浮窗的效果。东西比较jiandan原创 2014-10-11 11:31:22 · 2046 阅读 · 0 评论 -
程序员常去的14个顶级开发社区(Mark)
本文是码农网原创翻译,转载请看清文末的转载要求,谢谢合作!作为程序员,选择好合适的开发社区对提高自己的编程能力会有很大的帮助,我也说不出为什么,但是一些优秀的实时开发社区确实能帮你积累不少开发经验。下面这张图列出了14个程序员经常逛的顶级开发社区,作为程序员,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力。我们期望在开发者社区转载 2014-08-25 13:58:40 · 1109 阅读 · 0 评论 -
ViewPager切换动画效果修改
比如我们点击向右按钮,希望左边的view移动过来,有个平移效果,但是用系统默认的ViewPager切换的时候,会一闪而过。这是为什么呢?因为viewpager外面其实有个scrollview,你可以使用反射的方法,设置他的scroll时间。代码如下。主要代码://第一步: LayoutInflater mInflater = (LayoutInflater) ...原创 2014-08-13 18:11:39 · 2040 阅读 · 1 评论 -
禁止ViewPager左右滑动事件
禁止ViewPager左右滑动事件原创 2014-08-13 15:54:42 · 2217 阅读 · 0 评论 -
DiskLrucCache使用Demo(强烈推荐,很好用)
DiskLrucCache使用Demo原创 2014-08-12 14:21:22 · 1709 阅读 · 0 评论 -
Android TextView中有图片有文字混合排列
Android TextView中有图片有文字混合排列1.使用html.fromHtml2.新建ImageGetter3.使用<img src>标签 demo:1.设置文字 ((TextView) findViewById(R.id.tv_gradlist_calorie_desc)).setText(Html ...原创 2014-07-25 11:43:16 · 4072 阅读 · 1 评论 -
仿微信效果,主要是actionbar的一些知识
仿微信效果,主要是actionbar的一些知识原创 2014-07-24 12:17:35 · 2938 阅读 · 0 评论 -
Android瀑布流,解决oom
Android瀑布流原创 2014-07-15 18:22:47 · 2198 阅读 · 0 评论 -
Android图片墙,解决oom 20140714
图片墙,解决oom,Android Demo.我们原创 2014-07-14 16:09:49 · 839 阅读 · 0 评论 -
Android开源框架ImageLoader的完美例子
虽然没用过这个框架,但是闻名已久。好知识,做个备份转载 2014-06-23 16:11:54 · 1115 阅读 · 0 评论 -
百度android代码命名规范
代码规范1. 简介A. 目的本文提供一整套编写高效可靠的 Java 代码的标准、约定和指南。它们以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强。而且,通过遵循这些程序设计标准,你作为一个 Java 软件开发者的生产效率会有显著提高。经验证明,若从一开始就花时间编写高质量的代码,则在软件开发阶段,对代码的修改要容易很多。最后,遵循一套通用的程序设计标准将带来更大原创 2014-06-23 15:54:25 · 1592 阅读 · 0 评论 -
Android中Cursor关闭的问题
Cursor是Android查询数据后得到的一个管理数据集合的类,正常情况下,如果查询得到的数据量较小时不会有内存问题,而且虚拟机能够保证Cusor最终会被释放掉。然而如果Cursor的数据量特表大,特别是如果里面有Blob信息时,应该保证Cursor占用的内存被及时的释放掉,而不是等待GC来处理。并且Android明显是倾向于编程者手动的将Cursor close掉,因为在源代码中我们发原创 2014-06-23 15:36:19 · 887 阅读 · 0 评论 -
Android SQLite加密--SQLCipher
最近项目中要预先放置一部分food的sqlite数据在程序里,android项目资源文件的破译非常简单,出于安全的考虑,要对sqlite文件进行加密处理,于是就用到了SQLCipher。SQLCipher is an open source library that provides transparent, secure 256-bit AES encryption of SQLite原创 2014-06-23 15:18:27 · 1617 阅读 · 0 评论