自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Martin.Mu `s Special Column

If you doubt yourself , then indeed you stand on shaky ground .

  • 博客(66)
  • 资源 (29)
  • 收藏
  • 关注

原创 Android开发速查手册

前言这里会对所有通用UI的相关的知识点进行一个速查手册字符串字符和样式

2019-11-26 19:52:52 505

原创 RxCache使用场景记录

场景一个需求,构建UI数据时,需要组装数据,我们将数据分为两类,一类为配置数据、一类为UI框架数据。框架数据依赖配置数据进行数据组装,配置数据特性为长期保持不变。针对这个特性,我们可以将配置数据json保存到本地,设置超期时间,不用频繁的进行网络访问。对此,我们进行RxCache库的使用,该库通过注解的设置可以网络数据保存到制定文件目录下。具体的使用方法可以参考《Android RxCache使用详解》。踩坑在配置过程中,我没有直接按照上面的方式进行访问,得到了类型转换错误,查看原因是保存的json

2020-08-10 18:22:15 304

原创 JetPack之DataBinding的使用

前言这篇文章主要讲解JetPack中的DataBinding组件的使用。Data Binding解决问题:当界面被改写的时候,Activity中的控件代码也必须被改写。为了避免这个问题的发生,使用了databinding。Build.gradle配置项目使用dataBinding功能defaultConfig{ ... dataBinding{ enabled tr...

2020-03-31 11:38:57 502

原创 性能优化系列——内存泄漏

前言之前写了一篇《性能优化系列-内存抖动》简单实用Memory Profiler工具解决内存抖动的情况,这边文章写实用工具配合MAT解决内存泄漏。内存泄漏介绍定义:内存中存在已经没有用的对象表现:内存泄漏引起,内存泄漏,可用内存逐渐减少,系统为了增加可用内存就会一直GC,导致内存抖动。危害: 内存不足、GC频繁、OOMMemory AnalyzerDownload转换HR...

2020-02-05 23:47:09 432

原创 性能优化系列——内存抖动

前言通常在我们编写程序的时候,如果对象频繁的创建或者销毁就会出现内存抖动的现象,如果我们熟悉Java虚拟机的内存回收机制的话,会造成下面两种现象。频繁创建对象,导致内存不足以碎片(不连续)不连续的内存片无法被分配,导致OOM今天我们就针对这种情况,来使用模拟解决此类问题。用例代码此用例通过不停的创建字符串数组来造成内存抖动。MemoryShakeActivityclass Me...

2020-02-05 18:00:10 565

原创 JetPack系列之ViewModel进行数据共享

前言目前Fragment的传值可以使用Bundle,JetPack使用数据分离的思想,利用ViewModel来达到Fragment之间传值的写法,下面我来讲解下。开始需求项目的需求是我们在Fragment1中使用SeekBar对数据进行修改,点击跳转下一页,将Fragment1的值带入到Fragment2中,同时Fragment2修改值后返回到Fragment1,并同步修改的值。Glo...

2020-01-20 02:07:49 1580

原创 JetPack系列之lifecycle的简单实践

前言lifecycle 通过注解的方式,轻松监听Activity的声明周期。开始集成类库build.gradleimplementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'编写注解类@OnLifecycleEvent注解可以监听声明周期class MyChronmeter(context: Context?,...

2020-01-20 00:24:29 177

原创 AIDL服务调用简单实践

前言开启跨进程服务创建两个AppServiceAppClientAppServiceApp创建RemoteAppService服务public class RemoteAppService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { ...

2020-01-19 15:47:28 145

原创 RadioButton的简单实践

前言今天来实现一个设计图中的tab切换按钮,只需要点击切换不需要滑动,所以我直接锁定了RadioButton来实现。样式背景图上面的tab切换可以看见外观是矩形圆角,但是我用RadioButton是左右两个按钮,所以需要两个背景图。manual_tab_radio_select<?xml version="1.0" encoding="utf-8"?><selec...

2019-12-13 23:56:41 134

原创 QMUI中Theme的抽象、继承、多态

前言CheckedTextView <CheckedTextView android:id="@+id/select" android:layout_width="match_parent" android:layout_height="wrap_content" tools:text="textview" ...

2019-12-02 01:25:51 535

原创 最简单实用的的Click防抖代码

public abstract class OnSingleClickListener implements View.OnClickListener { /** * 最短Click的时间间隔 */ private static final long MIN_CLICK_INTERVAL = 1000; /** * 最近一次点击事件 ...

2019-11-28 12:04:23 806

原创 使用图片混合模式改变点亮图标

前言今天使用ImageView.setColorFilter()方法的时候,在A界面改变一个drawable状态,其他B,C,D…若引用了这个drawable则会同样的进行状态改变,我想这应该是android的内存优化的机制,下面我先来简单整理梳理下知识。点亮图标如果常做应用App开发,通常会有一个图标点亮的功能需求。改变当前图标的颜色,用于表示该操作处于某个状态。一般的操作,可能直接准...

2019-11-26 19:48:06 145

原创 Java技巧-简单状态机编写

前言最近项目中需要对上传的接口进行顺序上传和步骤记录,所以这里编写一个状态机用例。实战public class StatusMachine { //重点1:状态值是固定的写法 @Retention(RetentionPolicy.SOURCE) public @interface Satus{ int STEP1 = 0x000001; ...

2019-11-22 17:58:01 719

原创 Android常见异常记录和排查技巧手册

前言记录下在工作中常见异常的出现和排查手段。异常数据库篇RoomIllegalStateExceptionW/System.err: java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update t...

2019-11-20 10:59:24 626

原创 RxJava的应用场景记录

这篇文章主要编写的是我在工作中使用Rxjava后遇见的异常处理的解决思路,方便以后在工作中进行查询。

2019-06-12 19:16:23 788

原创 安卓build.gradle的配置应用场景

前言最近项目需要进行签名打包的时候比较多,简单记录下打包需要编写的文件,方便以后拷贝和查询。打包流程编写app模块下的build.gradle文件首先,gradle是线性翻译的语音,这里需要注意下闭包的编写顺序。整个打包入口在android.applicationVariants.all触发的,打包的时候可以获取到配置当前清单文件的版本号,文件等。apply plugin: 'com.a...

2019-05-30 14:39:45 362

原创 android中使用sqlite命令编辑数据库

参考链接Android数据库高手秘籍(一)——SQLite命令查询语法SELECT column_name,column_nameFROM table_name;模糊查询语法SELECT column_name(s)FROM table_nameWHERE column_name LIKE pattern;查询以.amr结尾的数据select * fro...

2019-05-22 11:35:35 400

原创 adb常用命令

前言最近在开发当中会经常使用adb命令去进行日志排查,这里列举一下常用的命令。方便后期使用,这里实时更新。常用命令卸载应用:adb uninstall 包名例:卸载微信adb uninstall com.tencent.mm安装应用:adb install 安装包路径.apk例:安装当前目录下的test.apkaddb install test.apk启动...

2019-05-06 23:26:19 188

原创 定制化ROM采坑之路:git的常用命令

这篇文章分为三个部分:第一部分讲解Git的历史和基本概念第二部分讲解常用命令。第三部分为工作中的一些实际操作问题。

2019-04-01 23:12:05 529

原创 【解析Glide2.0源码】Glide中的单元测试

前言其实,为什么要写一篇文章来专门讲解一下Glide的单元测试呢,主要还是我看了下Glide版本的变迁,发现他做了很多单元测试。这也提醒了我,如果要编写一个性能好的框架,单元测试绝对是必不可少的,所以我想以这边文章来做一些单元测试方面的扫盲和Glide主要做的一些单元测试的类讲解。本章目标单元测试知识点扫盲Glide的单元测试讲解单元测试知识点扫盲在我们进行单元测试用例之前,首先我...

2019-03-30 00:07:49 312

原创 shell脚本调试工具的安装和使用

安装1.打开Terminal2.运行 ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” < /dev/null 2> /dev/null3.运行:brew install bashdb过程总需要翻墙...

2019-03-20 10:00:05 1607

转载 解决iTerm2在MacOS 最新系统Mojave乱码问题

更新Mojave后,突然发现远程连接原来linux服务器,报一个警告:-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory, 最早以为iTerm2不支持最新系统,但去iTerm2官方网站发现最新版本是支持的,无解只能去看字符集问题,iTerm2使用命令locale与M...

2019-03-18 14:35:38 217

原创 从0开始学大数据(6):HDFS的数据流

前言通过上一章《从0开始学大数据(5):HDFS文件系统和常用API》我们学习了一些常用的API进行分析,这章我们来分析HDFS的数据流的写入和读取流程。1 HDFS写数据的流程1.1 剖析文件写入1.2 网络拓扑概念在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺。这里的想法是将两个节点间的带宽作为距离的衡量标准。我们在平台的节点中,选取两个节点A和B并且向上...

2019-03-18 01:52:22 339

原创 定制化ROM采坑之路:makefile——Android源码阅读必备技巧

前言最近在看Android源码中涉及到了大量的Makefile文件,想通过这篇文章的学习扫如何编写一个简单的makefile文件,在后续的学习过程中,如果还有其他问题可以直接去官网继续学习,国内的教程还有一个陈皓大神写的《跟我一起写Makefile》也是很经典的学习资料。Makefile的由来通常我们编写项目的时候,都会编写多个C文件,一个C文件我们可以编译为一个目标文件,多个目标文件可以组...

2019-03-17 02:42:02 539

转载 定制化ROM采坑之路:自己动手调试Android源码(超简单)

前言配置AndroidStudio修改iml文件《Android8.1 源码编译.ipr .iml 文件》查看文章生成iml文件。使用文本编辑器打开iml文件,搜索excludeFolder开头的字段,将下面的信息复制后覆盖原来的excludeFolder所有配置项。 &amp;lt;excludeFolder url=&quot;file://$MODULE_DIR$/.repo&quot; /&amp;gt; ...

2019-03-14 15:51:12 1249

原创 从0开始学大数据(5):HDFS文件系统和常用API

前言上一篇文章《从0开始学大数据(4):Hadoop完全分布式模式的配置和应用》我们学会了如何使用三台机器去搭建HDFS文件系统,但是我们对其中的一些专业词汇如namenode,datanode,resourcemanager,nodemanager不是很熟悉,这篇文章我们需要来普及一下。1.HDFS概念1.1 概念HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,...

2019-03-13 10:02:12 176

原创 Android系统源码Build系统入门详解

前言最近在做系统开发,很多知识都要重新归纳和整理,最近在编写Makefile文件的时候,是在不熟悉,网上找了些文章发现这篇文章对于入门很有价值《Android系统源码Build系统入门详解》文章的内容都是转载原文的,我准备整理下,放在我自己的博客下方便我自己查阅。1.包含C的Android.mk文件以前早期版本的时候,我们再下载NDK的时候,通常都会有一个hello-jni的用例,方便我们自...

2019-03-12 14:23:18 380

原创 定制化ROM采坑之路(4):从Framework层去调用App中的数据库

前言最近在做一个实验,从Framework层去调用应用层的数据库,可以开启服务我们开发的App数据库进行一些管理,下面来讲解下我的开发流程。准备工作首先,我们准备一个数据库项目,主要就是基础的CRUD操作,我这里准备了一个Demo可以去下载。修改Framework层代码我们准备Hook的点是在Application的onCreate()方法进行Hook,预想只要创建进程的时候就打印数据库...

2019-03-06 20:19:54 541 1

原创 从0开始学大数据(4):Hadoop完全分布式模式的配置和应用

前言上一篇文章《从0开始学大数据(3):Hadoop运行模式与官网案例(上)》我们学习了Hadoop的运行模式——伪分布模式的配置,这篇文章我们来学习另外一种Hadoop的运行模式——完全分布式模式。配置完全分布式模式首先我们来分析下我们的整体步骤:1.准备三台客户机(关闭防火墙、静态ip、主机名称)2.安装jdk3.配置环境变量4.安装hadoop5.配置环境变量6.安装ss...

2019-02-20 01:32:53 414

原创 从0开始学大数据(3):Hadoop本地模式和伪分布模式的应用

Hadoop运行模式概述官网网址官网网址: http://hadoop.apache.org/各个版本的归档库:https://archive.apache.org/dist/hadoop/common/Hadoop2.7.2版本详情介绍:https://hadoop.apache.org/docs/r2.7.2/Hadoop运行模式本地模式(默认模式):不需要启用单独进程,直...

2019-02-18 00:41:24 304

原创 从0开始学大数据(2):大数据的概论和Hadoop安装

前言上一篇文章前面使用虚拟机安装了centos系统和配置虚拟机的IP静态地址,这篇文章Hadoop安装、概述、编译。Hadoop的运行环境搭建创建文件夹更改用户权限一般情况下,在一些特定的目录中需要一些权限来创建文件夹,但是频繁的去切换到root用户比较麻烦,其实我们可以通过修改/etc/soduers文件来做到当前用户也能获取权限的目的。我们只需要见root的命令操作权限复制一...

2019-02-18 00:41:07 266

原创 sublime Text3 安装sftp的插件

前言由于我们经常在客户端上去修改服务端的配置文件,通常情况下我们的流程:链接服务器——下载文件——修改——上传,多个窗口切换非常麻烦。无意间在sublime Text3中接触到sftp插件很好用下面我就来讲解下安装流程。mac下sublime text3安装SFTP1、shift+command+p进入控制面板,输入install进入程序安装界面2、选择需要安装的插件(SFTP)...

2019-02-15 16:18:13 870

原创 绕开华为通道,获取解锁码解锁BootLoader

刷机有风险,操作需谨慎,如果因为各种因素导致手机变砖无法开机,本教程概不负责,望悉知前言这篇文章的大多内容是根据我自己找的一篇文章《绕开华为通道,获取解锁码解锁BootLoader》来编写的,里面的大部分内容是文章的原内容。下面的都是我参考文章中做了一些小部分的修改,增加了我华为P8手机的一些操作,下面开始讲述我的解锁过程。因为华为官方在2018年的七八月份吧,关闭了解锁码的申请通道,这...

2019-02-12 14:44:40 27934 16

原创 定制化ROM采坑之路(3):基于魔趣OS开发入门级的系统级应用

制作第一个系统级应用目前,我们已经刷机成功了,但是这应该并不满足,所以最后一节,我们就来制作一个系统级应用,尝尝鲜。编译我们的第一个系统级应用。将系统级应用复制进入到system文件夹下最后,我们将ROM包中的system文件制作成镜像文件make_ext4fs -s -l 2048M -a system system.img ./system日志输出:$ mak...

2019-02-01 10:53:42 2159

原创 Xposed插件开发手册(2):Xposed插件开发入门

前言在上一篇文章《Xposed插件开发手册(1): Xposed框架的安装》,我们学习到了Xposed的安装,这篇文章我们就来做一个简单的Xposed模块,劫持我们写的App,整篇文章我参考了官网的教程来编写。环境参数虽然之前的文章中,我也写了我的环境参数,研发环境操作系统:MacOS MojavaIDE:Android Studio 3.2Gradle:gradle-4.6-al...

2019-01-30 14:56:05 3216

原创 Xposed插件开发手册(1): Xposed框架的安装

前言之前我写了一篇文章《定制ROM采坑之路(2):魔趣OS刷入小米5A手机过程详解》,在进行成功刷机后,我尝试将Xposed框架安装到我新刷的系统中了。1.安装Xposed因为在安装Xposed框架的前置条件就是给手机执行Root,所以安装这块分为两个步骤:获取Root权限安装Xposed环境和Apk文件。1.1 获取Root权限由于魔趣论坛中《我们将从2018年3月13日起移除...

2019-01-28 17:54:27 3085

原创 定制化ROM采坑之路(2):魔趣OS刷入小米5A手机过程详解

解锁小米手机目前,编译完成我们魔趣的5A手机源码后,需要将编译完成的镜像文件刷入我们的手机,因为一般大厂的手机都是经过BL加锁的会防止我们加锁,在这里我们需要根据小米的BL解锁教程来进行解锁,教程很多我就不细说了。这里上一张解锁成功的图。之前已经解锁成功了,为了截图又重新解锁一次。在这里我提示一下,因为官网下载的解锁包是exe文件,所以需要windows系统,我这里直接是安装虚拟机来进行解锁...

2019-01-28 14:53:04 6070

原创 从0开始学大数据(1):Parallels Desktop下CentOS系统的安装和静态IP地址配置

前言目前有学习大数据的打算,现在需要写下我的学习过程。因为我本身是在Mac环境下进行学习,我会一步步的记录下,我学习大数据的过程。环境Centos的系统安装首先,我需要下载虚拟机Parallels Desktop 14.0.1提取码: vycc安装后,会选择虚拟机下载Centos 7,根据步骤安装就好。注意点:我们在软件安装完成的时候,登陆软件需要翻墙和代理。...

2019-01-24 00:31:17 670

原创 基于CentOS7搭建FTP文件服务

前言最近因为在服务器上经常需要上传和下载很多资源,所以,我需要搭建ftp文件服务支持上传和下载。1.安装和开启服务安装$ yum install -y vsftpd开启服务$ sudo service vsftpd start监听端口netstat -nltp | grep 21配置vsftpd.conf我们在配置的时候,可以执行下面命令来查看帮助文档:...

2019-01-22 23:38:44 159

原创 定制化ROM采坑之路(1):魔趣8.1版本源码下载和编译过程

前言最近在做ROM包的制作查了很多资料还是选择国内魔趣的开源项目来开发。下载在《5行命令教你编译魔趣》这个帖子中,我了解到了一些流程,现在就动手实践一下。repo init -u https://github.com/MoKee/android -b mkn-mr1 --depth 1repo sync. build/envsetup.shlunch mk_cheeseburger-...

2019-01-21 16:49:23 10435 1

sqlcipher.zip

用于打开使用sqlcipher加密的数据库的工具类,理论下知道密码就能打开

2019-09-02

Android组件化架构_[苍王]_带书签

本书首先介绍Android组件化开发的基础知识,剖析组件化的开发步骤和常见问题,探究组件化编译原理和编译优化措施。其次在项目架构上,介绍如何组织团队来使用组件化开发,并将业务和人力进行解耦。*后深入介绍组件化分发技术及运用,探讨组件化架构的演进及架构的思维。

2019-03-27

精通Git(第二版简体中文)_带书签

高效的版本控制是成功开发软件项目的关键。自2005年诞生以来,Git以其分布式特点和对非线性开发的强有力支持,成为了许多软件项目的版本控制系统。本书不仅是Git日常操作指南,而且深入剖析了Git的内部原理,能有效帮助程序员提升软技能。 如果你刚刚启程探索Git,本书对于Git的用法、基本命令和分支机制的讲解将助你轻松入门、不走弯路。 如果你在Git之路上已经走了一些时日,本书关于Git服务器、配置文件和钩子系统的内容将为你补充继续前行所需的能量。 如果你不得不同时使用Git和其他版本控制系统,本书会教你如何将Git作为客户端来轻松应对此种情景。

2019-03-27

Sqlite的CRUD基础应用Demo

Sqlite的CRUD基础应用Demo

2019-03-06

支持魔趣8.1系统Xposed框架

本资源是在Xda官网下载下来的Xposed的arm64框架针对SDK27,也就是安卓8.1系统的Xposed框架。

2019-01-28

支持MIUI10的第三方TWRP镜像文件

支持MIUI10的第三方TWRP镜像文件,如果目前是小米MIUI10的话,这个通过这个镜像可以刷入第三方的Rec进行刷机操作

2019-01-25

Android应用安全防护和逆向分析_姜维著_带书签

今天刚得到一本逆向安全的PDF带书签的书籍,全书我已经看过,其实,本人早在出书的时候就已经购买了原版书籍,平时为了方便也不可能老带实体书。这里找到了PDF书籍后,每次观看都很方便,希望分享给大家,共同进步。

2019-01-08

android解密代码片段

写入设备的IMEI和UIN值后,计算出微信的个人信息文件夹名称和微信密码的代码片段。

2019-01-02

markdownToc-自动生成markdown文档侧边栏目录

markdownToc-自动生成markdown文档侧边栏目录

2016-08-20

百度地图标注物聚合

地图点聚合,一个很实用的技术,糯米网和美团都用上了,很多物流公司也在用这个技术。

2015-07-16

Android 5.0 L 最新Api-21

最近整理了下API,希望和大家一同分享,由于没有分了,不好意思,向大家讨要,望见谅。

2015-01-23

tiledmap-跑酷地图素材

tiledmap-跑酷地图素材

2015-01-05

Android Screen Monitor

真机抓取屏幕监视器最新版本,希望对大家有帮助。

2014-12-23

MPAndroidChart,一个很绚丽的chart控件(曲线图、直方图、饼

MPAndroidChart,一个很绚丽的chart控件(曲线图、直方图、饼图)

2014-10-20

Android 仿QQ 5.0 气泡提示 拖动爆炸消除

Android 仿QQ 5.0 气泡提示 拖动爆炸消除

2014-10-20

android统计图源码

大牛写的图形demo,里面包含柱状图,饼状图,曲线图,波形图。

2014-10-11

smoothswither(全页面布局的动态加载)

谷歌封装的动画,两行代码结局真个页面动态加载动画。

2014-08-25

二维码扫描带扫描动画

二维码扫描自带扫描动画,可以直接实用在项目中。

2014-08-25

ResideMenu仿最新QQ聊天界面

个人感觉比SlidingMenu好很多,可以直接用于项目当中。

2014-08-25

仿陌陌聊天

仿陌陌聊天,内涵多重自定义控件,是一个非常有参考价值的demo,下载导入即可运行。

2014-08-25

xUltimate--9patch生成工具

xUltimate--9patch生成工具

2014-08-23

茶百科代码

类似于百科类的APP,希望分享出来给大家参考下,仅供参考。

2014-03-21

各种很全的动画

最近学习找了些动画,里面有25中动画效果,很全面

2014-01-16

slideingMenu+Fragment+actionBar

很有用的例子,希望能帮大家打通任督二脉。

2014-01-03

微信摇一摇的实现

因为项目需要用到摇一摇的功能,所以自己就研究了下,其实就是传感器的应用,写了个小demo,希望对大家有帮助。

2014-01-03

SlidingMenu的实现

自己写得一个小demo,实现了左右滑动的导航的效果,希望对大家有帮助。

2014-01-03

空空如也

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

TA关注的人

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