4 键盘舞者113

尚未进行身份认证

我要认证

你的star就是我的动力,https://github.com/979451341

等级
TA的排名 1w+

LiveData 机制详解

一.粘性消息机制首先展示一个最简单能体现粘性消息的例子

2020-08-06 11:28:45

Android蓝牙开发小结

因为之前有做与蓝牙有关的项目,所以这里写个博客总结一下。

2020-04-02 14:09:00

IdleHandler的使用和源码解析

1.作用IdleHandler用于执行耗时较短且非必须的任务,它会在消息队列空闲时执行任务,可以用于性能优化。2.使用queueIdle函数返回false的话,这个任务会被执行一次,如果返回true,则消息队列空闲时就执行(注意不是只要空闲了就不断执行,而且空闲后就执行一次) var handler:MessageQueue.IdleHandler = obje...

2020-03-07 10:36:39

Android 开源项目和文章集合(更新:2020.9.10)

2020.7.21.Kotlin、自定义View教学视频。通俗易懂、详实、时间短,强推https://space.bilibili.com/27559447/video

2017-12-21 16:06:45

Android 极光IM-高级篇-玩聊天app诞生

距离上一次写 基础篇有了4个月,终于我写了一个 功能完善的即时通讯app,作为高级篇的担当出现。废话不多说,上图app预览实现功能1.用户的登录注册2.单聊,能清空聊天记录,且对于单人可以进行.语音通话,(这个部分我做的比官方demo要好得多,可以全局监听,但是没做群聊语音通话和视频通话)3.群聊,能清空聊天记录、修改群名和修改群头像(只有群主才可以做)...

2019-09-17 10:32:32

Android 极光IM-基础篇

本篇为基础篇,这里我就来给大家演示一下如何 完成自定义聊天界面和相关 SDK对接还有高级篇,为一个功能完整的项目,可供看官选择首先,我要说极光IM好坑,界面需要自己画,自己去对接API。虽然他给了一个demo,但是那个demo太大,而且不好移植到其他项目里。这是效果图,画的一般大家见谅,毕竟是我亲手设计1.配置环境这一步不是本文重点,我这里只给个链接,大家按照官方文...

2019-05-15 17:37:53

Android 学看ANR日志

ANR也算是比较常见的情况,虽然我们大多数可以把锅甩给用户的手机,但是有时候也有甩不动锅的时候 这篇博客的主题是教大家如何看ANR日志,然后就是分析ANR日志一.预备工作1.配置环境配置环境,如果已经配置过的就跳过,在PC的在系统变量中path变量后面添加adb.exe的路径,我的路径是D:\Android\sdk\platform-tools 添加完之后用PC的cm...

2019-01-23 16:20:24

指定TabLayout的指示器宽度

引言:关于TabLayout的指示器宽度,无法进行指定,默认宽度为所在TabView的宽度。虽然可以通过setTabIndicatorFullWidth(false)使指示器宽度为标题长度,但是还是达不到效果。 解决思路:我先查找指示器的绘画代码,这里把我的查找流程放出来setupWithViewPagersetPagerAdapterpopulateFromPagerA...

2018-11-23 15:08:14

PopupWindow的源码解析

PopupWindow还是很常用的,所以为了更好的使用这个控件,今天看看PopupWindow的源码,把其中的原理理一理 1.首先看看构造函数PopupWindow的构造函数和一些系统控件一样,一层套一层,最后调用的是这个函数public PopupWindow(Context context, AttributeSet attrs, int defStyleAttr, int ...

2018-07-27 17:46:45

RecyclerView滚动控制大全

项目地址本次是通过RecyclerView实现两个列表:主列表、详情列表。通过点击主列表某个item,详情列表通过自动移动显示相应的item,并使其置顶,通过滑动详情列表,主列表也会自动移动到相应的位置。上效果图一.预备知识获取当前RecyclerView可见的第一个和最后的item在整体列表里的顺序 layoutM.findFirstVisi...

2018-07-26 18:23:42

Android Jetpack 六大架构组件全面了解

项目地址一.项目简介本项目实现了对Lifecycle,LiveData,ViewModel,Room,Paging,Navigation这六个官方构架组件的全面使用,组件的单独使用或者合作使用都有(PS:WorkManager bug 太多,不建议使用,我这里也不会提到他,因为我反正是有坑,迈不过去)贴一张项目主界面图,大家可以先下载项目自己运行一下二.对于六大组件的简...

2018-07-24 16:04:26

Kotlin版 极简 干货集中营 APP

项目地址首先这是我的一个Kotlin练手项目,规模很小,显示干货集中营的几个分类模块,使用的还是我习惯使用的java框架,虽然遇到了一些问题,不过提高了Kotlin的熟练度,踩了一些Kotlin的坑。上效果图项目说明项目比较简单,主界面是TabLayout&ViewPager&Fragment,Fragment懒加载模式,Fragment里就一个Recycl...

2018-07-19 12:49:36

Android 自定义滚动选择控件开发

为何要从头开发滚动组件,为了能够让自己更加清楚和理解拖动效果是如何实现的,投掷效果是如何实现的。 我自己完成一个滚动选择控件,能够拖动选择,并且可以手指进行投掷操作(fling),手指离开,他也会继续滚动一段距离。因为做的是滚动选择,所以需要每次回自动滚动到恰好的位置。效果图如下  1.实现基本绘画首先我需要绘画出一个类似LinearLayout里排放很多个相同的Tex...

2018-07-14 16:27:10

Android项目组件化实践

本博客使用的示例项目都来自以下地址https://github.com/979451341/MDemo一.组件化的概念和作用      组件化的概念就是将一个项目分成多个组件进行完成,各个组件能够单独编译和运行,而又可以组合成一个完成的项目编译和运行。      组件化使得多人同时编写一个项目更加方便,比如你编译一个组件就比编译一个完整的项目更加快捷,而且这样开发者之间只需要确定界面的跳转逻辑和服...

2018-07-06 10:05:26

Flutter 通过API获取网络数据并解析

首先通过API获取网络数据这个过程是耗时的,所以我们需要进行异步操作,使用Dart语言完成异步可以参考如下的文章https://www.jianshu.com/p/f2f7634b602c1.网络请求直接进入正题,首先我进行网络请求是通过一个工具类,大家可以直接使用import 'package:http/http.dart' as http;import 'dart:convert';cl...

2018-07-03 16:16:27

Flutter 自定义UI控件并设置交互能力

1.自定义UI控件首先UI控件按照是否能够与用户交互分为交互型控件和非交互型控件。下面就是创建了一个交互型控件,只是关于界面是空的,如果我们继承StatelessWidget就是创建了一个非交互型控件,比如我们最顶层的容器MyApp就是一个非交互型控件至于MyWidgetState是来实现UI控件的界面class MyWidget extends StatefulWidget { @overr...

2018-06-26 17:50:38

Android Bmob项目(已完成登录、注册、留言板功能)

项目地址https://github.com/979451341/BmobTest原本想自己写个功能比较完整的app,但是自己不会写后台,而使用公开的API做个新闻类APP,我的毕业设计就这个(PS:过些天我把毕业设计的源码发出),所以我找了Bmob网络存储做后台,一天500次,实名认证20000,还可以。目前还是个半成品,功能太少,大家可以帮我想一下功能,我是认真的,我做的出来,就做废话不多说,...

2018-06-22 16:01:43

Flutter 所有UI控件使用教程

本篇博客将把Flutter所有UI控件的使用方法写出,我学习Flutter是通过Flutter官网来学习的,不需要科学上网,比如这这个网址说的就是Flutter的UI控件的使用方法  https://flutter.io/widgets/widgetindex/ 1.基础控件 首先说一下最基础的控件有哪些,基础使用方法文字显示new Text('Hello World',...

2018-06-14 17:20:07

我的第一个Flutter APP

首先需要说明本次博客我是用的电脑是mac,并且在下没有使用科学上网,额,对使用window的同学不太友好,日后再来一篇window配置Flutter环境的博客1.环境配置关于环境配置,我是根据范玉刚大神的博客做的 (https://blog.csdn.net/singwhatiwanna/article/details/79571364),我自己在进行一些补充在我们执行flutter doctor...

2018-06-14 13:52:41

JobScheduler API的使用详细

首先需要注意,本人使用的测试手机是Android7.0,荣耀华为6x1.简介JobScheduler API是在Android5.0开始有的,使用场景:在稍后的某个时间点或者当满足某个特定的条件(连接电源,网络状态变化、手机是否空闲)时需要执行一个任务。2.API函数开发者主要通过三个类JobService和JobScheduler、JobInfo来使用JobSchedule API而且你要知道一...

2018-06-07 18:08:44

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取
  • 红花
    红花
    子板块内专家分月排名榜第一