5 刘某人程序员

尚未进行身份认证

我要认证

心有菩提手有刀,欲成舍利却成妖!

等级
TA的排名 914

Gradle Kotlin DSL , 你知道它吗?

一.前言kotlin我相信大家实际上还是挺熟悉的,哪怕不熟悉,也没有关系,它跟Java是百分百兼容的,很多的语法是有点类似的,所以只要有Java基础,学习Kotlin并不是什么难事,再加上现在kotlin大热,Google多次在各种大会上力推,如果这个时候我们掌握了kotlin,肯定能给我们提升很大的帮助。而且Kotlin本身就是一门让人爱不释手的语言,写起来还是很赞的,不管你需不需要学习,进来看看,开阔下视野总是没错的。自Kotlin被Google转正之后,这门语言就备受我们Android开发者的.

2020-07-20 20:12:14

Kotlin 超车指南

前段时间在我的知识星球里统计了一下使用kotlin开发的人,感觉还不错,有十多个人在工作中已经正式使用了,我的知识星球《Hi Android》欢迎你的加入,我也应星友的需求写了一部分的kotlin基础知识,我也还在学习的过程中,为了帮助更多的星友认识到Kotlin for Android,所以花了点时间整理了这篇《Kotlin超车指南》,如果对你有所帮助,记得点个赞哦。Kotlin 是一个用于...

2019-12-24 14:52:25

Kotlin学习(十)—— Kotlin 计算器

我们也学习了这么久的Kotlin了,我们来用Kotlin写一个计算器的小案例吧,这也是比较简单的示例了。我们先来看下效果:先看下这个UI,上面是一个EditText 下面是一个RecyclerView,先来写个适配器吧,我们来一步步分析:可以看到,我们已经不用写构造方法了,而是直接在class中定义,并且让他继承自我们自己实现的ViewHolder,包括对外提供点击事件其中是不需要有f...

2019-12-24 14:49:51

Kotlin学习(九)—— Android Studio 创建第一个Kotlin App

Kotlin还有很多的知识点我们是没有提起的,比如高阶函数,DSL,闭包等,不过纯Kotlin太枯燥了,所以我们直奔主题吧,在主题中找到一些问题并且讲解,我们首先创建第一个Kotlin App,只需要在创建的时候将语言改成Kotlin即可创建好项目之后你会发现,其实大体和Java工程是类似的,只是多了一些配置,我们来看下,首先是project/build.gradle这里声明了一个全局的扩...

2019-11-29 12:08:31

Kotlin学习(八)—— 协程Coroutine基础

其实在Kotlin中,还有很多的概念没有去讲解,在后续的文章再去补充,我们先来一篇协程的基础介绍吧,协程是kotlin for android 中的一个重要概念,我们在加载一段数据的时候,最开始的使用方式是加载数据-等待数据-使用数据,这里是阻塞线程的一个操作,那么势必会出现卡顿等表现,后来我们有了回调,那么这个时候我们的操作步骤就变成加载数据 - 执行其他操作 - 回调数据 - 使用数据,不过回...

2019-11-29 12:05:55

Kotlin学习(七)—— 数据类空构造的实现NoArg

我们之前有讲数据类,也就是data,他的角色充当我们的JavaBean,比如我们的列表就经常会使用到,但是data修饰的class,有一个问题就是,无法实现一个空的构造参数,我们看下他的提示:可以看到,如果我们不传递参数,则会提示我们必须要传递一个参数,也就是这样的实现但是我们有时候有一些需求是不需要构造函数中有参数的,这个时候我们需要去处理了,实际上kt是知道有这么一个问题所在的,所以它...

2019-11-29 12:01:23

Kotlin学习(六)—— 基础巩固,类与继承,Lambda,表达式,计算器

一.类与继承我们沿用Java的经典案例,人,男人,女人,首先,我们如果要创建一个类,他为男人,他具有姓名,年龄,身高的属性,我们要创建女人,他也有这些属性,但是他们都是人,我们可以抽取出这三个字属性,来看下代码:通过这段代码就可以实现我们的抽取例子了。二.可空参数在Java中,我们会经常和一个叫做空指针的家伙打交道,但是在kt中,他就能有效的避免空指针,他能做到这点,就是他的可空参数了,...

2019-11-19 22:34:41

Kotlin学习(五)—— 数据类,泛型,嵌套类与内部类,对象表达式和对象声明

一.数据类数据类和JAVA中的javabean类似,只作用于保存一些数据,所以如果创建,会默认生成一些函数,并且会被标记为data:equals() / hashCode()toString()componentN()copy()我们来看下标准的写法data class User(val name: String, val age: Int)为了保证这个类的意义,所以一般都会...

2019-11-12 23:25:45

Android 组件化架构概要

组件化相信大家都很清楚他是什么,Android的一种开发架构,并且备受团队推崇,确实组件化在我看来对团队协作方面是帮助巨大的,随着应用开发的业务不断累积,我觉得我们更加应该关注架构的搭建,而不是一味的实现代码,这种重复工作以及无效时间就太多了,最近也阅读了很多关于架构的书籍,收获良多,所以今天的文章,就带领大家来领略一下组件化架构的美妙。我在慕课网的Android新课核心知识点如下:Andro...

2019-11-05 17:50:33

Android Vitamio 兼容 7.0 8.0 或者更高

说实话,这玩意还是很坑爹的,老项目使用了Vitamio这个视频框架,现在想改也没有什么精力了,然后去寻找一些解决办法,然而解决的办法并不多,而且方法都比较老,比较出现次数多的就是下面这两个错误了:1.Expecting an absolute path of the library: libstlport_shared.so2.No implementation found for void ...

2019-08-29 21:25:46

Android 监听来去电状态的实现

本文授权发布公众号【刘桂林】,星球【Hi Android】在Android中我们想要实现监听电话状态一般都会通过TelephonyManager来监听,他提供了一个PhoneStateListener的回调方式,当然,他也是提供了广播的通知方式,如果你想要实现此功能,那么这篇文章你可以看看,我将通过这两种方式来教你如何实现此功能。先来看下TelephonyManager的实现方式:来看...

2019-05-27 12:49:18

Android Zip 解压 与 进度 实现

本文授权发布公众号【刘桂林】,星球【Hi Android】关于Zip解压,其实在我们java中的java.util.zip包下有原生支持的读写,我们本篇文章将实现此功能,当然,我手写的代码大部分还是传授其原理和思路,需要大家自己去发散思维。首先我们明确一下需求:/sdcard/hello.zip 中 有一个 hello.txt 文本中有一句话,读取出来显示这里我先实现一下读取一个zip...

2019-05-27 12:47:25

Android PDF 的 读取 与 生成

本文授权发布公众号【刘桂林】,星球【Hi Android】Android 上 PDF 的读取 与 生成 , 一个小功能点,操作的也是File对象,这里涉及到IO操作,所以读写权限自行处理,我们先来看下读取PDF的几种方式:读取读取的话,搜了一圈的资料,大概是如下几种1.PdfRenderer加载,最原始的方式2.Pdf.js ,WebView加载3.第三方PDF库加载,如PDFVi...

2019-05-27 12:45:12

Android 如何生成专属分享卡

本文授权发布公众号【刘桂林】,星球【Hi Android】时下在使用手机App的过程中,我们发现专属分享卡已经很流行了,比如网易云的歌词分享,知识星球的邀请卡片,我们来看下我的星球的这张邀请卡:可以看到里面的内容一目了然,那么我们今天就来分享一下如何生成这样的卡片,也让你的应用更加时尚;实际上只需要通过View的截图功能就能实现这样的效果,我们首先需要先把这一块的布局写好:这里我们...

2019-05-27 12:42:09

封装MediaPlayer实现网易云音乐播放器

本文授权发布公众号【刘桂林】,星球【Hi Android】此文后续将出配套视频,星球成员免费观看本文将来实现一个音乐播放器,播放File和播放Url实际上是一致的,我会封装好所需文件便于你直接阅读代码和使用首先是流程与步骤:1.启动服务扫描所有的mp3文件形成播放列表2.封装MediaPlayer播放和操作3.歌曲封面动画和唱针动画的逻辑4.毛玻璃效果和封面5.歌曲控制 播放/...

2019-05-27 12:39:43

掌握RxJava的葵花宝典

本文授权发布公众号【刘桂林】,星球【Hi Android】各位少侠,老夫在黑木崖恭候大驾,欲练此功,必先哈哈。今天我们分享的是RxJava的知识点,让你快速掌握,所以我们会从0开始讲带RxJava的Api使用和设计理念等,本文较长,所以需要耐心看下去。目录一.RxJava相关资料二.RxJava的基本使用三.RxJava的调度器四.RxJava的操作符五.RxJava的订阅与...

2019-05-27 12:34:52

Android 商城类应用实战之购物车附源码

本文授权发布公众号【刘桂林】,星球【Hi Android】本文为实战类项目,所以陈述的逻辑为实现流程 + 核心代码,主要实现的还是购物车的动画与结算,首先我们来看下整体的效果图:购物车一般都是后台存储的,这里因为是模拟数据,所以就不用存储了,直接将数据储存在内存中即可,也算是偷个懒儿~好了,我们一步步来ViewPager轮播首先我们要处理一下轮播,其实轮播还是比较简单的,就是一个V...

2019-05-27 12:15:04

Android 基于AccessibilityService智能安装Apk 仿 豌豆荚

本文授权发布公众号【刘桂林】,星球【Hi Android】今天我简单的来给大家分享一下基于AccessibilityService功能实现智能安装的功能,事实上这个功能在豌豆荚或者其他应用商店应该也是可以看到的,我们来看下截图:我们可以看到在豌豆荚的设置里有一个【自动安装应用】的功能,当我点击点击打开的时候就会弹出一个Window来告诉你,可以点击豌豆荚自动装来开启,这就是基本上的流程...

2019-05-27 11:45:42

Android 异步处理之IntentService源码分析

本文授权发布公众号【刘桂林】,星球【Hi Android】今天介绍一下IntentService,他和Service其实差不多,只是内部实现了一个HandlerThread,这点我们看源码其实就可以知道,IntentService的特性如下:启动的方式和正常的Service一致执行完任务之后自动停止多次启动以队列的形式等待执行使用起来还是比较简单的,来看下我写的这个例子:pub...

2019-05-27 10:26:44

Android线程优化之线程池的详解

本文授权发布公众号【刘桂林】,星球【Hi Android】ThreadPoolExecutor还是有很多可讲的,但是我选择的还是着重讲解Android中的四个线程池,网上对ThreadPoolExecutor的例子太多了,也比较杂,大家可以去看看。Android中的线程池的概念来源于Java中的Executor,Executor是一个接口,真正的线程池的实现为ThreadPoolExecu...

2019-05-27 10:24:21

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 博客之星
    博客之星
    授予通过"CSDN博客之星评选"中脱颖而出的十大博客之星称号的用户。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 分享王者
    分享王者
    成功上传51个资源即可获取