自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (28)
  • 收藏
  • 关注

原创 kotlin : lambda 作为参数及返回值

作为参数:fun main() { println("duck".filter { it in 'a'..'e' }) println("hello world!".filter())}fun String.filter(process: ((Char) -> Boolean)? = { c -> c in 'a'..'z' }): String { ...

2019-09-26 21:52:31 705

原创 kotlin : 高阶函数概览

按照定义,高阶函数就是以另一个函数作为参数或者返回值的函数。在Kotiin中, 函数可以用lambda或者函数引用来表示。因此,任何以 lambda 或者函数引用作为参数的函数,或者返回值为 lambda 或函数 引用的函数,或者两者都满足的函数都是高阶函数 。来看一段代码:fun main() { val added = compute(2, 3) { a, b -&g...

2019-09-25 23:52:38 206

原创 kotlin: with 与 apply

zz kotlin 中有两个通用的扩展函数 with和apply。fun az(): String = with(StringBuffer()) { // 通过 with ,将第一个参数作为lambda 的 this 对象 for (c in 'A'..'Z') { this.append(c) } this.append("\n done!")...

2019-09-22 11:25:28 599

原创 kotlin : flatMap 与 rxJava flatMap 对比

先看一段代码: val strings = listOf("abc", "de") strings.map { s -> s.toList() } strings.flatMap { s -> s.toSet() }.run { println("flatMap: $this") } // flatMap: [a, b, c, d, e] s...

2019-09-22 01:16:41 2023

原创 kotlin lambda 表达式概览

先看一段代码:fun main(args: Array<String>) { val sum = { a: Int, b: Int -> a + b } println(sum) println(sum(1, 2)) println({ a: Int, b: Int -> a + b }(3, 4)) println({ a...

2019-09-21 15:14:12 163

原创 kotlin 类委托

kotlin 提供了一个很方便的语法去实现“装饰者”模式。装饰者模式叫做“是你还有你,干活的还是你”。Java API 中对装饰者的典型实现有 buffer流。比如:FilterInputStream,BufferedInputStream.简单来说,实现装饰者的基本步骤是:继承目标类。有一个成员是目标类的类型。提供与目标类完全相同的公共方法,这些方法实际是调用成员的对应方法去处...

2019-09-21 12:57:12 305

原创 kotlin:精湛的递归

首先来看一段代码:// kotlinclass Sum(val left: Expr, val right: Expr) : Exprfun eval(e: Expr): Int = when (e) { is Num -> { println("num: ${e.value}") ...

2019-09-16 23:46:00 455

原创 Android: Fragment 再次踩坑之回退与前进

比如一个 Activity 里面包含3个fragment,通过底部导航栏进行切换。类似微信的界面。然后,每个 fragment 里面点击一些按钮又会进入到子 fragment 里面。默认的预期肯定是,从 子 fragment返回之后,显示上一个。 主界面本身的3个fragment的返回就退出 当前activity了。实现起来真是有点麻烦。特别是如果想用系统提供的addToBackStack ...

2019-09-09 00:27:01 1071 1

原创 android: mqtt 浅析

由于项目中需要使用到 mqtt 协议进行数据通信,所以,我这边就去了解了一些,并做了一个简单的实现。关于前置内容:Mqtt实战项目 点评:这个博客很清晰,代码也是可以直接运行的hivemq 点评:做了一些介绍,但是作用不太大eclipse paho 实现的 mqtt 开源库 api 点评:这个api 其实不完整,具体连接建立这些逻辑不在这里面mqtt 协议中文版 点评:内容很多,但是...

2019-09-08 13:50:43 663

原创 Android:浅谈 mvp-clean 架构

官方示例:todo-mvp-clean官方对 clean 的解读:the-clean-architecturemvp-clean 可以认为是 对 mvp 的再次分层。不过就我个人而言,我认为 clean 是一种清晰的思想;而 mvp 不是。对比 mvp-clean 与 mvp 的示例代码会发现,里面多了一个 usecase 的概念。use case 简单翻译可以认为是“用例”。用例是...

2019-09-03 23:14:15 1324 1

原创 android:浅谈 mvp 架构

虽然谷歌继 mvp 之后,又推出了 mvvm 架构。不过,从官方示例仓库来看,谷歌是比较喜欢 mvp 架构的。因为看其介绍,后面的其他示例几乎都是基于 mvp 架构的代码。官方示例代码仓库:todo-mvp话说这个仓库出来很早了,从提交日志可以看到 在 2015-10 就开始了,然后也是在 2015 年底,就完成了该示例代码。不过一直都有维护,目前已经把 数据库 换成了 谷歌新推出的 Je...

2019-09-01 20:16:33 438

camera2preview-v1.0.zip

use camera2 api show preview in surfaceview

2021-09-05

Camera2easy.zip

用最少的代码实现 android camera2 调用相机预览。仅仅是简单的示例。

2021-06-27

工厂方法Demo

Java设计模式之“工厂方法模式”的学习 http://blog.csdn.net/DucklikeJAVA/article/details/50984194

2016-03-25

简单工厂模式

简单工厂模式的学习: http://blog.csdn.net/DucklikeJAVA/article/details/50976451

2016-03-25

ClearCache(5.0)

通过反射机制,调用系统隐藏的API,清除手机所有的app缓存. 关键方法:freeStorageAndNotify。前提:添加AIDL文件 参考博客:http://blog.csdn.net/DucklikeJAVA/article/details/50951668

2016-03-22

混淆打包的小DEMO

详情见http://blog.csdn.net/DucklikeJAVA/article/details/50762661 主要实现了一下内容:1.混淆的操作步骤,2.混淆时如何保留类名,3.混淆时如何保留一个类的类名和里面的全部方法属性4.混淆时如何保护内部类的类名和全部内容5.第三方jar包的最简单的混淆方式

2016-02-29

As的初使用

我上传的第一个AS工程。主要是练习AS的使用。 DEMO主要功能:扫描系统数据库,获取里面的音乐文件的信息,然后显示到UI上面。 blog:http://blog.csdn.net/DucklikeJAVA/article/details/50464227

2016-01-05

地图实现定位

利用百度地图SDK实现定位与在地图上显示当前位置的功能

2016-01-03

混淆打包SmsCheck

blog:http://blog.csdn.net/DucklikeJAVA/article/details/50428478 混淆打包apk攻略。以及通过云之讯SDK进行短信验证的请求,获取验证码之后,对比验证码,删除验证码短信

2015-12-29

短信验证加强

blog:http://blog.csdn.net/DucklikeJAVA/article/details/50421250. 通过第三方SDK,进行验证码的获取。 监听短信数据库,确认收到的短信就是验证码短信。 删除该验证码短信,发送广播通知验证成功或失败

2015-12-28

SmsReadDemo

在小米3手机测试正常。基于系统数据库进行短信数据库的查询和删除操作 blog: http://blog.csdn.net/DucklikeJAVA/article/details/50413369

2015-12-27

duckFileOperate

listviewItem刷新 根据ListView的Item进行对应的进度刷新

2015-12-23

YYYY短信验证

短信验证的简单实现,基于云之讯SDK.blog:http://blog.csdn.net/DucklikeJAVA/article/details/50379049

2015-12-23

YZX短信验证

基于云之讯的短信验证代码 blog: http://blog.csdn.net/DucklikeJAVA/article/details/50379049

2015-12-22

基于云之讯sdk的语音通话app Demo

需要注册云之讯的开发者帐号,以及自己的手机号码,以及两部android手机就可以实现语音通话了。是blog-->http://blog.csdn.net/ducklikejava/article/details/50194709对应代码

2015-12-06

自定义View的学习使用

Android自定义View的学习使用Demo。根据guolin,hongyang等大神的blog的指导,写了几个简单的自定义View的Demo。准备作为下一篇blog的资源。

2015-11-18

碎片相机--之前写的一个Demo

是一个很小的Demo。里面有关于软键盘的处理。然后就是拍照存储。到时候把这个链接挂到一个博客里面。

2015-11-02

导入导出Demo

是blog:http://blog.csdn.net/DucklikeJAVA/article/details/49395387 的Demo。这也是目前为止,我最满意的一个Demo。主要内容就是:如何在Service的子线程中去和UI通信。以及,如何去同时刷新GridView的多个Item进度,并且不出现进度错乱。

2015-10-25

Husband看门狗

是blog:http://blog.csdn.net/DucklikeJAVA/article/details/48959875 对应的代码。 程序锁功能并不是什么高大上的技术,也不是很难的技术点。 做一个程序锁功能所涉及到的知识点: Service组建的使用。 Broadcast组建的使用(当然,这个不是必须的,在实现这个功能上)。 Activity启动模式的了解。 ActivityManager的APi使用。 PackageManager的API的使用。 数据库SQLiteDatabase的使用。(这个也不是必须的) InputMethodManager的API的使用。(有些手机不主动打开软键盘,就需要使用这个类)

2015-10-08

MoocBmob云服务使用

MoocBmob云服务使用。对第三方开发平台提供的服务进行简单使用。这里主要是,将数据存放到云端数据库的操作。以及消息推送的简单使用 是blog:http://blog.csdn.net/ducklikejava/article/details/48948875 的代码。 今天有点背,老是上传不成功

2015-10-07

高仿微信5.3的界面,已上传N次了,就是不显示啊

是blog对应的项目源码。一直不显示。只是说上传成功,但是在我的资源里面又找不到,所以再上传一次...

2015-10-05

高仿微信5.3界面,Android版

是blog:http://blog.csdn.net/ducklikejava/article/details/48915925 所涉及的代码。 主要就是一个tab的滑动跟随。还包含:代码实现控件的宽高定义,动态改变tab字体颜色

2015-10-05

微信5.3界面的高仿|Adnroid版

是blog:http://blog.csdn.net/DucklikeJAVA/article/details/48915925 的代码。 通过对微信5.3界面的高仿,学习ViewPager的tab的滑动跟随制作。代码中,动态设置控件宽高属性;以及对开源控件BadgeView的使用。

2015-10-05

Android手势识别

Android手势识别 的简单使用。注意是几个api的调用,没用过可能不知道怎么调用

2015-10-04

Android 手势识别的API简单使用

对GestureOverlayView, GestureDetector,SimpleOnGestureListener的简单使用。

2015-10-04

AsyncTask加载ListView的Item图片完整版

使用AsyncTask去加载json,并通过json里面的Item的Url去加载ListView条目的图片。涉及知识点如下: 1. ListView显示内容 xml布局+adapter 2. 获取网络数据 URLConnection+I/O 3. 解析Json JsonObject+JsonArray 4. AsyncTask的正确使用 三个参数 + 两个方法 doInBackground,onPostExecute 5. Lrucache的正确使用 a.正确初始化LruCache mCache = new LruCache(maxSize) { @Override protected int sizeOf(String key, Bitmap value) { return value.getByteCount(); } }; b.添加和查找的方法 addBitmapToCache getBitmapFromCache 6. OnScrollListener a.获取当前屏幕的可见项,并针对性加载图片 b.在空闲状态才进行图片加载,其他时间取消异步任务(或者取消子线程任务) c.判断首次预加载的时机,进行首次预加载

2015-10-03

AsyncTask加载ListView的Item图片

是针对blog:http://blog.csdn.net/DucklikeJAVA/article/details/48864019 的。主要就是 使用AsyncTask加载ListView的Item图片。

2015-10-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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