自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Maven私服搭建及使用

终端进行配置及启动Nexus1,Mac下还可以通过brew install nexus安装2,安装成功后,启动nexus 终端命令: brew services start nexus3,启动成功后,我们输入地址http://127.0.0.1:8081/ 端口默认是8081 用户名默认是:admin/admin123,密码存储在/Users/michaelszm/Downloads/nexus/nexus-3.26.1-02-mac/sonatype-work/nexus3/admin.passw

2020-09-19 14:22:08 348

翻译 Flutetr插件开发官网直译

Package introduction包使创建可以共享的模块化代码更容易,一个最小的包结构有如下部分组成:pubspec.yaml一个元数据文件,主要包含包名字,版本和作者等信息lib包含代码的文件夹,至少会有一个.dart文件Package types包中可以包含不止一种类型的内容。Dart packages通常来说是一些使用Dart语言编写的包,可以包含Flutter 特有的方法,但是这样会对Flutter framework有依赖,限制这些包只能被用于flutte

2020-09-01 17:01:20 452

原创 Android 通过ASM实现多次点击拦截

从事Android开发的同学可能都会有这个需求,最近在学ASM相关的知识,拿这个想法练了一下手。大体思路是这样的,通过字节码Hook所有onClick(View view)方法,通过view.setTag(key,value)设置tag为当前时间戳,这样再次点击的时候就有一个时间差,通过对这个时间差,可以过滤掉多余的响应操作。首先我们看一下lamba表达式和普通的setOnClickListener编译完是什么样的。由截图可以看到不管我们以哪种方式设置监听点击,最终都是一个实现View.OnCl

2020-08-12 23:14:42 1449

原创 自定义Lint规则

Google对这块儿还是比较重视的,从频繁更新可见一斑。AndroidStudio2.0+需要手动把lint.jar拷贝到.android/lint/下;AndroidStudio3.0+支持 lintChecks project(’:checks’)的形式添加自定义规则。新建一个Java module(这里名字记做checks),在build.gradle中配置依赖:dependencies { // 注意这里必须是compileOnly compileOnly "com.an

2020-07-15 11:44:14 1240 1

原创 Gradle error: Could not initialize class org.codehaus.groovy.runtime.InvokerHelper

最近在最自定义lint,根据Google的官方Demo,运行总是报这个错,网上搜索了一下没什么好的结果,因此尝试执行gradlew app:lintDebug --stacktrace 其中有一行有JAVA_HOME is wrong,看了下机器上配置的环境变量,根据Google官方Demo,需要配置因此将本地机器上的环境变量改为了1.8的重启studio,编译通过,这里做个记录。当然如果能帮助到一些人,自然是再好不过的了...

2020-07-14 15:33:02 18613 1

原创 Kodein使用记录

项目工程中之前用的4.1.0版本的Kodein.最近将Kodein升级到6.0.0.主要是工程现在没有适配AndroidX,Kodein6.0以上只找到AndroidX版本的,官网也没有什么历史版本索引,GitHub上文档也使用页面是白的,因此这次先升级到6.0.0。Kodein4.+到6.0的变化比较大,6.0以后变化就不是很大了这里这里记录以下6.0的新的语法调用。配置依赖配置依赖implementation "org.kodein.di:kodein-di-core-jvm:6.0.0"imp

2020-07-04 00:49:06 656

转载 gradle深度好文(转)

深入理解Android之Gradle格式更加精美的PDF版请到:https://pan.baidu.com/s/1GfN6F8sOaKFAdz5y1bn3VQ下载weibo分享失效,请各位到百度云盘下载 Gradle是当前非常“劲爆”得构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之前,先说点题外话。...

2020-07-04 00:35:19 471

原创 flutter 混合开发

flutter 混合开发参考:https://flutter.dev/docs/development/add-to-app/android/project-setupfor android 页面嵌入配置architecturesFlutter currently only supports building ahead-of-time (AOT) compiled libraries...

2020-01-15 21:24:38 1062

原创 WorkManager的进阶

Advanced ConceptsCustom WorkManager Configuration and Initialization默认情况下,当app启动的时候WorkManager自动的完成了配置,这个配置适用于大多数app.如果我们需要对WorkManager有更多的控制,比如:管理和调度任务,可以使用自己的配置初始化WorkManager.这里有三种初始化的方式:Defau...

2019-06-25 16:48:12 2043

原创 WorkManager的初步介绍

Defining your Work RequestsWorkRequest 是一个抽象类:它有2个直接子类:OneTimeWorkRequest (只执行一次)from(List<Class<? extends ListenableWorker>> workerClasses)from(Class<? extends ListenableWorker&g...

2019-06-25 13:59:28 718

原创 android9.0自动使用24小时制

最近做android9.0系统相关的定制工作,用户反馈时间设置中的自动使用24小时制没效果,亲自试了下确实时间显示的格式没变,于是一脸蒙逼。网上查了有人问相同的问题,不过也没有确切的答案,可能是android9.0刚刚出来没多久,国内使用的还不多的原因吧。于是找到了相关的源码如下:控制的相关类主要是在AutoTimeFormatPreferenceController.java和TimeForm...

2019-02-18 11:08:31 2087

原创 Android valueAnimator相关

这里主要是记录下Android valueAnimator 及其相关子类的使用,很少使用xml来,这里是从官网上摘过来的相关写法。android的动画系统提供了丰富的动画功能,使我们可以操作目标对象的任何类型的属性,默认支持int,float,和十六进制的颜色。你也可以通过自定义TypeEvaluator来告诉系统如何计算目标类型,进而操作任何其他类型。你可以给动画设置不同类型的插值器(包...

2018-12-16 19:02:27 387

原创 Java关于JVM你需要了解的一些知识

JVM 运行时数据区其中蓝色部分是所有线程所共享的区域,绿色部分泽是每个线程所独有的部分。程序计数器由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行的时间的方式来实现的,在任何一个时刻,一个处理器(对多核处理器来说是一个内核)只会执行一条线程中的指令。因此,为了线程切换后能够恢复到正确的执行位置,每条线程都需要一个独立的程序计数器。此内存区域是唯一一个在java虚拟机规范中没...

2018-12-07 22:38:59 475

原创 AsyncTask的分析,及使用

前些天面试被问到一些关于AsyncTask的问题,下面是我整理的一些关于这个的知识。要了解一个类的使用首先可以通过类前面的介绍来有个大概的了解,然后再有针对的去看自己感兴趣的地方。那么下面进入正题^^AsyncTask enables proper and easy use of the UI thread. This class allows you* to perform backgro...

2018-12-02 23:47:03 244

原创 Dagger 2

网上看了很多这方面的博客,对它的概念也有了大体上的了解,感觉大部分的文章把Dagger的使用写的太乱了,于是打算参考下官网,一下是一些记录:Why Dagger 2 is Different各种不同类型的DI框架已经存在了好多年,为什么要重写造轮子呢,官网上是这样说的:Dagger 2 is the first to implement the full stack with generate...

2018-11-23 18:55:38 460

原创 Spark-SQL官网翻译--Getting Started

Spark SQL, DataFrames and Datasets GuideSpark SQL is a Spark module for structured data processing. Unlike the basic Spark RDD API, the interfaces provided by Spark SQL provide Spark with more inform...

2018-11-15 17:25:30 874

原创 官网翻译之RDD Programming Guide-Scala

Overview(概述)At a high level, every Spark application consists of a driver program that runs the user’s main function and executes various parallel operations on a cluster. The main abstraction Spark ...

2018-11-14 19:06:59 601

原创 Spark-Quick Start-Scala官网翻译

This tutorial provides a quick introduction to using Spark. We will first introduce the API through Spark’s interactive shell (in Python or Scala), then show how to write applications in Java, Scala, ...

2018-11-14 19:04:49 234

原创 Hive杂谈

构建在Hadoop上的数据仓库平台,为数据仓库管理提供了许多功能定义了一种类SQL语言HiveQL。可以看成是仍SQL到Map-Reduce的映射器提供Hive shell、JDBC/ODBC、Thrift客户端等接先上一个结构图,方便现有一个整体上的认识安装和配置Hive安装模式:(*)嵌入模式:不需要使用MySQL,使用Hive自带的Derby数据库存储Hive的元信息(*...

2018-11-13 20:09:15 164

原创 HBase原理图

写在前面的话:认识一件事物首先要明白其原理,所以,我也"冒昧的"根据自己的认识理解画了下面的2张图,有不对的地方,请不吝赐教,谢谢!下面是几张别的地方借过来的原理图这篇文章讲解的挺全的link:https://www.oschina.net/p/hbase...

2018-11-13 20:06:15 157

原创 HBase杂谈

1、Web Console端口:新的:16010老版本:60010结构示例:HBase 是一种列式数据库,主从结构HMaster 和 RegionServerNoSQL数据库简介1、什么是NoSQL数据库?not only sql (*)一般来说:NoSQL不支持事务 2、常见的NoSQL数据库 (*)HBase (*)Redis:基于内存的NoSQL数...

2018-11-13 19:55:16 244

原创 HBase部署之官网翻译

Quick Start - Standalone HBaseThis section describes the setup of a single-node standalone HBase. A standalone instance has all HBase daemons — the Master, RegionServers, and ZooKeeper — running in a...

2018-11-13 19:50:43 783

原创 HDFS的一些操作

有三种操作方式webConsole命令行java API常用的操作命令如下:管理命令hdfs dfsadmin-safemode enter 手动进入安全模式-safemode leave 手动退出安全模式-safemode get 查看当前的模式状态-safemode wait-report 打印报告hdfs balancer 手动平衡数据块在各...

2018-11-12 21:20:05 129

原创 hadoop相关原理图

hadoop的HA图解失败迁移当active状态的NameNode由于不可预知的原因突然挂掉时,ZK收不到心跳反馈,超过配置的最大等待时间后,将原来standby状态的NameNode置为Active状态,这时由新的Active的NameNode来想JurnalNode中写入日志文件,并响应客户端的请求hadoop的联盟(Federation)图解负载均衡每个NameNode...

2018-11-12 20:45:33 175

原创 Hadoop的安装部署

安装hadoop , 配置环境变量HADOOP_HOMEPATH 中配置 HADOOPHOME/bin:HADOOP_HOME/bin:HADOOPH​OME/bin:HADOOP_HOME/sbin配置完成后,验证,start双击空格键hdfs :NameNode , seconderyNameNode,DataNodeyarn : resourceManager , Data...

2018-11-12 20:21:16 215

原创 Zookeeper

概念定义:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等:特点:速度很快顺序一致性原子性单系统映像可靠性时效性为了方便查询,这里把配置提前放置,要了解其内部的运行原理,请阅读后...

2018-11-12 20:17:40 291

原创 YARN overview

The fundamental idea of YARN is to split up the functionalities of resource management and job scheduling/monitoring into separate daemons. The idea is to have a global ResourceManager (RM) and per-ap...

2018-11-12 20:03:33 365

原创 HDFS Architecture

IntroductionThe Hadoop Distributed File System (HDFS) is a distributed file system designed to run on commodity hardware. It has many similarities with existing distributed file systems. However, the...

2018-11-12 19:59:18 311

原创 文章标题

JNI开发步骤:新建工程,定义native方法,通过javah命令生成.h文件将生成的.h文件复制到c项目中导入jni支持头文件(jni.h,jni_md.h)以上头文件在jdk安装目录下实现native方法配置属性,生成(window:.dll Linux:.so),配置环境变量:将动态库所在目录配置到path,,并完成java中的引入操作重启eclipse运行程序声明nat

2016-10-21 23:09:19 157

原创 android中单元测试及.properties文件的使用

项目中常常会有一些配置,除了将其写在一个常量类中外,写在配置文件中也是一种不错的选择,下面先介绍下,如何使用properties文件java中有一个 Properties类,该类有一个方法,从一个流中加载文件 /**     * Loads properties from the specified {@code InputStream}, assumed to be IS

2016-06-17 11:08:32 519

原创 mac 上安装 mysql

1.点击dmg文件安装,一路点next即可,中间需要什么权限都给,记得保存过程中生成的临时密码:我的如下2016-05-20T12:33:12.204930Z 1 [Note] A temporary password is generated for root@localhost: _#aPNpyT8H.)If you lose this password,

2016-05-20 20:56:48 250

转载 Mac下MySQL卸载方法

sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo rm -rf /Library/PreferencePanes/My*vim /etc/hostconfig  (and removed the line MYSQLCOM=-YES-

2016-05-20 20:31:02 237

转载 android内存分析

android内存的分析方法

2016-04-25 10:31:44 219

转载 Android获取屏幕高度、状态栏高度、标题栏高度

Android屏幕高度、状态栏高度、标题栏高度 的认识,与获取

2016-04-16 09:10:58 281

转载 android中.9.png的认识

Android 设计中的.9.png在 Android 的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。本文结合一些具体的例子来看下.

2016-03-29 12:10:22 275

空空如也

空空如也

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

TA关注的人

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