![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 66
在飞
现北京百度做android客户端开发。
展开
-
《在飞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 · 1836 阅读 · 0 评论 -
《在飞Android Kotlin实战》之apply{}、with{}及原理分析篇3
hi各位亲,这章主要说下开发中常用到apply()、with()。 这几个方法在Android开发中经常用到的地方是:使用同一个对象的多个方法的时候。可以不用分开写,全部放到apply{}with{}中。一:apply{} 上面是applay的源码,我们解读下方法体中的具体含义: <T> T.apply:<T>是指泛型,任意类型,...原创 2018-12-20 13:18:00 · 2893 阅读 · 0 评论 -
《在飞Android Kotlin实战》之核心语法lambda表达式2
hi各位,这章主要是lambda表达式的快速入门。 大家都知道编程有OOP与FP(函数式编程),Kotlin支持将函数,像java中的对象那样来使用的,所以就有了lambda表达式。一:闭包: "()->Int return{}" 一个函数返回了一个内部函数,该内部函数引用了外部函数的相关参数和变量,我们把该返回的内部函数称为闭包。-网上找的定义,觉得挺合...原创 2018-12-18 20:47:32 · 368 阅读 · 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 · 537 阅读 · 0 评论 -
《在飞Android Kotlin实战》之?问号与android studio kotlin开发环境搭建篇8
hi各位亲,刚刚浏览下写的博客,发现没有说有关问号?和开发环境的的东西,这篇说下这两点。一:?问号 1. 定义变量时,可在类型后面加一个问号?,表示该变量是Nullable,不加表示该变量不可为null 2.对于可以为null的变量,在使用该变量的时候,必须用变量名+?(如上面的s?)的形式进行调用,表示如果该变量为null,则不执行该变量调用的方法。var t...原创 2019-01-21 13:26:36 · 261 阅读 · 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 · 287 阅读 · 0 评论 -
Android9Android8中服务Service的限制与解决方案
随着近几年来 Android 的不断发展,Google 逐步加强了对于后台执行的优化和限制。为了开发出现代化的 Android 应用,开发者需要学习如何通过最新方式来管理后台任务。系统如何判定应用处于后台?在理解后台执行这个概念之前,我们先来看看 Android 系统是如何定义前台应用的。当应用满足以下任意条件时,系统会判断应用处于前台: 具有一个可见的 Activity,不论该 A...原创 2018-11-09 10:35:16 · 5542 阅读 · 0 评论 -
Android Asynchronous Http Client
在Android的SDK中封装一些请求http的包,其中最常用的便是使用HttpClient了,我们一般都是自己定义一个http的工具类,然后把get和post方法封装起来,然后自己手动处理一些http的异常,值得注意的是http请求在android中是阻碍UI主线程的,所以必须开启新的线程在后台请求,所以这一来,发现只是发起一个http的请求就必须要做这么多事,而且自己封装的工具类也不一定是最好转载 2014-06-23 15:13:57 · 754 阅读 · 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 · 790 阅读 · 0 评论 -
《在飞Android Kotlin实战》之扩展函数、枚举篇6
hi各位亲,这篇主要说下扩展函数和枚举在开发中经常使用的知识:一:扩展函数: 现有类的基础上,拓展一些新的功能。 系统提供了一些扩展函数,比如apply{} with{} run{}等等,最常见的是isEmptey当然自己也可以创建自己的扩展函数,如下://kotlin调用isEmpty()扩展函数if (list.isEmpty()) {}//扩展函数...原创 2018-12-24 18:23:43 · 265 阅读 · 0 评论 -
《在飞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 · 300 阅读 · 0 评论 -
《在飞Android Gradle实战》之核心模块Plugin4
hi各位小伙伴,上一章《在飞Android Gradle实战》之核心模块Task3 介绍了Gradle核心模块Task的相关内容。 Task 是真正执行逻辑的角色,大到源码编译,小到copy功能,最后执行者都是task。重点讲了task的创建、查找、以及如何指定task的输入输出、执行顺序、它的依赖。而通过指定task的执行顺序和依赖,可以将我们自己的task插入到一些构建过程中去,...原创 2019-03-16 13:18:48 · 318 阅读 · 1 评论 -
《在飞Android Gradle实战》之生命周期1
hi各位小伙伴,继之前《在飞Android Kotlin实战》系列结束后,今日开始按计划更新《在飞Android Gradle实战系列》。前言: 随着Android技术的发展,我们现在的app业务越来越多,体积越来越大,之前的ant等等构件工具已经无法满足我们的需求。Android Studio的快速普及,对于Gradle现在已经成为我们技术人员的一项必备技能,本系列也将会和大家一起...原创 2019-02-23 16:00:01 · 346 阅读 · 0 评论 -
《在飞Android Gradle实战》之核心模块Project2
hi各位小伙伴,前面《在飞Android Gradle实战》之生命周期1我们已经介绍了Gradle的生命周期。 只有了解了gradle的生命周期才能写出正确的脚本代码。初始化阶段gradle会完成所有工程的初始化,决定我们的项目有多少个子项目 这个阶段重点就是解析setting.gradle文件,初始化阶段完毕就是配置阶段,build.gradle中的代码大部分都是执行在配置阶段的,...原创 2019-03-02 21:35:14 · 352 阅读 · 0 评论 -
android获得控制台log,打印控制台log
//android手机root,然后打印控制台的log,从控制台log中查找 Finsky的信息过滤,然后找到包名信息。 文章出处:https://blog.csdn.net/pangzaifei/article/details/70213731 public static void monitorGooglePlayLogInRoot() { new Thread...原创 2018-03-22 19:13:47 · 2676 阅读 · 0 评论 -
android 监听wifi和数据连接
android 监听wifi和数据连接原创 2014-02-19 18:47:01 · 2630 阅读 · 0 评论 -
百度android代码命名规范
代码规范1. 简介A. 目的本文提供一整套编写高效可靠的 Java 代码的标准、约定和指南。它们以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强。而且,通过遵循这些程序设计标准,你作为一个 Java 软件开发者的生产效率会有显著提高。经验证明,若从一开始就花时间编写高质量的代码,则在软件开发阶段,对代码的修改要容易很多。最后,遵循一套通用的程序设计标准将带来更大原创 2014-06-23 15:54:25 · 1546 阅读 · 0 评论 -
Android全局异常处理(捕获异常,不弹出程序崩溃)
在做android项目开发时,大家都知道如果程序出错了,会弹出来一个强制退出的弹出框,这个本身没什么问题,但是这个UI实在是太丑了,别说用户接受不了,就连我们自己本身可能都接受不了。虽然我们在发布程序时总会经过仔细的测试,但是难免会碰到预料不到的错误。今天就来自定义一个程序出错时的处理,类似iphone的闪退。(虽然闪退也是用户不愿意看到的,但是在用户体验上明显比那个原生的弹窗好多了)原创 2014-06-23 15:16:49 · 5603 阅读 · 0 评论 -
Android OnTouchListener OnGestureListener
Android事件处理机制是基于Listener实现的,比如触摸屏相关的事件,是通过OnTouchListener实现的;而手势是通过OnGestureListener实现的,那么这两者有什么关联呢?OnTouchListenerOnTouchListener接口中包含一个onTouch()方法,直接看一个例子:public class MainActivity exten原创 2014-06-23 14:29:12 · 914 阅读 · 0 评论 -
8个常用的Android开发工具
1 The SDK and AVD Manager这个工具是用来添加、更新Android SDK的组件的,例如新的API。2 Android ADT这是Eclipse的Android开发者查件,为Android开发提供了一个可视化的集成开发环境。3 Android DDMS在Android开发工具包当中有一个调试工具,Dalvik Debug Monitor S原创 2014-06-23 14:32:22 · 1216 阅读 · 0 评论 -
HTTP协议之状态码详解
HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。 本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。HTTP状态码的学习资料到处都有,但是都是理论上讲解。 本文介绍H转载 2014-06-23 15:07:46 · 681 阅读 · 0 评论 -
Android加载大图片和大量图片,避免oom的办法(感觉不错,推荐大家阅读)
我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可以通过下面的代码看转载 2014-06-20 15:14:02 · 1075 阅读 · 1 评论 -
Handler引起的内存泄露及解决办法
如果你在Activity中定义了一个内部Handler类,如下代码:public class MainActivity extends Activity { private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) {转载 2014-06-20 14:23:54 · 687 阅读 · 0 评论 -
Android中自定义属性与格式标签详解
Android中自定义属性与格式标签详解在Android项目的实际开发中,免不了要自定义一些控件或者view,更高深一点的自定义view也应该可以直接在xml自定义属性,今天就来分享下自定义属性的格式。1. reference:参考某一资源ID属性定义:declare-styleable name="名称"> attr name="background" for原创 2014-06-23 11:33:44 · 1484 阅读 · 0 评论 -
Builder Pattern In Android
看到一篇个人感觉不错的文章,分享出来。(希望对大家有帮助)When I started with android, I almost always asked Google how to do the smallest things. I want to highlight the examples I found for starting an activity.Intent i转载 2014-06-23 10:41:35 · 580 阅读 · 0 评论 -
Android中Cursor关闭的问题
Cursor是Android查询数据后得到的一个管理数据集合的类,正常情况下,如果查询得到的数据量较小时不会有内存问题,而且虚拟机能够保证Cusor最终会被释放掉。然而如果Cursor的数据量特表大,特别是如果里面有Blob信息时,应该保证Cursor占用的内存被及时的释放掉,而不是等待GC来处理。并且Android明显是倾向于编程者手动的将Cursor close掉,因为在源代码中我们发原创 2014-06-23 15:36:19 · 847 阅读 · 0 评论 -
Android开源框架ImageLoader的完美例子
虽然没用过这个框架,但是闻名已久。好知识,做个备份转载 2014-06-23 16:11:54 · 1063 阅读 · 0 评论 -
android 发送有序广播sendOrderBraodCast、截断广播和广播之间的数据传递
android中的广播分有序广播和无序广播,无序广播比较容易理解,有序广播是根据你在清单中为每个reciver设置priority的大小(越大优先级越高)将消息依次的传递(由高到低),既然有了顺序就可以实现消息的一级一级的拦击,或者在某一级中,修改传递来的数据,发送到下一级。(例子:车载中的发送消息,例如1号车(最高指挥车)下达消息给2号车,2号车接受到消息之后,根据命令将消息详细化发给3号车(不一定是一个量车,有的车优先级可以相同))。拦截可以使用abortBroadCast来拦截。数据的设置如果是原原创 2014-02-20 10:09:47 · 2302 阅读 · 0 评论 -
android调用系统邮件组件(intent匹配的流程)
调用邮件组件,主要是用到了intent的相关知识,同时解释了,Intent的匹配流程原创 2014-03-04 10:09:42 · 2600 阅读 · 0 评论 -
Android demo倒计时原理(CountDownTimer原理)
项目中用绑定手机号功能,发送之后2分钟倒计时。倒计时的功能用到了CountDownTimer类,这是android的一个工具类。很巧妙下面是这个类的原理解析,此类比较简单。但很强大。package com.example.democountdowntheory;import android.os.Handler;import android.os.Message;imp原创 2014-03-07 17:35:56 · 1982 阅读 · 0 评论 -
android 动画效果1 pathMenu效果 (巩固自己的动画知识)
pathMenu效果,这个效果已经出了很长时间了。一直是拿来主义,今天有空就自己写了一个。原创 2014-05-07 17:59:27 · 791 阅读 · 0 评论 -
将android项目变成lib库和主项目中使用lib库中的数据和布局
项目中有时会用到将一个android项目作为一个lib库,原创 2014-04-23 15:51:13 · 2992 阅读 · 0 评论 -
Android自定义控件添加属性
Android 自定义View 己经不是什么新鲜话题,Android Api提供了一大堆基础组件给我们,需要什么特定功能还需要我们继承它们然后定制更加丰富的功能。那么如何给自定义的View添加一些自定义xml属性呢,如one:textTitle=”“,不仅如此,我们知道xml中有一个android:onClick=”onClickMethod”,这样在Activity中就不需要给该View设置监听原创 2014-06-23 13:36:39 · 1660 阅读 · 0 评论 -
Android中ScrollView嵌套WebView
Android中WebView用来加载html页面,自带滑动效果。ScrollView同样也是自带滑动效果,在项目中如果需要WebView和一些其他view比如TextView一起滑动的话就必须外面嵌套一层ScrollView,这时问题就来了,嵌套之后ScrollView的滑动和WebView的滑动就会有冲突,WebView的滑动不流畅。下面就是解决方案:自定义一个ScrollView原创 2014-06-23 13:47:00 · 4648 阅读 · 1 评论 -
Android设置WebView背景透明
Android4.0环境下WebView背景一直都是白色的,和App的整体风格不一致,所以需要把背景设为透明,本来以为非常简单的一个background属性设为透明就好了,可事情并没有这么简单,经过一番周折最后终于搞定,在这里记录下来。网上的解决方案android:layerType="software"(没效果)mWebView.setBackgroundColor(0);(没原创 2014-06-23 13:50:03 · 1037 阅读 · 0 评论 -
Android Manifest.xml中的meta-data属性
语法meta-data android:name="string" android:resource="resource specification" android:value="string" />这是该元素的基本结构.可以包含在activity, activity-alias, service, receiver四个元素中。这原创 2014-06-23 14:41:27 · 748 阅读 · 0 评论 -
Android图片墙,解决oom 20140714
图片墙,解决oom,Android Demo.我们原创 2014-07-14 16:09:49 · 820 阅读 · 0 评论 -
禁止ViewPager左右滑动事件
禁止ViewPager左右滑动事件原创 2014-08-13 15:54:42 · 2174 阅读 · 0 评论 -
程序员常去的14个顶级开发社区(Mark)
本文是码农网原创翻译,转载请看清文末的转载要求,谢谢合作!作为程序员,选择好合适的开发社区对提高自己的编程能力会有很大的帮助,我也说不出为什么,但是一些优秀的实时开发社区确实能帮你积累不少开发经验。下面这张图列出了14个程序员经常逛的顶级开发社区,作为程序员,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力。我们期望在开发者社区转载 2014-08-25 13:58:40 · 1071 阅读 · 0 评论 -
Launcher知识的demo,手机管家小伙家与悬浮窗
Launcher知识的demo,主要仿的手机管家小伙家与悬浮窗的效果。东西比较jiandan原创 2014-10-11 11:31:22 · 1977 阅读 · 0 评论