自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

maplejaw的博客

http://www.maplejaw.com

  • 博客(34)
  • 收藏
  • 关注

原创 Android插件化探索系列——文章索引

【 Android插件化探索(一)类加载器DexClassLoader】 这篇主要介绍了类加载器DexClassLoader,看完本篇就能知道如何加载插件中的类。【 Android插件化探索(二)资源加载】 这篇主要介绍了资源加载方式,getResourcesForApplication和AssetManager两种方式来加载资源,并从源码角度比较了两者的区别,看完本篇就能对加载插件资源游刃有余

2016-06-06 16:24:24 939

原创 UGUI源码解读-布局系统

CanvasUpdate枚举类:CanvasUpdate,用于表示当前的布局阶段public enum CanvasUpdate{ /// <summary> /// Called before layout. /// </summary>Prelayout= 0, /// <summary> /// Called for layout. /// </summary>Layout= 1, ///

2021-06-06 14:25:04 406

原创 UGUI 源码解读-EventSystem

EventSystem事件系统的源码目录结构如下:大致可分为EventData、InputModules、Raycasters、EventSystem、ExecuteEvents。EventSystem的职责:管理和处理输入事件(InputModule)调用Raycaster发起射线检测,获取输入事件投射到的物体将事件发送给投射物体处理。每个场景一般有且只有一个EventSystem,EventSystem上一般会挂一个InputModule模块。EventDataBaseEvent

2021-05-23 19:21:05 456

原创 矩阵旋转公式备忘(左手坐标系和右手坐标系)

以Android ColorMatrix为例(右手坐标系):可结合Android Matrix矩阵详解查看绕X轴旋转:绕Y轴旋转:绕Z轴旋转:以Unity为例(左手坐标系):绕X轴旋转:绕Y轴旋转:绕Z轴旋转:

2020-11-28 15:40:12 7109 5

原创 Unity如何与Webview进行交互

目前市面上大多数手游一般都会内嵌WebView用于显示社区、H5活动等页面。WebView技术对于大多数人来说并不陌生,但要做好WebView和游戏客户端的交互需求并不是一个简单的事,一不小心就可能踩坑。Unity显示网页Unity中显示网页的方案可以使用现成的插件,也可以自己实现。 自己实现需要分别在Android端和iOS端实现WebView功能,然后打包成插件放入Unity的Assets\Plugins目录中,Unity端通过API调用插件代码即可使用WebView。以Android端为例,典型的

2020-08-28 09:19:42 5124

原创 自定义View系列:仿微信QQ等图片选择展示控件

本篇主要讲解如何实现一个简易的选择上传图片时的展示控件,该自定义控件继承自ViewGroup,支持网格排列,以及横向排列。最终效果如下图:网格布局水平布局自定义View上图中每个ImageView的右上角都有一个删除按钮,我们可以通过组合View或者自定义View的方式去实现,这里选择自定义方式,自定义GridItemView继承自ImageView。我们知道自定义Vie...

2020-04-19 17:44:14 984

原创 JAVA多线程总结

基本概念Java中的多线程一般有两种使用方式,一种直接new Thread对象,另一种使用线程池。1. 使用Thread方式: Thread thread=new Thread(new Runnable() { @Override public void run() { for (int i = 0; i &lt...

2020-04-12 18:16:39 328

原创 NLPIR分词教程 Scala版

本文原版为中科院分词系统(NLPIR)JAVA简易教程,由于个人需要,将其修改为Scala版本,供有需求者参考。其中工程结构基于IDEA,目录如下: 将原文CLibrary.java修改为CLibrary.scala,源码如下:import com.sun.jna.{Library, Native}/** * Created by maplejaw on 2017/2/8. */ tra

2017-02-08 18:53:08 1997

原创 TortoiseSVN新人使用指南

这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。安装说明使用说明检出项目导入项目提交更新查看日志版本回滚版本控制总结安装说明 开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/d

2016-10-20 16:32:05 389756 104

原创 使用ConstraintLayout构建一个灵活的布局

简介ConstraintLayout允许你在不使用任何嵌套的情况下创建大型而又复杂的布局。它与RelativeLayout非常相似,所有的view都依赖于兄弟控件和父控件的相对关系。但是,ConstraintLayout比RelativeLayout更加灵活且在Android Studio的布局编辑器中更易于使用。 由于ConstraintLayout所能做的一切都可以从布局编辑器的可视化工具中直

2016-09-22 17:16:12 7666

原创 RxJava2 浅析

作者: maplejaw 开源库地址:https://github.com/ReactiveX/RxJava 版本: compile 'io.reactivex.rxjava2:rxjava:2.0.0-RC1'前段时间阅读了RxJava1.x的源码,刚好RxJava2.x也发布了RC版,为了迎接10月底的正式版,趁热打铁,本篇将对RxJava2.x进行一个简单的剖析。Observa

2016-09-05 17:30:12 25296 1

原创 RxJava操作符大全

再也不用担心记不住RxJava中的操作符了,RxJava操作符大全,需要用时Ctrl+F一下,还有使用例子哦。

2016-09-01 09:15:46 30953 9

原创 RxJava 源码解读

转载请注明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_)开源库地址:https://github.com/ReactiveX/RxJava 解读版本:1.1.8基本概念RxJava 是一个基于Java的响应式扩展实现: 即一个通过使用可观察序列来编写异步和基于事件的程序库。 它扩展了观察者模式以支持数据/事件序列,您可以根据声明好的规则通过操作符将

2016-08-31 07:50:41 5049

原创 OkHttp3 源码解读

转载请注明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_)开源库地址:https://github.com/square/okhttp 解读版本:3.4.1OkHttp是目前非常流行的网络请求库,出自Square公司。对于该库的使用,相信大家已经比较熟悉了。今天,我将从源码角度对OkHttp3进行剖析。基本使用Okhttp的使用可以分为四步:初始化客

2016-07-31 20:05:25 2937 1

原创 Retrofit2 源码解读

开源库地址:https://github.com/square/retrofit 解读版本:2.1.0基本概念Retrofit 是一个针对Java/Android类型安全的Http请求客户端。 基本使用如下:首先定义一个接口,抽象方法的返回值必须为Call<XX>。public interf

2016-07-18 15:07:05 3389

原创 Python3 学习手册(二) 流程控制语句

上一篇,我们学习了Python中的基本数据类型,也顺带讲了下while循环。本篇开始系统的介绍一些流程控制语句。为了方便演示,本篇开始将部分源码写成.py文件,然后运行测试。 首次我们建立demo.py的文本文件。然后使用Python自带的IDIE打开编程即可。按F5即可运行程序。if语句和

2016-07-05 10:04:45 1363

原创 Gson 源码解读

开源库地址:https://github.com/google/gson 解读版本:2.7Gson是一个可以用来将Java对象转换为JSON字符串的Java库。当然,它也可以把JSON字符串转换为等价的Java对象。网上已经有了不少可将Java对象转换成JSON的开源项目。但是,大多数都要求你在

2016-07-04 09:23:26 6883 1

原创 PhotoView 源码解读

开源库地址:https://github.com/chrisbanes/PhotoView PhotoView是一个用来帮助开发者轻松实现ImageView缩放的库。开发者可以轻易控制对图片的缩放旋等等操作。 PhotoView的使用极其简单,而且提供了两种方案。可以使用普通的ImageV

2016-06-28 09:02:09 4162

原创 Android Matrix矩阵详解

Android中有两个比较重要的矩阵,ColorMatrix和Matrix。ColorMatrix用来改变bitmap的颜色和透明度,Matrix用来对bitmap平移、缩放、错切。ColorMatrix(色彩矩阵)Android中Bitmap色彩用了一个[R, G, B, A],4*1的矩阵来保

2016-06-21 17:16:00 7844

原创 Android-Universal-Image-Loader 源码解读

Universal-Image-Loader是一个强大而又灵活的用于加载、缓存、显示图片的Android库。它提供了大量的配置选项,使用起来非常方便。 基本概念基本使用首次配置 在第一次使用ImageLoader时,必须初始化一个全局配置,一般会选择在Application中配置。public class MyApplication extends Application {@Overrid

2016-06-15 17:46:53 5034

原创 Python3 学习手册(一) 基本数据类型

基本操作cmd怎么进入python交互环境? 在cmd中输入python,看到>>>表示成功进入交互环境。 四则运算 在>>>右边输入代码,控制台可以自动打印结果。可以看出python中的除法和c/java不一样,默认为浮点数。 打印字符 打印字符用print(),print()可以打印

2016-06-13 15:26:26 2106

原创 EventBus3 源码解读

基本概念EventBus是一款针对Android优化的发布/订阅事件总线库。简便了Activities, Fragments, 以及background threads之间的通信,使发送者与订阅者之间有效解耦。 基本使用EventBus的使用也极其简单,只需三步即可。定义一个事件类型。 public class MessageEvent { public final String messag

2016-06-06 13:30:35 4130

原创 Android插件化探索(四)免安装运行Activity(下)

【Android插件化探索(一)类加载器DexClassLoader】 【Android插件化探索(二)资源加载】 【 Android插件化探索(三)免安装运行Activity(上)】在上一篇中,我们介绍了两种免安装启动Activity的方法。但是那两种方法都有缺陷,必须在AndroidMa

2016-06-05 09:22:08 1623 3

原创 Picasso 源码解读

基本概念使用说明Picasso,一个强大的图片下载与缓存库,出自Square公司。基本使用如下:Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);Picasso.with(context).load("f

2016-05-31 09:06:23 3100

原创 Android插件化探索(三)免安装运行Activity(上)

【Android插件化探索(一)类加载器DexClassLoader】 【Android插件化探索(二)资源加载】前情提要在上一篇中有一个细节没有提到,那就是getResourcesForApplication和AssetManager的区别。getResourcesForApplication

2016-05-29 08:56:06 7460 1

原创 Android插件化探索(二)资源加载

前情提要在探索资源加载方式之前,我们先来看看上一篇中没细讲的东西。还没看过的建议先看上一篇Android插件化探索(一)类加载器DexClassLoader。PathClassLoader和DexClassLoader的区别DexClassLoader的源码如下:

2016-05-26 15:45:54 8526

原创 Android插件化探索(一)类加载器DexClassLoader

在Java环境中,有个概念叫做“类加载器”(ClassLoader),其作用是动态装载Class文件。标准的Java SDK中有一个ClassLoader类,借助它可以装载想要的Class文件,每个ClassLoader对象在初始化时必须指定Class文件的路径。

2016-05-24 21:43:52 9936 5

原创 IntentService意图服务 源码解读

基本概念IntentService作用IntentService是Service类的子类,常用来在后台执行耗时的异步请求。我们不用去关心Service的创建和销毁的细节。也不用单独开线程,只管处理自己的任务,处理完过后系统会自动销毁该服务,启动IntentService的方式和普通Service相同,但是使用起来却极其简单。

2016-05-23 09:30:59 658

原创 AsyncTask异步任务 源码解读

之前我们介绍了Handler的一些基本用法,也解读了Handler的源码。通过Handler我们可以简便的切换到主线程进行UI操作。而AsyncTask的出现使我们不用去关心线程管理和切换的一些细节,我们可以更轻松的去操作UI。

2016-05-18 09:37:40 4738

原创 Handler消息机制 源码解读

基本概念Handler消息机制的作用大家知道子线程没有办法对UI界面上的内容进行操作,如果操作,将抛出异常:CalledFromWrongThreadException,为了让子线程能间接操作UI界面,Android中引入了Handler消息传递机制,通过Handler切换到主线程进行UI操作。

2016-05-16 09:02:19 3924 2

原创 JAVA8 Lambda表达式完全解析

JAVA8 新特性 在学习JAVA8 Lambda之前,必须先了解一下JAVA8中与Lambda相关的新特性,不然对于一些概念会感到比较陌生。1、 接口的默认方法和静态方法 Java 8允许我们给接口添加一个默认方法,用default修饰即可。默认方法可以重写,也可以不用重写。这就是和抽象方法的区别,在用法上,没有其他区别。

2016-05-08 22:13:37 8355 2

原创 Android中常见的XML解析方式

XML是一种通用的数据存储和交换格式,与平台无关,与编程语言无关,与操作系统无关。给数据集成和交互提供了极大的便利。 将数据格式化成XML文件后,真正实现了数据跨平台的交互和共享。在不同语言中,xml的解析方式都一样。XML文件格式: 1.每个xml文件中要有一个,且只能有一个xml根节点;

2016-05-07 19:26:01 672

原创 自定义View系列(一)基本概念

自定义View系列(一) 一直对于自定义view没有进行深入研究过,最近抽空开始整理整理自定义view相关的知识,以便可以有个系统的深入的认识,也希望能够给初学者一点启示。本篇主要介绍自定义view中一些相关API以及相关知识点。

2016-05-05 17:15:36 825

原创 Android ImageView长按保存图片及截屏相关知识

在日常开发中,可能会需要做长按保存图片这个功能,又或者需要做个截屏分享功能。最近正好在研究这些东西,写篇博客整理一下。view长按保存图片的几种方式如果是网络图片,我们可以直接选择将图片下载下来后保存,这种方式,简单暴力,可以直接获得原图。public static boolean downloadBitmap(String urlString, File fileDir) {

2016-04-25 16:12:01 7229 1

空空如也

空空如也

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

TA关注的人

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