自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肖坤的博客

为将来成为一位优秀的魔法师而努力!

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 React Native 组件生命周期学习总结

React Native 组件生命周期学习总结React Native 中的所有组件存在生命周期,了解其生命周期对于我们掌握一个组件从创建到销毁的整个完整的过程和优化逻辑有很大的帮助。先来一张经典的生命周期图:getDefaultPropsgetDefaultProps 是创建前的准备工作,来设置默认 props 的值,所以严格地来说,这不是组件的生命周期的一部分。需要注意的是如果有从父...

2019-03-17 23:44:49 252

原创 仿微信剪切视频时长View

#

2018-07-25 23:04:16 1677

原创 使用观察者模式进行订单管理

使用观察者模式进行订单管理概念:观察者模式是由发送者和观察者构成,发送者在状态改变时,主动通知所有的观察者做相应的刷新。 观察者模式定义了对象之间一对多的依赖关系,以便一个对象状态发生改变时,所有依赖于它的对象都能够得到通知,并自动刷新。/** * author: Alan on 2017/12/14 15:34 * address: [email protected] * desc

2018-01-30 22:06:01 1670

原创 仿QQ空间打赏功能实现

1. preview

2017-11-19 20:51:29 924 1

原创 AndroidStudio中的NDK开发初探

前段时间由于做项目紧,一直都没时间写博客,现在终于可以补上一篇了,一直想学习一点NDK开发的知识,但是迟迟没有动手,正好有一个NDK相关的项目机会,便查阅了一些资料,遂将学习的一些心得方法记录于此。

2017-08-04 00:18:54 1855 2

原创 关于 Kotlin 的一些小知识的总结

1. Class在 Kotlin 中 Class 的默认修饰符是 final,是不可以被继承和重写的,如果需要进行重写,可以在类名前面加修饰符 open,像下面这样:open class RunClass {}2. 构造函数当我们只需要一个构造函数的时候,可以直接有下面这种方式进行声明:class CustomView(context: Context?, attrs: AttributeSet?,

2017-07-03 15:14:32 475

原创 Activity 工作流框架学习总结

环境的搭建和数据表的了解1. 什么是工作流?工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 工作流管理系统(Workflow Management System,WfMS)是一个软件系统,它完成工作量的定义

2017-06-26 18:39:11 3171 1

转载 MVP详解 - MVP最佳实践

所谓 MVP(Model-View-Presenter) 模式。是将 APP 的结构分为三层:view - UI显示层view 层主要负责:提供 UI 交互在 presenter 的控制下修改UI。将业务事件交由 presenter 处理。注意:View 层不存储数据,不与 Model 层交互。 presenter - 逻辑处理层presenter 层主要负责:对 UI 的各种业务事件进行

2017-03-20 23:06:19 934

原创 Android 中 Bitmap 和 Drawable

一、基本概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象 2、Canvas画布,绘图的目的区域,用于绘图 3、Bitmap位图,用于图的处理 4、Matrix矩阵二、Bitmap1、从资源中获取BitmapReso

2017-02-05 10:06:42 305

原创 Deta日期操作工具类

这几个月工作都很忙, 项目很紧, 导致很长一段时间没有继续更新, 再次做下记录, 巩固一下所用到的知识, 话不多说,先分享一个强大的日期操作工具类:import com.aiitec.openapi.utils.LogUtil;import java.text.DateFormat;import java.text.ParseException;import java.text.ParsePo

2017-01-17 10:38:18 688

转载 总结和分析几种判断 RecyclerView 到达底部的方法

上一篇文章我讲到 用事件分发的原理结合 SwipeRefreshLayout 写一个 RecyclerView 的上下拉 ,里面有一个判断 RecyclerView 是否到达底部的方法 isBottom。我的同事用了这个上下拉之后发现有些小 bug,没考虑周全,譬如各个子项高度不统一的时候,然后我找到原因是因为这个判断上下拉的问题。所以,我就去网上查到几种判断 RecyclerView 到达底部的方

2016-12-30 09:10:12 1860

原创 Glide下载指定宽高图片,并获取本地文件路径

使用Glide下载指定宽高图片,并获取本地文件路径

2016-12-28 14:48:08 1599

原创 HashMap一键对多值的存与取

Map一键对多值的存与取1. map的一个值对应多个value,根据map的性质,是要覆盖的,只有用它的泛型放,Map<String,List> map1 = new HashMap() if(map1.containsKey(data.getPrpName())){ //判断key是否一样 map1.get(data.getPrpName()).add(map2); }else

2016-11-25 09:26:57 11752

原创 一行代码获取ViewPager中当前显示的Fragment

一句代码获取ViewPager中当前显示的Fragment 我不知道网上的那些答案为什么写的那么复杂, 明明一行代码可以搞定的事情, 写的这么麻烦, 有两种方式可以获取

2016-11-24 20:33:46 2141 1

原创 GestureDetector与ScrollView事件冲突解决方法

在Avtivity中重写dispatchTouchEvent方法 : @Override public boolean dispatchTouchEvent(MotionEvent ev){ //让GestureDetector响应触碰事件 gesture.onTouchEvent(ev); //让Activity响应触碰事件

2016-11-23 15:25:40 2070

原创 Fragment中处理触摸事件

实现 Fragment 触摸事件处理设置触摸事件可以先在主Activity中设置一个接口如下 : private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>( 10); @Override public boolean dispatchT

2016-11-23 15:19:06 2288 1

转载 Glide使用详解

Glide使用详解Glide有哪些“坑”?

2016-11-21 19:07:25 1201

原创 安卓更新UI的几种方法

安卓更新UI的几种方法:1.利用Looper更新UI界面  如果我们的代码需要随时将处理后的数据交给UI更新,那么我们想到的方法就是另开一个线程更新数据(也必须这么做,如果我们的数据更新运算量较大,就会阻塞UI线程),也就是界面更新和数据更新是在不同线程中(android采用的是UI单线程模型,所以我们也只能在主线程中对UI进行操作),但这会导致另一个问题:如何在两个线程间通信呢?android提供

2016-09-16 15:12:31 1366

原创 Android中的Handler机制

android的消息处理机制 — Looper,Handler,Message  在介绍Handler之前,先来了解一下几个基本的术语:通信的同步:指向客户端发送请求后,必须要在服务端有回应后客户端才继续发送其它的请求,所以这时所有请求将会在服务端得到同步,直到服务端返回请求。通信的异步:指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求。  所谓同步调用,就是在一个函数或方法调用

2016-08-27 21:32:08 540

原创 响应式函数编程_RxJava & RxAndroid

响应式函数编程_RxJava & RxAndroid主页: https://github.com/ReactiveX/RxJava中文资料: https://github.com/lzyzsd/Awesome-RxJavahttps://www.zhihu.com/question/35511144用途: 异步操作在程序逻辑异常复杂的情况下,仍然可以让代码的逻辑保持简洁配置: 添加

2016-08-23 13:44:32 901

原创 数据库之OrmLite

数据库之OrmLite官方主页: http://ormlite.com/配置: AndroidStudio需要添加以下依赖compile ‘com.j256.ormlite:ormlite-android:4.48’compile ‘com.j256.ormlite:ormlite-core:4.48’用途: 操作数据库使用步骤1. 创建数据库表结构的实体类.示例代码:@Database

2016-08-20 10:58:13 311

原创 数据库之greenDAO 的使用

数据库之greenDAO 的使用官方主页: https://github.com/greenrobot/greenDAO配置: AndroidStudio需要添加以下依赖 compile ‘de.greenrobot:greendao:2.1.0’compile ‘de.greenrobot:greendao-generator:2.1.0’用途: 操作数据库优点: 性能最大化,内存开

2016-08-20 10:37:41 441

原创 新控件之TextInputLayout

新控件之TextInputLayoutDesign兼容包  在Android M Preview发布后,我们获得了一个新的兼容包 —— Android Design Support Library(Android材料设计兼容包), 通过该兼容包的一些新控件,能够方便地实现材料设计风格的应用。先看效果图:是不是很炫酷? 1. 实现 TextInputLayout第一步: 创建一个新的项目第二步

2016-08-19 21:38:07 585

原创 QQ聊天界面侧滑删除

侧滑删除效果图: 实现步骤:1. 创建SwipeLayoutpublic class SwipeLayout extends FrameLayout { public SwipeLayout(Context context) { super(context); } public SwipeLayout(Context context, Attribute

2016-08-19 20:33:12 1403

原创 QQ聊天列表粘性控件

QQ聊天列表粘性控件应用场景:未读数据的清除等 实现步骤:1. 画静态图  先画个两个静态的圆圈,一个大的,一个小的 ,要画的这个图的坐标如下图,通过Path类将上图中的路径坐标一一填充进方法中即可画出下图形状,然后算出两个圆对应下图的坐标替换进去即可。protected void onDraw(Canvas canvas) { // 1. 画固定圆 canvas.drawCir

2016-08-19 19:46:39 1163

原创 QQ侧滑面板特效的实现

ViewDragHelper的介绍  要实现和QQ5.0侧滑的特效,需要借助谷歌在2013年I/O大会上发布的ViewDragHelper类,提供这个类目的就是为了解决拖拽滑动问题。   使用v4包中的ViewDragHelper为了兼容低版本,所以在创建ViewDragHelper对象时如果找不到ViewDragHelper这个类,可以从sdk中拷贝出最新的v4包覆盖lib目录中的V4包即可。

2016-08-19 13:15:32 870

原创 深入分析:Android中app之间的交互(二)

方式二:使用ComponentName  在前一篇相关主题的博文中我们了解了如何使用Action来启动当前应用之外的Activity处理我们的业务逻辑,在本篇笔记中我在简单介绍一下使用ComponentName来与当前应用之外的应用进行交互。   我们首先来了解ComponentName这个类;ComponentName与Intent同位于android.content包下,我们从Android官方

2016-08-19 01:36:31 868

原创 深入分析:Android中app之间的交互(一)

深入分析:Android中app之间的交互1. 使用Action  在我们开发Android App应用的时候,有些需求需要我们启动其他的App来处理一些逻辑   例如我们需要根据一个地址来调用系统或者相关的地图Map App,这样我们不用在自己的App中编写相应的功能,而是通过Intent来发送一些请求,调用相关的应用来处理这些请求。并且我们称这种Intent为隐式的Intent;这种隐式的In

2016-08-19 01:19:48 1263

原创 ListView的四种优化方式

优化方式一: 第一种优化就是重用convertView,这也是最简单的一种优化方式,就是在Adapter类的getView方法中通过判断convertView是否为null,是的话就需要在创建一个视图出来,然后给视图设置数据,最后将这个视图返回给底层,呈现给用户;如果不为null的话,其他新的view可以通过复用的方式使用已经消失的条目view,重新设置上数据然后展现出来。

2016-07-18 15:35:59 19052

原创 整理的一些AndroidStudio实用插件

ADB Idea:ctrl + Shift + A 查找中添加常用卸载安装app的一些操作,无需命令行Android ButterKnife Zelezny:butterKnife自动生成注解插件,包括holderAndroid Parcelable code generator:Parcelable 自动生成插件,findViewById 生成插件Eclipse code formatter: 没

2016-07-14 01:52:02 638

原创 ListView OnScrollListener解析

OnScrollListener实现滚动事件的监听// 给列表设置滑动监听 mLvAppManager.setOnScrollListener(new OnScrollListener() { public void onScrollStateChanged(AbsListView paramAbsListView, int paramInt) { } public

2016-06-30 23:48:30 512

原创 再按一次退出程序

我们平时使用手机的时候,经常会看到很多APP退出的时候,都会有提示再按一次退出应用程序,我觉得这种使用这种提示是很有必要的,如果退出时直接弹出Dialog的话,用户体验不太好。 重写onKeyDown方法,监听手机返回键,按下返回键时会触发此方法:private long exitTime = 0;public boolean onKeyDown(int keyCode, KeyEvent ev

2016-06-30 20:16:22 1139

原创 EdieText输入框抖动震动效果

EdieText输入框抖动震动效果应用场景:当用户输入错误时

2016-06-26 00:18:39 1136

原创 JAVA中的权限修饰符

Java中修饰符总结:访问控制修饰符 作用: 用于控制被修饰变量、方法、类的可见范围。 public的访问级别是最高的,其次是protected、默认和private 成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有 顶层类可以处于公开或默认级别,顶层类不能被protected和private修饰 局部变量不能被访问控制修饰符修饰

2016-06-24 20:11:33 36847 14

TencentQQ完整演示代码

包括侧拉菜单与聊天列表的侧滑删除,拖拽清除特效

2016-08-19

okhttp-2.5.0.jar和okio-1.6.0.jar

2016-08-10

Android最新反编译工具

强大且好用的反编译工具

2016-06-26

空空如也

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

TA关注的人

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