自定义博客皮肤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)
  • 资源 (10)
  • 收藏
  • 关注

原创 Unable to make field private final java.lang.String java.io.File.path accessible: module java.base

解决:选择低版本JDK。

2023-09-21 15:17:36 329

原创 Metro server (run ‘react-native start‘) or that your bundle ‘index.android.bundle‘ is packaged corre

React Native 运行或打包时报如下错误:java.lang.RuntimeException: Unable to load script. Make sure you're either running a Metro server (run 'react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.解决办法:在app/build.gradle.

2021-12-16 18:11:35 1684

原创 No bundle URL present Make sure you’re running a packager server or have included a.jsbundle file

RN项目,使用Xcode运行iOS项目的时候报错No bundle URL present Make sure you’re running a packager server or have included a.jsbundle file尝试了很多办法都没有用,最后电脑换个网络就可以了

2020-09-28 10:32:04 1670

原创 Flutter i18n+redux实现国际化

Flutter官方提供的实现国际化有些繁琐,需要自己实现WidgetsLocalizations,并且国际化的strings都是在代码中写的,而i18n插件可以自动生成这些代码,并且国际化的strings也是使用文件以json形式配置。加以使用redux实现语言切换及持久化。Android Studio安装i18n插件安装后在菜单栏中会有如下图标,点击用于生成i18n代码项目中设置国际化...

2020-04-22 19:41:09 732

原创 插件化的原理分析及实现

学习插件化前需要了解类加载器、反射及动态代理等基本知识技术方案:1.宿主apk和插件apk都是使用PathClassLoader加载,合并宿主和插件的ClassLoader2.宿主apk资源和插件apk资源是隔离的,重写Activity的getResources和getAssets3.Hook IActivityManager.startActivity和ActivityThre...

2019-12-23 14:28:47 2044

原创 代理模式

静态代理public interface IBank { /** * 办理银行卡 */ void applyBank();}/** * 被代理类 */public class Man implements IBank{ @Override public void applyBank() { System.out....

2019-12-09 17:50:03 235

原创 泛型 - Type

Java泛型采用类型擦除实现,类型编译时被擦除为Object,不兼容基本类型。类型擦除的实现方案主要考虑后向兼容,泛型类型签名信息特定场景下反射可获取泛型类型擦除的好处:1.运行时内存负担小,List和List<String>是一种类型(编译后List和List<String>都是List)2.兼容性好,Java1.5才推出泛型,它兼容之前的版本泛型类型擦除的坏...

2019-12-09 14:53:39 418

原创 红黑树 RBT

二叉查找树 BST :https://blog.csdn.net/cj_286/article/details/90183298二叉平衡树 AVL :https://blog.csdn.net/cj_286/article/details/90217072红黑树 RBT :https://blog.csdn.net/cj_286/article/details/90245150...

2019-05-29 21:36:19 441

原创 二叉平衡树 AVL

二叉查找树 BST :https://blog.csdn.net/cj_286/article/details/90183298二叉平衡树 AVL :https://blog.csdn.net/cj_286/article/details/90217072红黑树 RBT :https://blog.csdn.net/cj_286/article/details/90245150...

2019-05-29 21:35:28 294

原创 二叉查找树 BST

二叉查找树 BST :https://blog.csdn.net/cj_286/article/details/90183298二叉平衡树 AVL :https://blog.csdn.net/cj_286/article/details/90217072红黑树 RBT :https://blog.csdn.net/cj_286/article/details/90245150...

2019-05-29 21:33:19 290

原创 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugKotlin'.

Andoird 工程中java和kotlin混合开发的时候,遇到了一个app:compileDebugKotlin问题,百度了几种解决方案都没用,在这里记录一下,出现这种问题可能是工程中有代码报错,可气的是加入kotlin之后,有的错它不提示,气人不。解决方案只需要在gradle -> app ->Tasks-> build -> build 执行一下就会出现具体的错误...

2019-04-09 19:32:35 5541

原创 Docker运行Golang Web服务

Golang代码import ( "net/http" "io")func main() { http.HandleFunc("/",helloHandle) http.ListenAndServe(":80",nil)}func helloHandle(rw http.ResponseWriter,r *http.Request) { io.WriteString(...

2018-11-15 15:05:50 2095

原创 docker使用时遇到的错误及解决

学习docker时遇到的一些问题,在此记录一下1.sudo docker-machine create -d generic --generic-ip-address 192.168.88.128 --generic-ssh-key $HOME/.ssh/id_rsa --generic-ssh-user cj286 --generic-ssh-port 22 host2错误信息:su...

2018-11-09 16:18:38 11088

原创 Error 1140: In aggregated query without GROUP BY,sql_mode=only_full_group_by

MySQL 5.5.27上跑没有问题,在MySQL 5.7.24上就报了sql_mode=only_full_group_by的错误:Error 1140: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'sx.u.id';this is inco...

2018-11-09 15:27:13 13297 2

原创 ubuntu安装Docker CE

这里做个记录,免得下次去查Install Docker CE (Ubuntu)1.Update the apt package index:$ sudo apt-get update2.Install packages to allow apt to use a repository over HTTPS:$ sudo apt-get install \ apt-t...

2018-11-09 14:03:00 226

原创 Windows下部署安装Docker

Docker有Docker Community Edition(社区版)和Docker Enterprise Edition(企业版),但是对于微软Windows 10专业版或者企业版64位才可以直接安装Docker,对于旧版本Windows需要安装Dorker Toolbox安装完成后桌面会出现3个快捷图标(1) Oracle VM VirtualBox: 虚...

2018-08-26 22:15:26 1810

原创 Request参数解析

Request结构Request结构主要由以下部分组成URL字段Header字段Body字段Form字段、PostForm字段和MultipartForm字段type Request struct { Method string URL *url.URL Proto string // "HTTP/1.0" ProtoMajor int // 1 Pro...

2018-07-23 10:19:39 16037

原创 UTC时间转本地时间

首先要先对UTC、GMT、CST等时间概念有所了解1 UTC(世界标准时间)协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“TempsUniversel Coordonné”而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间。2 GMT(格林尼治平时)格林尼治平时(...

2018-07-18 17:02:27 27861

原创 Go嵌入类型及其方法的使用

Go语言有一个特性让我们只声明一个成员对应的数据类型而不指名成员的名字,这类成员就叫匿名成员。匿名成员的数据类型必须是命名的类型或指向一个命名的类型的指针。匿名成员type Shape struct {}type Circle struct { Shape //Shape匿名成员}任何类型都可以作为结构体的匿名成员,使用匿名成员不仅可以用简短的点运算符语法选择匿名成员嵌套的成员,也可以用于...

2018-05-29 13:31:37 1073

原创 Go后台项目实战

本项目完全使用原生开发,没有使用任何WEB框架(如:gin,beego,Martini等),和ORM(如:gorm,xorm,beego)三层架构三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)...

2018-05-28 11:49:24 20189

原创 database/sql数据库驱动

接口定义Go没有内置的驱动支持任何的数据库,而是定义了database/sql接口,要用户基于驱动接口开发相应数据库的驱动。GitHub上有许多基于database/sql接口开发的不同数据库驱动,基于Go提供的接口标准来开发的驱动的好处就是当你要换驱动时,只需要导入相应的驱动,改一下打开的driverName和dataSourceName即可,其它的基本不需要动。MySql驱动比如githu...

2018-05-18 14:22:43 3962

原创 Go http Server

创建http服务的三种实现方式方式1func main() { http.HandleFunc("/hello",hello) err := http.ListenAndServe(":8080",nil) if err != nil { log.Panic(err) }}func hello(w http.ResponseWriter,r *http.Request) { ...

2018-05-09 17:49:33 4954

原创 List双向链表

container/list是一个双向链表,以下是list的定义与使用双向链表的结构定义// Element is an element of a linked list.type Element struct { // Next and previous pointers in the doubly-linked list of elements. // To simplify the i...

2018-05-07 20:02:48 313

原创 Intellij IDEA创建Go工程

安装Go插件安装好Go插件后可能需要重启,之后就可以在IDEA中创建go工程了创建工程注意:创建的工程(test)一定要放到src文件夹中,不然工程中创建的其它go文件对工程将不可见test工程创建完成,但是现在导包只能导入Global GOPATH下的文件,自己在工程中新建的go文件是不可见的,所以需要设置工程级GOPATH设置Project GOPATH设置完Project GOPATH,就可...

2018-05-04 11:15:33 15090 1

原创 NDK图片压缩-libjpeg

使用十分简单,添加压缩工具aar,一句语句实现批量压缩图片Android Studio不会添加arr的请移步:https://www.cnblogs.com/zhaoyanjun/p/5776114.htmlList<String> pics = CompressImageUtil.compressPictures(paths, "压缩后图片所保存的路径");一句...

2018-04-29 00:54:58 464 1

原创 gob编解码

要让数据对象能在网络上传输或存储,我们需要进行编码和解码。现在比较流行的编码方式有JSON,XML等。然而,Go在gob包中为我们提供了另一种方式,该方式编解码效率高于JSON。gob是Golang包自带的一个数据结构序列化的编码/解码工具源和目的地值/类型不需要完全对应。在接收变量中,但从发送类型或值丢失的字段将在目标中被忽略。如果在两个字段中都存在同名的字段,则它们的类型必须兼容。接收器和发送...

2018-04-18 11:36:03 3004

原创 Go 方法与接口

方法在函数声明时,在其名字之前放上一个变量,即是一个方法,这个附加的参数会蒋该函数附加到这种类型上,即相当于为这种类型定义了一个独占的方法.如果函数声明时,名字前面没有接收变量,即是一个函数.在Go语言里,我们为一些简单的数值,字符串,slice,map来定义一些附加行为很方便,方法可以被声明带任意类型,只要不是一个指针或者一个interface在声明方法时,如果一个类型名本身是一个指针的话,是不...

2018-04-04 10:16:35 787

原创 goroutine,信道(channel),死锁

goroutine,信道(channel),死锁的一些重点总结信道(channel)是goroutine之间互相通讯的东西,就是在做goroutine之间的内存共享,默认的信道的存消息和取消息都是阻塞的,这就叫做无缓冲的信道,也就是说,无缓冲的信道在取消息和存消息的时候都会挂起当前的goroutine,除非另一端已经准备好。var ch chan int = make(chan int)func...

2018-03-14 14:45:40 2717

原创 go等待一组协程结束的实现方式

go提供了sync包和channel来解决协程同步和通讯。方式1:sync.WaitGroup是等待一组协程结束,sync.WaitGroup只有3个方法,Add()添加一个计数,Done()减去一个计数,Wait()阻塞直到所有任务完成。package mainimport ( "fmt" "sync" "time")var wg sync.WaitGroup //定义一个同步等...

2018-03-13 11:54:40 18609 5

原创 Android 7.0图片裁剪问题

现在的App上都会有用户头像或商品图片等,而这些图片一般都是正方形且大小特别小的,要想得到此类的图片就要用到Android系统自带的图片裁剪功能,蒋拍照后的图片选择用户想要的地方进行裁剪。图片裁剪在不同系统版本上应注意的问题,下面就来分析在不同版本上的裁剪代码安卓7.0之前图片裁剪代码File temp = new File(sHeadPath , IMAGE_FILE_NAME);startP...

2018-03-08 14:22:04 1016

原创 Go笔记

1.切片func main(){var num []int = []int{0,0,0,0,0}fmt.Println(num)modifyArray(num)fmt.Println(num)}func modifyArray(ar []int){//传递的只是切片,底层还是指向同一个数组ar[1] = 22fmt.Printf("ar[1] : %d\

2017-12-26 10:47:51 2049

原创 bad file descriptor

以下代码在进行文件写入时,报了一个panic: write defer-file.txt: bad file descriptor错误func writeString(){ var f *os.File var err error if checkFileIsExist(path){ f,err = os.OpenFile(path,os.O_APPEND,0666) fmt

2017-12-21 16:27:50 27672

原创 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHe

在开发过程中,有的时候引入了多个三方库.在调用的时候会出现版本对应不上的原因,需要强制版本号统一解决办法,在app和Module: Library的build.gradle添加如下代码configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details ->

2017-12-19 18:00:45 5600

原创 Dagger2 Component讲解

Error:(14, 1) 错误: @com.cj.dagger2.di.scope.ActivityScope com.cj.dagger2.di.component.ActivityComponent depends on more than one scoped component:@Singleton com.cj.dagger2.di.component.AppComponent@com.cj.dagger2.di.scope.ServiceScope com.cj.jian.dagger2.

2017-09-06 13:20:52 743

原创 Volley源码分析

在进行网络请求时,相信大家都用过Volley,Volley是Google推出来的网络访问框架,它内部仅仅是对HttpUrlConnection和HttpClient的进一步封装,使得网络请求变得简单,而且非常适合频繁的小数量数据的网络请求,使用起来非常简单,三句话就可以搞定网络请求,仅仅会使用还不行,现在我就来带你分析一下Volley的实现原理。先看看使用//创建请求队列RequestQueu

2017-03-12 17:17:14 337

原创 HTTPS全面解析

百度百科对https的介绍:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据

2017-02-15 14:21:13 7828

原创 不同Context对象创建的LayoutInflater对象也不同

创建LayoutInflater对象,根据所传的上下文对象不同,创建出来的LayoutInflater对象也不同,在不同Activity中创建的LayoutInflater对象也不同,先来看一下, Activity中的获取LayoutInflater对象及打印的对象地址LayoutInflater.from(this); com.android.internal.policy.impl.

2017-02-07 19:05:49 1104

原创 RecyclerView三种显示方式的下拉刷新和上拉加载更多

有关RecyclerView的类似SwipeRefreshLayout的上拉加载更多,我写了一篇博客http://blog.csdn.net/cj_286/article/details/52767070但是之前写的那个有一点点的小问题,如果上拉刷新,刷新小图标还没有移动到刷新位置,刷新数据就已经获取到,并且调用了setRefreshing(false),在setRefreshing(fals

2017-01-06 09:50:06 3182

原创 三星手机拍照强制切换到横屏及照片旋转问题

最近在做项目,项目里面有拍照上传的功能,无非就是吊起系统拍照功能,然后获取所拍照的地址,然后上传即可。但是当我无意间拿了一部三星手机装了App之后,当使用拍照功能的时候,拍完之后,界面并没有出现所拍的照片,之后才知道是三星手机在拍照的时候会强制切换到横屏,导致生命周期重走了,所以拍出来的照片所保存的地址也跟着没有了,然后我在清单文件中配置了该Activity的android:configChang

2016-12-17 20:49:31 4359

原创 权限检测

在安卓6.0之后有一些权限是要在运行的时候,当用到了该权限的时候,提示用户是否允许该权限,如果用户允许才开始使用该权限,如果用户拒绝,就使用不了相应的权限,那么问题来了,用户拒绝后,再次使用该功能,如何去检测是否拥有该权限呢,如检测出没有如何去设置呢?检测是否注册了该权限PackageManager pm = context.getPackageManager(); boolean

2016-11-23 13:52:07 602

GsonFormat

android studio上在线安装老是不成功,下了个jar包,有遇到同样问题的可以下载这个以离线的方式下载。 GsonFormat:根据 json数据自动生成JavaBean,并支持多种自定义

2018-05-15

libjpeg-release.aar

libjpeg.so图片压缩,压缩质量比安卓原生压缩质量的好多倍,3-4M可以压缩到100K以内依然非常清晰

2018-04-29

jks转bks工具

SSL中的jks转bks工具

2017-02-15

https网络请求

HTTPS全面解析,URLConnection、Volley、OkHttp下的https网络请求

2017-02-15

RefreshRecyclerView

RecyclerView上拉加载更多,recyclerview_lib是库工程,保存通用设配器,上拉加载更多工具类,refreshrecyclerview是Demo

2017-01-06

PermissionChecker

PermissionChecker所在的v4包

2016-11-23

可伸缩的文本控件ExpandTextView

文本超出指定行数,收缩状态时只显示指定的行数,展开状态时显示全部

2016-11-10

个性名片Ratio

高仿QQ的个性名片,名片是可以随意拖拽的,拖拽到中心头像名片值加1

2016-11-04

RecyclerView的刷新辅助类

实现RecyclerView下拉刷新和上拉加载更多的功能,效果和5.0新特性的效果类似

2016-10-10

RecyclerView刷新辅助类

实现RecyclerView下拉刷新和上拉加载更多的功能,效果和5.0新特性的效果类似

2016-10-09

空空如也

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

TA关注的人

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