自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝枫

时间不会辜负每一个平静努力的人,可是我不努力!

  • 博客(419)
  • 资源 (6)
  • 收藏
  • 关注

原创 Jetpack组件之Navigation的使用

MainActivity.javapackage com.zhoujian.navigationdemo.activity;import androidx.appcompat.app.AppCompatActivity;import androidx.navigation.NavController;import androidx.navigation.fragment.NavHostFragment;import androidx.navigation.ui.NavigationUI;i

2021-01-08 22:22:05 467

原创 在macOS上搭建Flutter开发环境

1.使用镜像在终端中输入:open -e .bash_profile,打开.bash_profile文件export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn2.获取Flutter SDK去flutter官网下...

2019-06-27 09:40:07 190

翻译 函数的定义与调用之顶层函数和属性

顶层函数Kotlin中函数站在了类的位置,可以直接把函数放在代码文件的顶层,不属于任何类package com.zhoujian.kotlindemo.utilfun <T> joinToString(collection: Collection<T>, separator: String = ",", prefix: String = "", postfix...

2019-05-20 16:11:57 925

翻译 函数的定义与调用之在Kotlin中创建集合

//创建set val set = hashSetOf<Int>(1, 3, 5, 7, 9) Log.i("zhoujian", "set.max=" + set.max()); //创建list val list = arrayListOf<Int>(1, 3, 5, 7, 9) ...

2019-05-18 16:07:22 125

翻译 Kotlin基础之迭代事物:while循环和for循环

Kotlin的while循环和Java完全一样1.while循环Kotlin中有while循环和do while循环 //condition 为true 执行循环体 while (condition){ } //循环体第一次会无条件执行,此后,当condition为true时才执行 do{ ...

2019-05-14 20:41:57 420

翻译 Kotlin基础之枚举和when

1.申明枚举类package com.zhoujian.kotlindemo.shapsenum class Color { RED,YELLOW,GREEN,WHITE}Kotlin申明美枚举类用了enum、class两个关键字Java只有了一个enum一个关键字可以给枚举类声明属性和方法package com.zhoujian.kotlinde...

2019-05-13 08:49:35 503

翻译 Kotlin基础之类和属性

1.类首先,来看一个简单的JavaBean类Personpackage com.zhoujian.kotlindemo;public class Person { private String name; public Person(String name){ this.name = name; } public String ge...

2019-05-09 22:45:44 127

翻译 Kotlin基础之函数和变量

1. 函数 fun max(a: Int, b: Int): Int { return if (a > b) a else b }函数声明以关键字fun开始,函数名称max在kotlin中,if是表达式,不是语句,表达式和语句的区别是:表达式有值,语句没有值Java中所有控制结构都是语句Kotlin中除了循环以外大多数控制结构都是表达式...

2019-05-08 23:13:00 182

原创 React Native命令行

1. sudo lsof -i:8081  查看端口8081被哪个进程占用2.kill -9 48547 杀死占用端口的进程485473.adb reverse tcp:8081 tcp:8081 反向代理8081端口4.react-native --version //查看当前reactNative版本5.npm install //给下载的普通工程下载安装RN环境,根据配置的p...

2019-02-14 19:38:29 696 1

翻译 Android6.0使用RxPermissions获取运行时权限

1.添加依赖compile 'com.tbruyelle.rxpermissions:rxpermissions:0.7.0@aar'compile 'io.reactivex:rxjava:1.1.3'2.在清单文件中加入权限 <uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permissio

2017-08-14 16:22:37 466

原创 EventBus3.0使用详解

EventBus简述EventBus是一款针对Android 优化的发布/订阅总线。EventBus优点:EventBus简化了应用程序内各组件间、组件与后台线程间的通信。开销小,代码更优雅,将发送者和接受者完全解耦EventBus三要素Event:事件,可以是任意类型的对象Subscriber:事件订阅者,在EventBus3.0之前消息处理的方法只能限定于onEvent、onEventMai

2017-06-30 17:41:38 268

原创 Android开源数据库框架-LitePal的使用

简介LitePal是一款开源的Android数据库框架,采用了关系映射的模式。LitePal在github上的项目地址:https://github.com/LitePalFramework/LitePal配置LitePaldependencies { .... compile 'org.litepal.android:core:1.5.1'}在app/src/main 目录下新建目录ass

2017-03-29 17:38:47 2653

原创 Android6.0权限封装

简介Android6.0中对权限分为了一般权限和危险权限。一般权限:只要在清单文件中注册即可使用。危险权限:除了要在清单文件中注册外,还要对用户进行请求权限弹窗提醒,才可以使用。危险权限关于日历的权限:<uses-permission android:name="android.permission.READ_CALENDAR"/><uses-permission android:name=

2017-03-05 12:06:26 1197

转载 算法数组:最富有客户的资产总量

给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/richest-customer-wealth示例 1:输入:accounts = [[1,2,3],[3,2,.

2022-05-22 09:35:29 277

转载 算法数组:两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/two-sum示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] .

2022-05-22 08:42:30 207

原创 ConstraintLayout完全解析

ConstraintLayout是升级版的相对布局,推荐使用约束布局和线性布局进行界面布局开发为什么要用约束布局?1.功能强大,支持角度定位,百分比布局。2.布局扁平化,减少布局层级,界面性能优化。如何在约束布局中定位一个布局?约束布局中的布局有四个方向:上下左右,我们需要在水平方向上至少有一个约束,在竖直方向也至少要有一个约束,也就是说,在不同方向上至少有两个约束,才能在界面上定位一个布局。XML中的基础约束:...

2022-04-02 22:15:51 2208

原创 Android中好用的工具类收集

1.dp转pxpackage com.zhoujian.drawandxfermode.utilsimport android.content.res.Resourcesimport android.util.TypedValueobject PixelUtil { fun dp2px(dp: Float): Float = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, dp,

2021-01-31 09:31:34 183

原创 写给女儿的一封信

亲爱的女儿: 你好!我是周建,是你的爸爸,你的妈妈是宋宁宁。你的名字是周思彤,名字是你的妈妈给你取的。当你的妈妈怀孕的时候,我的第一反应是:一定是儿子,当你在妈妈肚子里三个月的时候,去做B超,医生说是个女儿。请原谅爸爸有这种思想,爸爸错了,爸爸向你道歉! 你妈刚怀你的时候,我就一直想给你写封信,想表达我对你的期望,希望你在学习上怎么样…工作上怎么样…生活上怎么样…长大后怎么

2021-01-22 22:04:33 3502

原创 Jetpack组件之LiveData

1. LiveData 概述LiveData是一种可观察的数据存储器类,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。...

2021-01-09 08:08:08 104

原创 英语经典句子

Good manners are free,but the absence of good manners may cost you dearly.礼貌是免费的,但不礼貌的代价将是昂贵的。

2020-05-24 10:54:16 222

原创 ImageSwitcher实现任意view轮播效果

MainActivity.javapackage com.zhoujian.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;impo...

2020-05-24 10:36:26 349

原创 Kotlin 扩展库KTX

首先给出文档地址:Doc:https://android.github.io/android-ktx/core-ktx/Github:https://github.com/android/android-ktx添加依赖: //Kotlin依赖 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_...

2020-04-25 11:09:47 1103

原创 协程实战

添加对协程的依赖 //协程依赖 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5'添加对kotlin的依赖 //Kotlin依赖 imp...

2020-04-25 10:25:00 271 1

原创 Kotlin 总结学习,温故知新

1.kotlin中函数(1) kotlin中函数以fun关键字开头(2) 返回值类型写在函数名后面(3) java中无返回值是void,kotlin中无返回值是Unit(4) 函数参数的写法是:参数名:参数名类型(5) 函数可以直接写在文件中,也可以写在类中2.kotlin中的变量(1) 可读可写变量var、只读变量val(2) val 相当于java中的final...

2020-03-28 10:06:10 386

原创 Android中的内存泄漏

什么是内存泄漏长生命周期的对象持有了短生命周期的对象,从而导致短生命周期的对象不能被释放垃圾回收机制

2020-03-22 14:15:18 1236

原创 自定义View布局基础

布局过程的含义:布局过程,就是程序在运行时利用布局文件的代码来计算出实际尺寸的过程布局过程的工作内容测量阶段和布局阶段测量阶段:从上到下递归地调用每个View或者ViewGroup的measure() 方法,测量他们的尺寸并计算它们的位置布局阶段:从上到下递归地调用每个View或者ViewGroup的layout()方法,把测得的尺寸和位置赋值给它们View或...

2020-02-24 11:15:27 289

原创 文字绘制

package com.zhoujian.retrofit.paintview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Typefac...

2020-02-23 15:19:42 232

原创 Paint详解

setShader方法(1)LinearGradient线性渐变:package com.zhoujian.retrofit.paintview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.L...

2020-02-23 10:43:47 584

原创 自定义view绘制练习之饼状图

package com.zhoujian.retrofit.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import...

2020-02-23 09:37:04 250

原创 自定义view绘制练习之绘制柱状图

package com.zhoujian.retrofit.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.support.annotation.Nul...

2020-02-23 09:34:30 265

原创 自定义View之绘制基础

绘制颜色:drawColorpackage com.zhoujian.retrofit.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.support.annotation.Nullable;import ...

2020-02-23 09:16:59 200

原创 自定义View -属性动画Property Animation

ViewPropertyAnimatorpackage com.zhoujian.retrofit.activity;import android.animation.Animator;import android.animation.ValueAnimator;import android.os.Bundle;import android.support.annotation.N...

2020-02-22 10:59:19 258

原创 Kotlin中协程上篇

协程是什么协程是Kotlin提供的一套线程封装的APIKotlin中,协程一个典型的使用场景就是线程控制

2020-02-21 12:16:06 138

原创 Kotlin泛型

Java泛型List<TextView> textViews = new ArrayList<TextView>();表示泛型类型为TextView的List泛型:就是把具体类型泛化,编码的时候用符号来指代类型,在使用的时候,再确定它的类型//这是多态,之类类型指向父类 Button是Textview的子类TextView textView = new...

2020-02-21 10:45:02 206

原创 新建支持 Kotlin 的 Android 项目

新建支持 Kotlin 的 Android 项目File -> New -> New Project …Choose your project -> Phone and Tablet -> Empty ActivityConfigure your project -> Language 选择 「Kotlin」项目根目录下的build.gradl...

2020-02-19 11:35:33 262

原创 Dart 中的库、自定义库、系统库、第三方库

void main(){ //通过import 引入库 //Dart中的库主要有三中 //1、自定义库 import 'lib/xxx.dart' //2、系统内置库 import ‘dart:io’; //3、pub包管理系统中的库}...

2020-02-15 13:21:04 445

原创 Dart 中泛型、泛型方法、泛型类、泛型接口

//泛型就是解决类、接口、方法的复用性以及对不特定数据的支持void main() { print(printData<int>(2)); //int类型 print(printData<String>("zhoujian")); //String 类型}//定义一个泛型方法T printData<T>(T value) { retur...

2020-02-15 11:48:32 327 1

原创 Dart中一个类实现多个接口以及Dart中的Mixins

Dart中一个类实现多个接口以及Dart中的Mixins

2020-02-14 11:16:28 216

原创 Dart中的抽象类、多态和接口

//Dart中的抽象类:// 子类可以继承抽象类,也可以实现抽象类接口// 抽象类通过abstract关键字来定义// Dart 中的抽象方法不能用abstract声明,Dart中没有方法体的方法我们称为抽象方法// 如果子类继承抽象类,必须实现抽象类里面的方法// 如果把抽象类当做接口实现的话必须抽象类中定义的所有属性和方法// 抽象类不能实例化,只有继承它的子类可以//抽象类...

2020-02-14 10:31:08 261

原创 Dart 中的类静态成员、操作符、类的继承

Dart中的静态成员:使用static关键字来实现静态变量和静态函数静态方法不能访问非静态成员,非静态方法可以访问静态成员静态属性和静态方法直接用类名来访问void main(){ print(Person.age); Person.printName(); //Dart中的对象操作符 // ?:条件运算符 // as:类型转换 // is:条件判断...

2020-02-14 09:18:52 314

MyApplication.zip

ImageSwitcher实现任意View轮播效果,可以是图片,也可以是任意的布局文件

2019-09-06

Android开发规范

阿里巴巴Android开发规范,总结得很不错,有很多值得借鉴的地方

2018-04-11

反编译工具

反编译工具,用于Android app 反编译,具体使用请查看博客

2018-04-11

阿里巴巴Java开发手册

阿里巴巴Java开发手册

2017-05-25

Charles 4.0.2破解的jar文件

Charles 4.0.2破解的jar文件

2017-03-03

磁盘缓存DiskLruCache源码

磁盘缓存DiskLruCache源码

2016-12-28

空空如也

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

TA关注的人

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