黄林晴

不忘初心,方得始终。
私信 关注
黄林晴
码龄6年

胸有惊雷 面若平湖

  • 906,535
    被访问量
  • 71
    原创文章
  • 7,032
    作者排名
  • 25,536
    粉丝数量
  • 于 2015-09-02 加入CSDN
获得成就
  • 博客专家认证
  • 获得1,134次点赞
  • 内容获得653次评论
  • 获得2,232次收藏
  • GitHub 获得194Stars
荣誉勋章
兴趣领域
  • #Android
    #Flutter#性能优化#面试#数据结构
技术公众号与交流群

扫一扫关注我的公众号假正经程序猿


  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

快让你的App分20亿吧!

前言嗯?分20亿 什么鬼,见下图:过年的时候很多App的图标都变成了分20亿 分10亿,幸好自己的App 没有更新图标的功能,这样岂不是省了20亿~这个分钱呢,哦,不对,这个功能呢,咱们都应该知道首先肯定不是通过App更新来更新的,过节日为了更新一个图标让用户升级App,估计会被打死吧。这种功能的俗称叫做:动态替换App的图标。activity-alias其实 实现替换图标的方案有很多,比如修改 或 拦截 系统Launcher ,但是这种方式需要系统权限,不适合普通开发者,act
原创
3929阅读
13评论
6点赞
发布博客于 10 天前

2020年总结,所有努力只为一份期待

推荐阅读:2019年总结,平凡的我仍在平凡的生活前言从18年开始,我便养成了一个习惯,每年年底之前会写一篇总结和制定下一年中的计划,如果说2019的总结 是平凡的我仍在平凡的生活,那2020年便是 所有努力只为一份期待!2020年元旦前我制定了2020年一年当中最主要的计划,如下图所示。关于学习我始终认为并坚信程序猿应该任何时刻保持学习 ,Android中的新技术层出不穷,最近两年比较火热的就是Jetpack 和 MVVM 以及下年将推出正式版本的Compose,所以在19年的时候便计划
原创
6766阅读
28评论
19点赞
发布博客于 2 月前

Jetpack Compose开篇 之 HelloWorld

前言此前我更新了Jetpack Architecture系列的文章,如果你还不了解Jetpack,可以移步至 Android JetPack系列文章 ,持续更新中从即日起,我将开始持续更新Jetpack Compose系列的文章,Compose将会是原生开发的下一个改变风口,原创不易,感谢支持!Jetpack Compose是什么Jetpack Compose 是用于构建原生 Android 界面的新工具包。它基于声明性编程模型,因此您只需描述界面的外观,Compose 会负责完成其余工作,
原创
4454阅读
20评论
10点赞
发布博客于 3 月前

Jetpack 系列之Paging3,看这一篇就够了~

前言许久没有更新Jetpack系列的文章了,本篇文章为大家分享分页库Paging3的使用,如果你还没有看过我Jetpack其他的文章,可以移步至链接:Android JetPack系列文章 ,持续更新中为了能让自己更加快速的学习,英语菜鸡的我最近一直在恶补英语,直接看原版官方文档学习的会更快,皇天不负有心人,经过两个星期的坚持,现在官方文档上的10个单词我已经认识两个了~Paging是什么想想我们之前的业务中,实现分页加载需要怎么处理?一般我们都是自己封装RecycleView或者使
原创
1380阅读
15评论
4点赞
发布博客于 3 月前

Kotlin Flow 看这一篇 带你入门~

前言在最近的三篇中,标题都是 ***** 看这一篇就够了,而这篇关于Flow的,我认怂了,只能说 看这一篇 带你入门~,因为我发现Flow牵扯的东西实在是太多了,就像RxJava别说两篇 可能五篇也是说不完的。为什么需要Flow首先我们来回顾下Kotlin中我们如何使用挂起函数,我们在main方法中,调用挂起函数返回一组数据,代码如下所示suspendfunloadData():List<Int>{delay(1000)returnlistOf(1...
原创
2275阅读
12评论
9点赞
发布博客于 4 月前

Kotlin 使用DSL构建语法结构 看这一篇就够了~

前言DSL并不是单独为Kotlin语言提供的,可能你并知道DSL是什么,但是我敢说,只要你是Android开发者,你就一定使用过并且一直在使用DSL,那么到底什么时DSL?使用DSL又可以实现怎么样的功能呢?DSL是什么DSL的全程是Domain Specific Language 即 领域特定语言,我们可以通过DSL语言 构建出属于我们自己的语法结构,而在Kotlin中并不只有一种方式实现DSL,而主要的实现方式就是高阶函数(如果你不了解高阶函数,也不用怕,后面我会单独一篇文章来介绍高阶函
原创
1414阅读
3评论
8点赞
发布博客于 5 月前

粉丝1万的时候 干了件大事 等粉丝2万 再干件大事

发布Blink于 5 月前
设计模式系列之代理模式
发布Blink于 7 月前

代理模式看这一篇就够了~

前言不知各位是否还记得这两篇文章APP启动流程解析和Android Hook告诉你 如何启动未注册的Activity,这两篇文章中使用的技术基础都包含了 代理模式,其中在文章中也说道 “说到代理其实就是代理模式,关于什么是代理模式以及动态代理和静态代理的使用可以持续关注我,后面会单独写篇文章进行介绍。”如今整整一年过去了,我还是曾经那个少年,没有一丝丝改变。 这篇文章来了~什么是代理模式说到设计模式,离我们特别远,又特别近。问许多工程师,设计模式用过哪些,相信很多人都...
原创
1255阅读
2评论
11点赞
发布博客于 7 月前
Kotlin 协程 看这一篇就够了
发布Blink于 8 月前

Kotlin 协程 看这一篇就够了

前言Kotlin协程是什么,如何使用?如何结合Retrofit使用?Kotlin 的优势在哪里?相信看完这一篇你一定有所收获!协程基本使用若使用协程,首先我们得引入协程相关的开发包implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7-mpp-dev-11'implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7-mpp-de
原创
3614阅读
8评论
12点赞
发布博客于 8 月前

等到了10K 我开始做一件大事

发布Blink于 8 月前

MvvmNews.zip

我的MVVM 开源小项目已发布~ Jetpack组件、LiveData、ViweModel、Lifecycle, MVVM架构
zip
发布资源于 9 月前
我的MVVM 开源小项目已发布~
发布Blink于 9 月前

我的MVVM 开源小项目已发布~

前言前几篇文章中,我们学习了许多Jetpack架构组件,虽说每个架构组件都是相互协调使用的,但是相信还是有很多人不知道如何搭建一个Jetpack的项目,不知道网络请求该放在什么地方,或者说其他的开源项目功能比较多导致学习也无从下手。那么这个开源小项目MvvmNews一定能帮助到你!项目简介本项目,使用了MVVM架构、JetPack组件 实现唯一功能即 通过网络请求获取新闻数据,点击item进入新闻详情页面,功能特别简单,但是 是学习MVVM的最佳方式。项目使用聚合数据API 来获取新闻数据,采用
原创
5115阅读
22评论
16点赞
发布博客于 9 月前

Android Jetpack系列 之LiveData

前言在Android Jetpack 之ViewBinding和DataBinding这篇文章中,我们讲到了可观察的数据对象,在Jetpack组件中也为我们提供了强大的可观察的数据存储器类,就是我们本篇所说的LiveData。LiveData与普通可观察类不同的是LiveData具有生命周期感应能力,比如我们在页面中进行网络请求结束后,需要将数据显示在UI上,如果此时页面被销毁就会有空指针等异常,我们还需要在页面销毁的时候单独处理,而使用了LiveData之后就不需要我们手动的去处理这些了,.
原创
2061阅读
2评论
3点赞
发布博客于 9 月前

Android Jetpack系列之 ViewModel

前言前面两篇文章我们已经学习了Lifecycle和DataBind,本片文章我们来学习Jetpack系列中比较重要的ViewModel,Jetpack的很多很多组件都是搭配使用的,所以单独的知识点可能会有些”无意义“但却是我们项目实战的基础!...
原创
1879阅读
13评论
5点赞
发布博客于 9 月前

Android Jetpack系列之Lifecycle

前言Lifecycles是Jetpack架构组件中用来感知生命周期的组件,使用Lifecycles可以帮助我们写出和生命周期相关更简洁更易维护的代码。生命周期生命周期这个简单而又重要的知识相信大家早已耳熟能详。假设我们现在有这样一个简单需求:这个需求只是一个实例,在真实的开发中当然不可能有这样的需要:在Activity 可见的时候,我们去做一个计数功能,每隔一秒 将计数加1 ,当Activity不可见的时候停止计数,当Activity被销毁的时候 将计数置为0OK,So easy~
原创
1462阅读
1评论
7点赞
发布博客于 9 月前

Android Jetpack 之ViewBinding和DataBinding

前言Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。现在无论走到哪儿,如果Android开发者说自己不了解Jetpack,怕是会被人”鄙视“的看一眼,从今天开始,我会写一系列Jetpack的文章,让我们一起来学习强大的Jetpack吧。ViewBinding通过视图绑定,系统会为模块中的每个 XML 布局文件生成一个绑定类,通过绑定类,我们可以直接操作控件id,而不需要findViewById,这样我们可以避免控件id无效出现的空指针问题。首先我们新建项目,新建M
原创
6214阅读
0评论
9点赞
发布博客于 9 月前
发布Blink于 9 月前

Android JetPack系列文章 ,持续更新中

前言Jetpack是一套库、工具和指南,可帮助开发者更轻松地编写优质应用,接下来一个月 我将持续更新JetPack组件系列文章为此我自己做了一个简易的系列目标,欢迎共同打卡奋战!1、Android Jetpack系列之ViewBinding和DataBinding持续更新中~...
原创
3047阅读
2评论
11点赞
发布博客于 9 月前
Android Https相关完全解析 当OkHttp遇到Https
发布Blink于 10 月前

Android中 使用 WebSocket 实现消息通信

前言消息推送功能可以说移动APP不可缺少的功能之一,一般简单的推送我们可以使用第三方推送的SDK,比如极光推送、信鸽推送等,但是对于消息聊天这种及时性有要求的或者三方推送不满足业务需求的,我们就需要使用WebSocket实现消息推送功能。基本流程WebSocket是什么,这里就不做介绍了,我们这里使用的开源框架是https://github.com/TakahikoKawasaki/n...
原创
1415阅读
2评论
2点赞
发布博客于 9 月前
WebSocket实现消息推送 看这一篇就够了
发布Blink于 1 年前
发布Blink于 1 年前
发布Blink于 1 年前
自定义View二篇,如何自定义一个规范的ViewGroup
发布Blink于 1 年前

自定义View二篇,如何自定义一个规范的ViewGroup

前言在自定义View开篇,必须跨过的一道坎儿中,我们介绍了自定义View的几种方式,以及如何实现一个规范的自定义View,上文中也说了,实现一个规范的自定义ViewGroup是一件比较困难的事情,因为要考虑的情况包含 本身的padding以及子view的margin 与 本身wrap_content 问题。如何实现一个规范的ViewGroup,以实现垂直布局的LinerLayout为...
原创
3937阅读
2评论
4点赞
发布博客于 1 年前

自定义View开篇,必须跨过的一道坎儿

前言对于许多Android开发者而言,无论工作的方向是什么,自定义View是不得不跨过去的一道坎儿,相信很多伙伴有这样的感受,关于自定义View的知识都看的明白,甚至滚瓜烂熟,但是遇到自定义View实战的时候,还是感觉无从下手,其实想学好自定义View,只有一个字,'练",从今天开始我会持续开始写自定义View系列的文章,一方面巩固自己的基础,另一方面温故而知新。自定义view的方式及异同...
原创
4070阅读
2评论
6点赞
发布博客于 1 年前

愿少点重复性工作

发布Blink于 1 年前

字符串匹配算法从indexOf函数讲起

前言相信每个学习过Java的人都使用过indexOf函数,indexOf函数我们可以查找一个字符串(模式串)是否在另一个字符串(主串)出现过,返回结果表示出现位置的下标,如果返回-1,表示模式串在主串中不存在,那么,你可曾想过这些查找函数又是如何实现的呢?从indexOf源码看起首先我们先来看一下indexOf的源码,indexOf的使用方式比较多,这是我们以一个形参的为例。...
原创
1285阅读
0评论
5点赞
发布博客于 2 年前
2019年总结,平凡的我仍在平凡的生活
发布Blink于 2 年前

2019年总结,平凡的我仍在平凡的生活

时光荏苒,2019年即将结束,平凡的一年,平凡的我仍在平凡的生活。清晰的记得,18年年初给自己制定的几个flag:1.运营好公众号,用户数量翻倍2.经常写博客3.发布自己的开源库4.扎实技术功底,厚积薄发5.听说flag立多了,自己都会想笑如今翻出来,果不其然,我中了第5点,现在我真的在笑。感觉今年绝大多数的时间都放在工作上了,每天都会有做不完的事情,对于自己的规划...
原创
6908阅读
55评论
64点赞
发布博客于 2 年前

3333

发布Blink于 2 年前

加班使我快乐

发布Blink于 2 年前
Gradle 多渠道打包详解
发布Blink于 2 年前

Android Gradle 多渠道打包

前言什么是多渠道打包以及多渠道打包可以做什么,这里就不做介绍了,相信看到这篇文章的你已经了解了,多渠道打包的方式比较多,这里我们用Gradle多渠道打包方式。和其他文章有什么不同网上看到的大多数文章都只讲解了1.如何修改包名2.如何修改变量的值3.如何替换string中的资源4.如何替换AndroidManifest中的资源本篇文章会在上述知识点上增加5.不同...
原创
1171阅读
0评论
8点赞
发布博客于 2 年前

感谢CSDN的一路陪伴,在CSDN的陪伴下,经历了大学-大学创业-实习-毕业-第一份工作-订婚-养狗-现在的第二份工作。 愿在CSDN的陪伴下技术会越来越强,生活会越来越温馨。

发布Blink于 2 年前

出生日期

发布Blink于 2 年前

Android 贝塞尔曲线实现水纹波动效果

前言最近工作上比较忙碌,很久没有更新文章了,难得国庆小长假,现在是2019年10月2日凌晨00:49,写一篇简单且实用的贝塞尔曲线应用,许多技术点的文章很多前辈都已经写的很好了,所以 如有纰漏之处,欢迎留言指正,同时也欢迎各位留言需要的技术点类型,争取奉献更优质的技术文章。贝塞尔曲线简介千篇一律,很多类似的文章都会介绍一下什么是贝塞尔曲线,但是我这里就不做介绍了,原因有二,其一 正如上...
原创
2025阅读
0评论
6点赞
发布博客于 2 年前

我想要的是什么 我在追寻的是什么 有目的,看不到终点 却一直还在起点

 
发布Blink于 2 年前

Android自定义View之绘制圆形头像

前言做APP应用开发的时候,用户头像肯定是必不可少的,但是90%以上的需求头像都是圆形的。那么,如何通过自定义View的方式实现圆形头像呢,那么,本片博文会告诉你不仅仅是实现过程。一定会有意想不到的收获哦!最终效果国际惯例,我们先来看最终实现的效果图自定义RoundImageView继承自ImageViewpublic class RoundImageView ext...
原创
1794阅读
3评论
3点赞
发布博客于 2 年前

但愿人长久 搬砖不再有

发布Blink于 2 年前

CSDN 是我唯一可以改变命运的途径了

发布Blink于 2 年前

消息通知Notificatio在8.0上不显示,适配Android8.0

public class NotificationUtil { private Context aContext; private NotificationManager notificationManager; private static class NotificationHolder { private static final Notific...
原创
2181阅读
0评论
3点赞
发布博客于 2 年前
发布Blink于 2 年前

Android 悬浮窗功能的实现

前言我们大多数在两种情况下可以看到悬浮窗,一个是视频通话时的悬浮窗,另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例。编码实现使用Kotlin。Java版本留言邮箱即可。业务场景以微信视频通话为例,在视频通话时,我们打开其他应用或点击Home键退出时或点击缩放图标,悬浮窗会显示在其他应用之上,给人的假象是通话页面变小了,点击悬浮窗回到通过页面,悬浮窗...
原创
14130阅读
112评论
31点赞
发布博客于 2 年前

1024 😄

发布Blink于 2 年前

昨天梦到 自己的书出版了 竟然还是语文书 现实中有啥寓意呢

发布Blink于 2 年前

感恩的心❤ 感谢有你们

发布Blink于 2 年前

开车,不存在的

发布Blink于 2 年前

18年定的目标,半年过去了 实现一半了,就是4.自己看了都会笑

发布Blink于 2 年前

看到代码 两眼放光

发布Blink于 2 年前

加班ing 早上好

发布Blink于 2 年前

第500个有奖励哦

发布Blink于 2 年前

深入理解Android消息机制

前言 Android的消息机制主要说的是Handler的运行机制,相信大家对Handler已经非常熟悉了,Handler可以轻松的将一个任务切换到Handler所在的线程中去执行。最熟悉的就是我们只能在UI线程中更新UI,所以我们经常来用Handler来更新UI,但Handler并不是专门用来更新UI的。本文源码基于Android8.0。一、为什么只能在主线程中访问UI 可...
原创
1767阅读
0评论
4点赞
发布博客于 2 年前

热爱分享才会更强大 早

发布Blink于 2 年前

Android Hook告诉你 如何启动未注册的Activity

前言Android Hook 插件化其实已经不是什么新鲜的技术了,不知你有没有想过,支付宝中那么多小软件:淘票票 ,火车票等软件,难道是支付宝这个软件自己编写的吗?那不得写个十年,软件达到几十G,但是并没有,玩游戏时那么多的皮肤包肯定时用户使用哪个就下载哪个皮肤包。一 未在配置文件中注册的Activity可以启动吗? 从0学的时候就知道Activity必须在配置文...
原创
3489阅读
17评论
18点赞
发布博客于 2 年前

难得周六不上班

发布Blink于 2 年前

8月运气开挂的都是我的粉丝

 
发布Blink于 2 年前

这个可以吃吗

发布Blink于 2 年前

等我400粉丝的时候,天气就不热了

发布Blink于 2 年前

何以解热 唯有吃西瓜

发布Blink于 2 年前

冰可乐万岁≧▽≦

发布Blink于 2 年前

不想用8g的电脑

发布Blink于 2 年前
发布Blink于 2 年前

学不完的技术 改不完的BUG

发布Blink于 2 年前

感觉到热的给我点赞

发布Blink于 2 年前
Android Hook告诉你 如何启动未注册的Activity
发布Blink于 2 年前
发布Blink于 2 年前

#厚积薄发#

发布Blink于 2 年前
发布Blink于 2 年前

快来满足我粉丝400+的愿望

发布Blink于 2 年前

不明飞行物

发布Blink于 2 年前
发布Blink于 2 年前
CSDN
发布Blink于 2 年前

Android 在应用图标上设置未读消息数量

* 针对国内支持的Launcher分别开发,支持为:* ** 常见机型及是否支持* *** 华为 支持* 小米 支持* OPPO 可以支持但需要申请* VIVO 不支持* SAMSUNG 支持* MEIZU 不支持* google 8.0开始支持 显示一个点,长按点弹出数字不造轮子不累赘叙述,直接封装使用方法:1.在使用之前首先 初始化 ,三个方法的参数分别是 应用...
原创
3881阅读
12评论
9点赞
发布博客于 2 年前

让JNI告诉你 你的应用为什么被卸载

前言Android Jni开发相信多数Android开发者都有所了解,但是网上很多教程分为两种,一种是告诉你如何配置NDK环境变量,建个helloWorld的Demo,另一种就是太过于高端,C语言一大片,云里雾里,虽然很多公司开发都会有单独的人员来写C,但是从Android开发人员角度来说,学习C还是很有必要的,一切源码终归C.一 这篇文章你可以学到什么1.Java语言如何调用...
原创
1998阅读
21评论
2点赞
发布博客于 2 年前

c++ fopen 文件夹路径不存在异常问题

1问题描述: 使用fopen去打开某个目录,这个目录可能会随时被删除,比如用户卸载了软件对应的目录消失, 所以就是用fopen去打开这个目录 file = fopen(stringPackageName, "rt"); 原本想的时 当file为NULL的时候说明文件夹路径不存在也就是用户已经卸载了, 但是没想到当不存在的时候fopen直接异常了 stringPackageName是安装包的生成文件的路径,这里是 /data/data/jnidemo.hlq.com.jnidemo/ Error getting package:jnidemo.hlq.com.jnidemo android.content.pm.PackageManager$NameNotFoundException: jnidemo.hlq.com.jnidemo
3回答
发布问题于 2 年前

APP启动流程解析

前言当我们点击手机屏幕上的软件图标时,就可以打开这个软件,看似很简单的过程其实包含了许多的底层交互,看了还不明白,欢迎来打我。一 . 启动流程简介首先要知道的是,手机屏幕其实就是一个Activity,我们专业点将其称为Launcher,相信做过车载设备开发的朋友肯定不会陌生,Launcher是手机厂商提供的,不同的手机厂商比拼的就是Launcher的设计。当然我们自己也可以去编写Lau...
原创
11638阅读
61评论
178点赞
发布博客于 2 年前

Java反射技术详解

前言 相信很多人都知道反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的,比如最初的很多注解框架,后来因为java反射影响性能,所以被运行时注解APT替代了,java反射有个开源框架jOOR相信很多人都用过,不过我们还是要学习发射的基础语法,这样才能自己写出优秀的框架,当然这里所讲的反射技术,是学习Android插件化技术、Hook技术等必不可...
原创
135913阅读
110评论
339点赞
发布博客于 2 年前

数据结构开篇-做一个有思想的程序员

前言按照原计划,今天开始数据结构专栏的博文,数据结构系列博文是我在学习数据结构时总结所得的。不知道是否有人和当初的一样,出去面试的时候,不管面试的什么岗位,尤其是在bat,特别喜欢问一些数据结构或者操作系统方面的知识,可能你所在职位的技术能力很强但是因为数据结构不熟悉被pass了,这个时候你就会有怨言,只要我**技术好不就行了吗,为什么要会那些在工作用用不到的呢,OK,后半句说的没错,数据结构...
原创
1989阅读
3评论
9点赞
发布博客于 2 年前

ListView点击事件错乱

我Listview 的每个Item很长,每个item中有若干个标签,标签可以点击折叠和关闭 比如现在有两个item,当前显示第一个item position为0,点击item内的便签都正常 ,当getView返回的position是1时,第二个item只显示一点点,但是操作第一个item的点击事件 都在第二个item中有反应,请问这是为什么(ps:取消复用机制也没作用)
3回答
发布问题于 2 年前

EventBus源码解析

前言 相信大家已经非常熟练的使用EventBus了,简单的说EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,是个典型的观察者模式,那么是什么是观察者模式,有个很形象的比喻:西游记中各路神仙一挥手,自己的坐骑就现出原形了,那么这些妖怪就是观察者,当他们观察到神仙挥手时就会现出原形。本文源码基于EventBus3.0。一、获取Ev...
原创
1785阅读
1评论
2点赞
发布博客于 2 年前

Android MVVM模式入门 - DataBinding的使用

前言关于开发模式的文章,这应该算是第二篇,第一篇中讲解了Android MVP模式的使用:https://blog.csdn.net/huangliniqng/article/details/80570920mvp模式的优点就不说了,缺点其实在使用的过程中很显然,比如现在有个需求对数据库的学生表增删改查,那么view的接口,我们可能有如下定义interface view{ ...
原创
13832阅读
13评论
8点赞
发布博客于 2 年前

Android 开发之 QQ变声功能实现

1.简介在QQ中我们使用到的一个功能就是变声,QQ是使用FMOD实现的,那么同样的我们也使用FMOD让自己的应用可以变音2.FMOD简介fmod Ex 声音系统是为游戏开发者准备的革命性音频引擎,有时候我们下载FMOD可能不是太方便下载,我已将他下载好了放在百度云盘中:链接:https://pan.baidu.com/s/1TW3ctQd0o5bOVCx5gKL0hA 密码:x2...
原创
12593阅读
4评论
10点赞
发布博客于 3 年前

在ubuntu 上搭建Nginx-RTMP 直播服务器

前言近段时间在学习Android直播,那么毋庸置疑ffmpeg和WebRTC是音视频界的两个大佬。ffmpeg的基本使用:https://blog.csdn.net/huangliniqng/article/details/81842273看过很多教程讲解直播环境的搭建,大都是在mac环境上搭建的,对于windows用户来说搭建起来比较繁琐,昨天的这个时候我尝试了在windows本地搭...
原创
9679阅读
0评论
7点赞
发布博客于 3 年前

Android Activity的四种启动模式

前言记得第一次探讨Activity的启动模式,是在2017年8月份,那个时候对一年后走出校门的未来很是憧憬,时间真快,已经毕业四个月,工作和生活也都趋于稳定。一、小前言 相信很多人和我一样,在初学Android甚至初入职场的时候不了解Acticity的启动模式,或者为了面试刷题刷到了,但并不理解启动模式的作用,以及如何正确的使用启动模式而不是所有的都是用默认模式。二、Activi...
原创
15165阅读
2评论
9点赞
发布博客于 3 年前

Android 自定义View小实例-实现绘制打折标签

前言许多商城APP都会有商品打折的需求,而为文字添加下划线直接设置style就可以完成,我们在这里说的如下图,也就是我们demo实现的效果图。1. 选取自定义View的方法我们都知道自定义View有多种方式,比如继承自View、ViewGroup或者继承自现有的View子类等,每种实现方式的不同我们所需要做的处理工作也不同,从图中可以看出包含两个TextView,所以我们这里选取继...
原创
2883阅读
6评论
3点赞
发布博客于 3 年前

Android 自定义View小实例-实现绘制打折标签

前言许多商城APP都会有商品打折的需求,而为文字添加下划线直接设置style就可以完成,我们在这里说的如下图,也就是我们demo实现的效果图。1. 选取自定义View的方法我们都知道自定义View有多种方式,比如继承自View、ViewGroup或者继承自现有的View子类等,每种实现方式的不同我们所需要做的处理工作也不同,从图中可以看出包含两个TextView,所以我们这里选取继...
原创
2883阅读
6评论
3点赞
发布博客于 3 年前

详解Android View的事件体系 之View基础(二)

前言掌握View的事件体系是Android 向高级迈向的必经之路,本片博客讲解Android View的相关基础知识第二部分,后面我们会为大家讲解View事件体系、View事件分发等知识内容。View相关知识第一部分https://blog.csdn.net/huangliniqng/article/details/839332411.View基础1.1 手势检测GestureDete...
原创
1840阅读
0评论
3点赞
发布博客于 3 年前

Android GreenDao的基本使用

前言Android 本地数据库有很多,Sqlite、Dbutils、LitePa、GreenDao等,其他的几个数据库框架都用过了,GreenDao还未在项目中用过,所以在这里记录下GreenDao的基本使用。 一、添加GreenDao支持 1.1 在项目根目录下的build.gradle下的代码添加下列代码:1.2 在module下build.gradle(这里是app下的b...
原创
4104阅读
2评论
3点赞
发布博客于 3 年前

详解Android View的事件体系 之View基础(一)

前言掌握View的事件体系是Android 向高级迈向的必经之路,本片博客讲解Android View的相关基础知识第一部分,后面我们会为大家讲解基础知识第二部分、VIew事件体系、View事件分发等知识内容。1.View基础1.1 什么是View简单的说View是所有控件的“祖宗”,无论TextView、Button、Linearlayout,还是ListView、Recycle...
原创
2084阅读
0评论
3点赞
发布博客于 3 年前

详解Android View的事件体系 之View基础(一)

前言掌握View的事件体系是Android 向高级迈向的必经之路,本片博客讲解Android View的相关基础知识第一部分,后面我们会为大家讲解基础知识第二部分、VIew事件体系、View事件分发等知识内容。1.View基础1.1 什么是View简单的说View是所有控件的“祖宗”,无论TextView、Button、Linearlayout,还是ListView、Recycle...
原创
2084阅读
0评论
3点赞
发布博客于 3 年前

微信支付WXPayEntryActivity 不回调

微信支付同步回调不回调问题记录1.微信支付官方文档https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5第三方的东西都是比较简单的,直接看官方文档就可以,无论支付宝支付还是微信支付,客户端的工作量要小于服务端有同步回调结果和异步回调结果,一般官方建议以异步回调结果为准,所以我们在同步回调结果判断支付成功后,去请求...
原创
9990阅读
0评论
3点赞
发布博客于 3 年前

支付宝sdk,app获取异步回调

请教大家一个问题,就是支付宝支付设置了异步回调接口,支付成功后支付宝服务器吧异步回调post到服务器上,app端怎么获取异步回调的结果@大佬们
1回答
发布问题于 3 年前

Android动画详解

前言Android动画分为视图动画(View Animation)和属性动画(Property Animation),视图动画分为补间动画(Tween Animation)和逐帧动画(Frame Animation)。本次主要讲解Android 视图动画的使用。1.视图动画视图动画主要有5中类型:scale:动画缩放alpha:渐变透明度rotate:动画旋转tra...
原创
7398阅读
0评论
5点赞
发布博客于 3 年前

Android shortcuts快捷方式实现(支付宝长按图标弹出快捷方式入口)

前言Android shortcuts算是比较老的技术了,现在许多诸如支付宝、百度地图等都实现了这一功能,这一功能是Android7.1推出的新功能,但是在国内app使用的还是比较少。我们先来看一下支付宝实现的效果图。这样我们在使用的时候会方便许多,个人认为这种快捷方式更适合静态使用,比如设置等一些和数据没有交互的地方,虽然动态注册可以做,但是感觉不太友好。1.新建项目因为这个...
原创
8641阅读
2评论
4点赞
发布博客于 3 年前

Android连续的获取蓝牙的RSSI

基于蓝牙的RSSI可以有很多应用,要获得蓝牙的RSSI无外乎两种方法,一种就是基于扫瞄的方法,优点是Android本身支持,缺点是scan的时间比较长,并且中间过程不受控制,为了连续的测量,需要不断的scan;第二种就是,基于连接的方法,前提是要建立两个蓝牙设备的连接后,再测量RSSI,优点是后期测量比较方便,间隔时间也较短。连续测量Android设备(Java)的蓝牙RSSI教程在撰写...
翻译
10645阅读
0评论
3点赞
发布博客于 3 年前

Android 解析蓝牙广播数据

依据Android ScanRecord类的源码编写了ScanRecordUtil 类,扫描BLE设备,会获取byte[] scanRecord字节数组,可直接调用ScanRecordUtil.parseFromBytes(scanRecord).toString();获取广播中的信息,其他单独获取某个属性值与上类似,参照ble官方说明:https://www.bluetooth.com/spe...
原创
12984阅读
11评论
6点赞
发布博客于 3 年前