自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gradle国内腾讯镜像

Gradle国内镜像 腾讯 https://mirrors.cloud.tencent.com/gradle/ 使用方法:gradle不同版本下载太慢---腾讯做了国内镜像可以直接下载_gradle 下载-CSDN博客

2023-11-09 20:14:11 2669

原创 Kotlin与Java互调-Kotlin接口默认实现问题

Kotlin与Java互调-Kotlin接口默认实现问题

2022-07-18 10:57:52 1280 2

原创 Koltin 基础类型(一)

Kotlin基础类型学习。

2022-06-16 14:39:05 513

原创 Android Gradle构建脚本基础(三)

1. settings.gradle文件位于项目根目录下,用于项目的配置,常见的是配置子工程。可以类比认识,根工程对应AndroidStudio项目中的Project,子工程对应Module。一个子工程只有在setting.gradle中配置了,才能够被识别,构建的时候才会被包含进去。rootProject.name = "GradleGuide"include ':app'include ':demo'project(":demo").projectDir=new File(rootDir

2022-05-07 11:35:33 1961

原创 Android Gradle Groovy基础(二)

1.字符串在Groovy中,单引号和双引号都可以表示一个字符串,不同的是单引号标记的是纯粹的字符串常量,而双引号可以对其中的字符串表达式做运算。def Task printStr = task(printStr) { def str1 = '单引号' def str2 = "双引号" println "str1=" + str1.getClass().name println "str2=" + str2.getClass().name println 'str

2022-04-26 17:31:17 1482

原创 Android Gradle 入门指南(一)

下载与安装下载地址笔者下载的是当前的最新版本 Gradle:7.4.2。环境配置解压下载之后的.zip文件,配置环境变量。open ~/.bash_profile 打开配置文件export PATH=$PATH:/Users/xxx/Documents/gradle/gradle-7.4.2/binxxx:为电脑用户名。配置好之后新起一个终端输入一下指令:gradle -vHello World进入gradle安装目录并创建build.gradle文件。 cd Documents

2022-04-25 11:24:43 1514

原创 Jenkins Android项目编译配置

Jenkins安装下载地址:https://www.jenkins.io/download/最好LTS稳定版,war包和压缩包都可以。常用指令介绍1.查看Git安装位置在命令行中打入which git, 就会显示git的安装位置了2.查看已安装的jdk位置/usr/libexec/java_home -V启动启动服务在安装目录下找到jenkins.war包,在cmd命令窗口中输入下方指令进行启动。java -jar jenkins.war​Jenkins启动的默认端口为8080,如

2022-04-15 14:21:38 4622

原创 Flutter-GridView

GridView 构建二维网格列表。构造参数 Key key, Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary, ScrollPhysics physics, bool shrinkWrap = false, EdgeInsetsGeometry padding, @require

2020-12-08 17:26:14 119

原创 Flutter-SingleChildScrollView

SingleChildScrollView 类似与Android中的ScrollView,只能拥有一个子View。构造函数 Key key, this.scrollDirection = Axis.vertical, this.reverse = false, this.padding, bool primary, this.physics, this.controller, this.child, this.dragStartBeh

2020-12-07 17:30:34 698

原创 Dart(1)-基础

目录Dart 基础变量声明一切皆对象FInal和Const内建类型StringBooleanListSetMapNewRuneSymbolDart 基础变量声明1.var 变量名称=变量值; 使用关键字var 声明。2.dynamic 变量名称=变量值; 不限定单个类型。3.String str="ABC";使用指定的类型进行显示声明。一切皆对象数字也是对象。变量默认值为null,包括数字,布尔等。FInal和Const使用过程中从来不会被修改的变量, 可以使用 final 或 c

2020-11-18 14:18:42 185

原创 Android JetPack-ViewBinding

1.目的在大多数情况下,可以替代findViewById(),减少模版代码。通过视图绑定功能,可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。2.配置在AS3.6 android模块中直接配置开启即可。注意:视图绑定在Android Studio 3.6 Canary 11 及更高版本中可用。android { ... viewB...

2020-10-22 11:59:26 208

原创 Kotlin <-> Java互调问题:Parameter specified as non-null is null

Kotlin <-> Java互调问题:Parameter specified as non-null is null1.问题原因通常是Java调用Kotlin代码在传递参数时出现的问题,Kotlin中设置参数类型不可为空,但是Java调用时传递了null导致。举例说明:以Glide加载图片为例var url:String?=null Glide.with(context).load(url).listener(object : RequestListener<Stri

2020-10-09 11:16:43 4239

原创 Android-ImageView-ScaleType详解

ImageVIew->scaleType属性解析1.fitXY非等比缩放,直到填充整个ImageView。2.fitStart等比缩放,保留原有图片的宽高比,直到图片的一边与ImageView重合,并且图片完全展示在ImageView里面,最终图片和左上角ImageView左上角对齐。3.fitEnd等比缩放,保留原有图片的宽高比,直到图片的一边与ImageView重合,并且图片完全展示在ImageView里面,最终图片和右下角ImageView右下角对齐。4.fitCe.

2020-07-30 11:08:07 185

原创 Android-代码规范自动检测之CheckStyle

概述Checkstyle是一个开发工具,用于帮助程序员编写符合编码标准的Java代码。它使检查Java代码的过程自动化,从而使人们不必承担这项乏味(但重要)的任务。这对于想要执行编码标准的项目来说是非常理想的。Checkstyle是高度可配置的,可以支持几乎任何编码标准。提供了一个示例配置文件,该文件支持Sun代码约定、谷歌Java风格。集成方式可以通过gradle插件和gradle脚本两...

2020-01-09 15:57:28 941

原创 Android实战派-RxJava3.x(一) 入门

以实战立足,坚信实践出真知,唯有理论结合实践才能真正理解并掌握所学的知识。Rxjava:https://github.com/ReactiveX/RxJavaReativex:https://github.com/ReactiveX官网:http://reactivex.io/Table of Contents一.内容二.简单集成1.开发环境2.添加依赖...

2019-09-05 16:09:59 8346 2

原创 解决AS升级3.4 ERROR: All flavors must now belong to a named flavor dimension.Learn more at https://d.and

AS升级到3.4.2之后在多渠道环境下编译出错,错误提示为:"ERROR: All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html,Affected Modules:...

2019-07-22 19:30:01 679

原创 Android 性能优化

一.布局优化核心思想:就是布局层级的扁平化,尽量减少布局层级。1.布局使用    RelativeLayout:会让子View执行2次onMeasure()。 为什么会被测量两次,答案:竖直和水平各一次。LinearLayout:只有在使用weight的时候才会让子View执行2次onMeasure()。在不影响布局深度的情况下尽量使用LInearLayout。如果使用FrameLayout,Li...

2018-03-28 16:41:41 359

原创 单例设计模式(创建型,七种写法)-1/23

单例设计模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。其通过private的构造函数确保之生成一个实例。优点:        1.单例模式只有一个实例,减小了内存开销,如果一个对象需要频繁的创建销毁时优势很明显。        2.由于单例模式只有一个实例,所以减少了系统的性能开销。如果一个对象的创建需要依赖大量的资源,那么通过单例模式使其      长期驻留在内存空间是...

2018-03-26 20:40:41 278

原创 Volatile关键字解析

Volatile  java的类型修饰符,用来修饰被不同线程访问和修改的变量。volatile的作用是作为指令关键字确保本条指令不会因为编译器的优化而省略,每次都重新读取值。volatile可以理解为synchronized的一部分保证了并发的可见性,但是并没有保证原子性。也就是说a线程修改了变量的值,能给被b线程知道并读取。但是却不能保证每次只有一个线程来操作变量的值。所以volatile的使用...

2018-03-12 10:03:50 273

原创 静态内部类实现单例模式

好处:懒加载,不需要使用synchronized加同步锁。只有在第一次调用的时候才会加载。原理:静态内部类只有在被调用时才会加载,且类的加载过程是线程保护的所以不存在线程安全问题。而且这个类的实例化是在静态内部类中且使用了final修饰,只能赋值一次,static修饰随着类的加载而加载。Tips:外部类加载的时候并不会加载内部静态类。/** * Author:LiuPen Created at ...

2018-02-28 16:20:19 550

原创 Https,SSL/TSL学习

1.概念Http超文本传输协议,传输的数据是明文的,不安全的。Https就是在Http基础之上在Tcp/Ip和Http之间加了一层安全层SSL/TSL来保证数据的安全,可进行数据加密,身份信息认证等。SSL:SecureSocketLayer安全套接字层是由网景公司发明,后来IFET标准化,标准化之后的名称为TSL(TransportLayerSecurity)传输层安全协议。用来加密数据保数据的...

2018-02-26 14:39:53 460

原创 Android序列化-Serializable接口

场景,有一件礼物Gift(对象)我要把它送给远在国外的女票,怎么办?只能把这件礼物放在包裹里邮寄,女票收到之后在打开包裹得到这个礼物。那么我的理解Serializeable就是干这件事的。Serializable是Java里面所提供的一个序列化接口,它只是一个空接口,内部并没有任何方法,是一个典型的标识接口(注1)。为我们提供了标准的序列化与反序列化操作。Serializable的使用非...

2016-12-24 16:11:53 472

原创 Android线程与线程池(一)

前言,学习安卓很久了,一直也没有学博客的习惯,下决心从今天开始要养成写博客总结学习经验的好习惯!一.Android中线程与线程池的简介在Android中线程主要可以分为两大类:一个用于处理界面相关与用户交互的线程-主线程;一个用于处理耗时任务-子线程。因为学习Android的我们都会知道,在主线程中是不可以做耗时任务的,这样会导致界面卡顿影响与用户的交互体验。Android中扮演者

2016-08-23 10:39:25 544

原创 Android进阶学习-AIDL

一 AIDL简介AIDL这几个缩写字母的意思很简单,安卓接口定义语言,它的作用在我们学习安卓基础四大组件之Service的时候肯定都有所涉猎,只是认知的程度不同而已。读者也是这样,当时只是会使用,然而为什么可以这样使用,它的原理是什么,也是说不出什么来,哈!原谅我学习的时候没有刨根问底。所以我们今天就来深818这个知识点。AIDL即:Android Interface Definition L...

2016-04-14 16:22:06 355

空空如也

空空如也

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

TA关注的人

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