自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 win10 Ubuntu 子系统下编译ffmpeg 和 x264

win10 Ubuntu 子系统下编译ffmpeg 和 x264

2022-08-04 17:18:05 1547 1

原创 cannot change strategy of configuration ‘complie‘ after it has been resolved解决方案

环境migrate AndroidX后,gradle 版本:5.6.4, gradlePlugins版本:3.6.4相关代码task getLibs { configurations.compile.setCanBeResolved(true) configurations.compile.asFileTree.each { File file -> if (file.getName().matches(".*\\.zip")) { c

2021-04-30 10:33:13 723

原创 笔记 -进制转换

十进制转成十六进制:Integer.toHexString(int value)十进制转成八进制Integer.toOctalString(int value)十进制转成二进制Integer.toBinaryString(int value)十六进制转成十进制Integer.valueOf(“F00”,16).toString()八进制转成十进制Integer.valueOf(“777”,8).toString()二进制转十进制Integer.valueOf(“0100”,2).toS

2021-03-18 10:00:31 134

原创 Fragment Navigation 使用总结

使用步骤创建Fragments在res 下创建navigation文件夹,然后在里面创建 Navigation Resource File,创建完成后文件里面会生成 标签在 标签中使用 标签 注册创建的Fragments, demo 如下: <fragment android:id="@+id/fragment_first" android:name="com.google.samples.apps.sunflower.test.Fi

2021-02-08 17:57:14 1391

原创 使用 Item TouchHelper 实现 RecyclerView的 item 上下移动

代码如下:package com.example.temp;import androidx.annotation.NonNull;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;import androidx.core.content.ContextCompat;import androidx.recyclerview.widget.ItemTouchHelper;impo

2021-01-25 13:46:25 326 1

原创 FLutter 踩坑笔记

FLutter 踩坑笔记Android 集成部分Flutter 编写部分MaterialButton RaisedButton 控件内部与child之间存在padding ,没有属性可以去掉。使用最新版sdk(1.22.0 以及以上)中的TextButton在Button 外面使用SizeBox等可以设置size的控件,设置size可以缩减 padding在 State中声明的Color 类型的属性,必须赋值,不然会报错。在 main.dart 中 使用 runZonedGuarded

2020-11-02 12:42:31 477

原创 Flutter学习-项目创建

Flutter 部分创建Flutter Module使用Android Studio 直接创建生成 aar 和 framework编译脚本如下def verison-number=1.1flutter build aar --build-number=verison-numberflutter build ios-frameworkFlutter中 代码main.dartimport 'package:flutter/material.dart';import 'pa

2020-08-25 15:22:28 178

原创 Android 中 降低 app crash 的方案。

代码实现import android.app.Applicationimport android.content.Contextimport android.os.Handlerimport android.os.Looperimport android.util.Logimport java.lang.Exceptionclass MyApplication : Application() { override fun attachBaseContext(base: Context

2020-07-13 18:34:28 306

原创 Mac上AndroidStudio JNI 开发Demo

Mac上AndroidStudio JNI 开发Demo配置下载 NDK和 CMake在local.properties中配置ndk 路径将ndk路径添加到系统的class path中 -(export PATH=PATH:PATH:PATH:ANDROID_NDK_HOME/)开发在 app/build.gradle中的defaultConfig中添加 :ndk { moduleName "hello" abiFilters "arm

2020-07-10 11:31:09 317

原创 android中生成jar

android中生成jartask makeJar(type: Jar) { //生成的jar的名称 getArchiveFileName().set( 'result.jar') //需要合并的jar的路径+名称 from(project.zipTree('build/intermediates/packaged-classes/release/classes.jar')) from(project.zipTree('lib

2020-05-19 11:00:02 244

原创 获取textview的宽度

private fun getLabelWidth(): Int { val view = LayoutInflater.from(context).inflate(R.layout.view_vehicle_service_item, null) val textView = view.findViewById<TextView>(R.id.vehicle_se...

2020-04-27 11:34:42 661

android中 java编写的test 类 mock kotlin 对象问题笔记

问题描述代码如下:public class AbViewModelTest extends BaseTest { @Mock private LocationProvider locationProvider;//该对象为Kotlin 类的对象}在 跑调用 locationProvider 中的方法的测试代码时,测试失败,错误时 locationProvider中的方法返回值...

2020-04-13 15:37:27 176

原创 android中是Aspect 进行埋点笔记

package net.sourceforge.logger;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Rete...

2019-12-19 15:04:54 358

原创 Jenkins 连接github

使用 ssh进行连接使用 命令行获取到ssh的私钥和公钥$ ssh-keygen -t rsa -C [email protected]”生产 .ssh/id_rsa和 /.ssh/id_rsa.pub 文件,将公钥(id_rsa.pub)中的内容复制到 github的账号上。在jenkins中创建证书(Credentials),位置如下图:使用 access token 连接在git...

2019-11-18 13:07:02 1565 2

原创 记录自定义view实现滑动和缩放

package com.plugin.ggg.motionlayoutdemoimport android.content.Contextimport android.util.AttributeSetimport android.view.GestureDetectorimport android.view.MotionEventimport android.view.ScaleGe...

2019-08-06 17:52:29 167

原创 观察者模式

观察者模式结构一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其他的对象做出相应的改变。做到这一点的设计方案有很多,但是为了使系统能够易于复用,应该选择低耦合度的设计方案。减少对象之间的耦合有利于系统的复用,但是同时设计师需要使这些低耦合度的对象之间能够维持行动的协调一致,保证高度的协作。观察者模式是满足这一要求的各种设计方案中最重要的一种。类图观察者模式所涉及的角色有:被...

2019-08-05 15:29:02 127

原创 Android中自定义gradle插件实现步骤记录

在build.gradle中直接实现插件创建使用插件功能的groovy 类,在app层的build.gradle 中class GreetingPluginExtension { //插件类中的属性 String message = "Hello"}实现 org.gradle.api.Plugin 接口,在重新的apply() 方法中调用插件类class Gre...

2019-08-03 14:50:39 675

原创 关于服务端设置了IPV6时,Android请求网络超慢的问题记录

原因Android会优先选择ipv6 的进行dns的处理,具体为啥会慢,还在探索中…,也请大神们指教一下,多谢

2019-08-01 13:00:22 3270 1

原创 Android中dialog修改默认背景色的透明的

public class MyDialog extends Dialog {public MyDialog(@NonNull Context context) {super(context);getWindow().getDecorView().setPadding(0, 0, 0, 0);WindowManager.LayoutParams layoutParams = getWindo...

2019-07-20 17:46:11 4556

原创 Android中activity进入退出动画

修改acitvity进入退出动画在res/anim下定义进入和退出的动画,如下图:加载动画方式1在styles.xml文件在引入,然后在AndroidManifest.xml中设置activity的theme,代码如下//styles.xml<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionB...

2019-05-10 15:40:32 5148

原创 Android端多渠道与模块结合

Android端多渠道与模块结合实现1.项目的结构如下图:2.多渠道配置文件多渠道的配置文件分为app module需要引入的和其他module中需要引入的,两者的区别就是其他module中需要引入的文件不能有applicationId,否则编译不能通过。截图如下:3.在module中引入Android端多渠道与模块结合说明1.demo的项目结构模式如下图:...

2019-04-30 10:07:45 661

原创 命令模式

简介命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。特点:命令模式使新的命令...

2019-04-14 18:00:58 78

原创 桥接模式

简介桥接模式是一种很实用的结构型设计模式,如果软件系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展,让系统更加符合“单一职责原则”。与多层继承方案不同,它将两个独立变化的维度设计为两个独立的继承等级结构,并且在抽象层建立一个抽象关联,该关联关系类似一条连接两个独立继承结构的桥,故名桥接模式。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象...

2019-04-14 17:16:56 177

原创 享元模式

简介面向对象编程中,通过增加类与对象的数量可以很方便的解决一些扩展性的问题,但是如何系统中的对象的数量过多时会导致系统性能的下降。享元模式就是为了解决这个问题而产生的。使用共享技术实现相同或者相似的对象的重用。优点:享元模式的优点在于它可以极大减少内存中对象的数量,使得相同对象或相似对象在内存中只保存一份。享元模式的外部状态相对独立,而且不会影响其内部状态,从而使得享元对象可以在...

2019-04-14 15:33:11 69

原创 外观模式

简介简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。这个模式中,设计到3个角色。门面角色:外观模式的核心。它被客户角色调用,它熟悉子系统的功能。内部根据客户角色的需求预定了几种功能的组合。子系统角色:实现了子系统的功能。它对客户角色和Facade时未知的。它内部可以有系统内的相互交互,也可以由供外界调用的接口。客户角色:通过调用Facede来完成...

2019-04-08 20:00:19 96

原创 Android修改状态栏颜色即状态栏字体颜色

设置当前界面是否是全屏模式/** * 修改当前 Activity 的显示模式,hideStatusBarBackground :true 全屏模式,false 着色模式 * * @param activity * @param hideStatusBarBackground */ public static void setStatusB...

2019-04-04 14:12:06 2709

原创 装饰者模式与代理模式

装饰者模式动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。优点:采用组合的方式,可以动态的扩展功能,同时也可以在运行时选择不同的装饰器,来实现不同的功能。被装饰者与装饰者解偶,被装饰者可以不知道装饰者的存在,同时新增功能时原有代码也无需改变,符合开放封闭原则。有效避免了使用继承的方式扩展对象功能而带来的灵活性差,子类无限制扩张的问题。缺...

2019-03-28 19:43:22 328

原创 适配器模式

适配器模式适配器模式将某个类的接口转换成客户端期望的另一个接口表示,类别如下:类适配器数据源类Source,目标接口 Target, 适配器类 Adapter ,Adapter类继承Source类,并且实现Target接口,在Adapter类中实现数据的转换,类图如下:实现代码如下:open class Source {protected fun soureMethod(...

2019-03-28 17:26:04 93

原创 自定义View-绘制

绘制绘制是一个两遍(two pass)的过程:一个measure pass和一个layout pass。测量过程(measuring pass)是在measure(int, int)中实现的,是从树的顶端由上到下进行的。在这个递归过程中,每一个View会把自己的dimension specifications传递下去。在measure pass的最后,每一个View都存储好了自己的meas...

2019-03-28 14:33:59 161

原创 自定义View-View的构造函数

需要重写的构造方法public CustomView(Context context) {super(context);}public CustomView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); }//通过attrs获取自定义的属性public CustomView(Cont...

2019-03-28 14:32:31 275

原创 Android中app被其他app唤起

在 AndroidManifest.xml中定义scheme协议,如下 <activity android:name="com.test.ForWebAcitivity" android:noHistory="true" android:screenOrientation="user" and...

2019-03-20 15:59:57 1917

原创 属性动画基础笔记

修改自定义属性创建自定义View,如下:public class CicleView extends View { private Paint paint; private float radius; public CicleView(Context context) { super(context); init(context, null)...

2019-03-20 10:35:03 92

原创 Android动画基础笔记

动画分类帧动画补间动画 (View 动画)属性动画帧动画简介需要定义好动画的每一帧,然后系统的一帧一帧的播放。缺点:因为逐帧动画的帧序列内容不一样,不但给制作增加了负担而且最终输出的文件量也很大。优点: 逐帧动画具有非常大的灵活性,几乎可以表现任何想表现的内容,而它类似与电影的播放模式,很适合于表演细腻的动画。实现使用java代码帧动画播放器:AnimationDr...

2019-03-15 12:33:03 75

原创 androidstudio中配置git

androidstudio中配置git在AS的setting中设置git的exe文件的路径,如下图:设置AS的Terminal为git的bash,如下图:在AS的Terminal中 cmd与git的bash切换,如下图:...

2019-02-25 16:44:28 701

原创 gitlab 配置 ssh

配置username和email使用git的命令行输入:git config --global user.name “your username”git config --global user.email “your email address”生产新的SSH密钥使用git的命令行输入:ssh-keygen -t rsa -C “your email address”...

2019-02-25 16:20:08 364

原创 建造者模式

建造者模式优点在建造者模式中, 客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者, 用户使用不同的具体建造者即可得到不同的产品对象 。可以更加精细地控制产品的创建过程 。将复杂产品的创建步骤分解在不同的方法中,使得创建过程...

2019-02-19 17:26:02 112

原创 工厂模式

简单工厂模式使用场景工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。客户端只知道传入工厂类的参数,对于如何创建对象不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。类图:使用实例:IProductinterface IProduct {fun use()}ProductAc...

2019-02-19 16:00:25 97

原创 Kotlin-channel的基本使用

Channel的源代码如下:public interface Channel&amp;lt;E&amp;gt; : SendChannel&amp;lt;E&amp;gt;, ReceiveChannel&amp;lt;E&amp;gt; { ...}Channel的父类有发送消息的SendChannel和接受消息的ReceiveChannel,Channel分为有缓冲区和无缓冲区,无缓冲的通道在发送者和接收者相遇时传输元素。如..

2019-02-18 17:13:14 1136

原创 miui10.2.2 或以上的小米手机上照片旋转问题及解决

问题描述在mini 10.2.2 或以上的小米手机上出现的问题:调用手机相册选取使用手机拍摄的照片时,对照片进行压缩处理后图片会出现旋转。解决方法:然后获取到旋转的角度,然后将图片旋转回来。获取照片旋转角度,代码如下: public static int readPicDegree(String fileName) { int rotate = 0; try ...

2019-02-16 17:45:34 6737

原创 基于 BlockQueue 实现的生产者-消费者

package com.ggg.coroutinedemo.blockqueue;import java.util.concurrent.*;/** * @author ggg * @version 1.0 * @date 2019/2/14 15:19 * @description */public class BlockQueueMain { public sta...

2019-02-14 16:04:30 374

Jenkins+Configurations+and+Build+and+Publish.doc

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。 通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。 是一个 Coucourse 的同类型替代软件, 有 Mac,Windows,Linux 版本。

2019-12-09

Android View 事件传递与消费

Android View 事件传递与消费,用于view事件传递的理解。

2019-03-20

zxing 二维码扫描demo +js二维码生成demo

手机端 zxing 二维码扫描,web端js二维码生成

2016-03-24

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

TA关注的人

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