自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

android的专栏

android基础知识

  • 博客(103)
  • 收藏
  • 关注

原创 私有静态内部类不能被外部类访问

如图 : private static 不能被 外部类访问到private static class SizeViewHolder extends RecyclerView.ViewHolder{ public SizeViewHolder(@NonNull View itemView) { super(itemView); } }

2020-10-20 10:11:16 21

原创 封装android 线程切换

https://www.jianshu.com/p/31d0852c0760

2020-10-19 08:52:47 6

原创 java(Android)并发编程(wait notify synchronized)

1 : Obj.wait(),与Obj.notify() 和 synchronized 可以实现很好的线程同步模型框架** 2: Obj.wait(),与Obj.notify()必须要与synchronized(Obj)一起使用,也就是wait,与notify是针对已经获取了Obj锁进行操作,* 从语法角度来说就是Obj.wait(),Obj.notify必须在 synchronized(Obj){...}语句块内。* 从功能上来说wait就是说线程在获取对象锁后,主动释放对象锁...

2020-09-30 14:11:44 30

原创 android 网络下载

1 : 网络权限没申请导致,无法下载

2020-09-28 17:23:41 12

原创 java(Android)并发编程(BlockQueue)

* 1: 线程安全 阻塞队列 BlockQueue* 1-1 同一时刻,出队或者入队 只能有一个线程在操作,这样保证了 出对和 入队的线程安全性* 1-2 但是同一时刻,可以有 分别执行出队和人对的操作的两个线程在操作,* 但是为了保证 当前队列的元素个数,使用 AtomicInterger 来确保底层的队列是线程安全的** 2: 主线程和 子线程之间的交互问题,保证数据的及时性* 2-2 CountDownLatch* 2.

2020-09-28 14:14:44 13

原创 WebSocket封装

https://github.com/0xZhangKe/WebSocketDemo郭霖 (RxJava + Okhttp + WebSocket) 封装https://blog.csdn.net/u013872857/article/details/80947944 张可 (传统的方式)

2020-09-16 17:07:48 19

原创 鲁班图片压缩算法

1 : Handler + Runnable + Executor 实现类似 IntentService功能

2020-09-14 14:44:31 21

原创 Rxjava 2.x 源码解析

https://blog.csdn.net/gdutxiaoxu/article/details/80501816 框架基本分析

2020-09-12 10:34:26 7

原创 View绘制(绘制渐变圆环)

<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="360" > <shape an.

2020-09-08 14:52:51 23

原创 android基础(activity基础知识Dialog)

https://juejin.im/post/6867390363020361742Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? at android.view.ViewRootImpl.setView(ViewRootImpl.java:951) at

2020-09-06 20:56:29 11

原创 android基础之(内存泄露)

内存泄露: 本质 变量该回收,但是没有被回收,导致出现内存泄露情况,android中常见的情况如:比如多线程造成的内存泄漏,静态变量造成的内存泄漏,单例模式造成的内存泄漏等等.......当然这些不在本篇的范围内,就不过多分析啦。 1:分析 Handler造成的内存泄漏 解决这个问题思路就是使用静态内部类并继承Handler时(或者也可以单独存放成一个类文件)。因为静态的内部类不会持有外部类的引用,所以不会导致外部类实例的内存泄露。当你需要在静态内部类中调用外部的Activity时,我们可以使...

2020-09-03 09:16:05 57

原创 android基础知识 Activity

Activity1: Activity是支持显示UI的, 但不直接管理view树或者ViewRoot, Activity并没有与这两者产生直接的联系, 是通过中间 “Window”的对象来控制管理的。2: 生命周期:状态图 onCreate---onStart---onResume---onPause----onStop---onDestoryonResume -----ui处于可以和用户交互的状态,获取到焦点OnPause----- 失去焦点 (比如被...

2020-08-30 12:23:33 42

原创 android基础(Fragment使用)

https://blog.csdn.net/wuyuxing24/article/details/78698633

2020-08-30 11:51:29 39

原创 android开发必备(快速绘制矢量图)

https://blog.csdn.net/klxh2009/article/details/51121034

2020-08-29 12:29:10 32

原创 android 开发 必备 之 (GitHub 优秀开源框架)

https://blog.csdn.net/mazaiting/article/details/78129625

2020-08-29 10:50:51 41

原创 java基础特性(枚举使用)

枚举使用: 实现原理: 我们大概了解了枚举类型的定义与简单使用后,现在有必要来了解一下枚举类型的基本实现原理。实际上在使用关键字enum创建枚举类型并编译后,编译器会为我们生成一个相关的类,这个类继承了Java API中的java.lang.Enum类,也就是说通过关键字enum创建枚举类型在编译后事实上也是一个类类型而且该类继承自java.lang.Enum类。我们可以看看反编译的结果!结论:从反编译的代码可以看出编译器确实帮助我们生成了一个Day类而且该类继承自ja...

2020-08-27 12:17:30 23

原创 IntentService使用姿势

https://blog.csdn.net/qq_33748378/article/details/52330382https://blog.csdn.net/ryantang03/article/details/8146154https://blog.csdn.net/hudashi/article/details/7986130IntenteService使用姿势 1:

2020-08-25 15:04:32 41

原创 基于Http 协议 应该这样去设计 客户端和 服务端

https://blog.csdn.net/yanzhenjie1003/article/details/93098495

2020-08-24 16:31:27 17

原创 Okhttp使用 之: post请求类型 (详解 RequestBody FormBody MultipartBody)(图片上传)

https://blog.csdn.net/MSPinyin/article/details/6141638https://blog.csdn.net/songzi1228/article/details/104512247/1 :在post 请求中,由于请求需要携带参数,那么在post方式中的 Request 就需要传递一个 RequestBody 作为 post的参数,而RequestBody 是一个抽象类,他有两个子类 FormBody 和 MultipartBody2 : 先看 使...

2020-08-24 16:25:15 1027

原创 BRVAH官方使用指南之 增加上拉加载更多和 下拉刷新功能

RecylerView结合 BRAVH 以及googl原生的 SwipeRefreshLayout 实现RecylerView的 上拉加载更多和下拉刷新功能1 :上拉加载更多1-1 Adapter实现接口 : RecylerViewAdapter extends BaseQuickAdapter implements UpFetchModule,LoadMoreModule 1-2 设置loadMoreData 监听:adapterdemo.getLoadMoreModule...

2020-08-24 15:54:15 219

原创 BRVAH官方使用指南之 动态添加 加载中布局和加载失败布局

1 :本来可以通过 下面两行代码,给RecylerView动态添加 加载中和加载失败的布局,但是下面两行代码想要实现的功能,失效了,目前通过 contenView.add() 来动态添加 adapterdemo.setEmptyView(emptyView); adapterdemo.setEmptyView(R.layout.loading_view);2 : 代码如下:填坑之旅 2.1 布局中,RecylerView 不要通过比重适配,否则 在数据请求成功后,Recyl...

2020-08-21 10:55:08 54

原创 View绘制相关问题

The specified child already has a parent. You must call removeView() on the child's parent first.

2020-08-21 09:39:35 30

原创 Gson将 json转换成 javaBean

1 : Gson 将 jsonList转换成 List 通过下面的 函数转换 gson.fromJson(result.toString(), new TypeToken<List<LevelTypeInfo>>(){}.getType())String JsonList =[ { "codeType": "S", "description": "武汉" }, { "codeType": "C", "de...

2020-08-19 15:27:20 101

原创 WebSocket协议

https://www.zhihu.com/question/24938934https://blog.csdn.net/hfut_why/article/details/95330988websocket : 1:WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/Client Agent都能主动的向对方发送或接收数据,就像Socket一样;2: 服务器怎么讲消息推送给客户端服务端主动推送到客户端是怎么一个过程呢 应用服务器...

2020-08-19 11:11:58 24

原创 Retrofit2(二) 之 添加日志拦截器

背景用过retrofit的同学,肯定会很爽,因为用起来实在是方便。但是我之前在使用retrofit的时候,发现没法打印出网络请求日志,包括请求urll、返回内容等。要实现打印日志,就要用到HttpLoggingInterceptor这个类。下面给大家讲一下如何打印出这些内容。步骤: 依赖库 :compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:converter-gson:2.1....

2020-08-19 09:53:58 150

原创 Retrofit2 (一)

https://blog.csdn.net/m0_37796683/article/details/90702095

2020-08-19 08:54:00 25

原创 retrofit使用

https://blog.csdn.net/m0_37796683/article/details/90702095

2020-08-18 10:52:24 13

原创 Android DataBinding应用(一)

背景:最近项目中使用到了 DataBinding (Google 在 2015年开发者大会提出), 正好目前的项目中也有所涉及,现在来学习一下https://blog.csdn.net/qq_33689414/article/details/52205703https://blog.csdn.net/qq_33689414/article/details/52205718https://blog.csdn.net/qq_33689414/article/details/52205724htt

2020-08-17 18:04:41 35

原创 android基础之(动态权限申请)

https://blog.csdn.net/yushuangping/article/details/83758957背景: 1: android权限的申请,可以在清单文件声明和注册,也可以通过 java 文件动态的注册 2:在Android6.0之前只需在AndroidManifest.xml文件写明权限即可。但是在Android6.0之后也就是SDK>=23的时候,一些隐私权限需要动态申请,而且在用户同意授权之后App才能拥有该权限。虽然不难,但写下来代码工作量也不少,而且...

2020-08-17 11:28:52 101

原创 crash监控,崩溃分析之(腾讯Bugly 集成)

https://blog.csdn.net/u013007305/article/details/79668414

2020-08-17 11:08:50 68

原创 gradle 之 (api和implementation)区别

https://www.jianshu.com/p/8962d6ba936e一、从3.4版本的gradle开始,compile已经被api与implementation取代,官网也给出了三者之间的区别:从官网介绍可以看出,implementation可以让module在编译时隐藏自己使用的依赖,但是在运行时这个依赖对所有模块是可见的。而api与compile一样,无法隐藏自己使用的依赖。具体通过例子来看,下图为项目结构:就是说 :功能是一样的但是 api 已经被废弃,implementatio

2020-08-17 10:54:34 59

原创 打印机调试

https://www.jianshu.com/p/e2e57cddac6a1: 权限申请2: 获取所有USB设备http://www.linux-usb.org/usb.ids所有厂家USB 设备列表3:判断 哪一个usb 是打印机设备4:从所有打印机列表中过滤出 打印机usb , 然后发起打印机连接,最后通过串口打印文本或者二维码...

2020-08-14 15:35:39 40

原创 java之 Bitmap图片相关

1 :Bitmap 编码,以及占用的内存大小2:从网络上下载一个图片,一般流程,以及图片编码,比如从字节数组----》字符串----》字符串到字节数组3:图片的存储以及在页面传递常用的手段4:图片额缓存...

2020-08-10 10:43:17 52

原创 javaSe之 泛型

参考 https://blog.csdn.net/qq_44543508/article/details/102175114

2020-08-09 20:35:34 38

原创 javaSe之toString函数

参考 https://blog.csdn.net/qq_44543508/article/details/101212257https://blog.csdn.net/holandstone/article/details/23253157?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distrib...

2020-08-09 20:27:24 27

原创 字符串大小原理

参考 https://blog.csdn.net/u013380694/article/details/1027396361: 实际应用 日志打印-----》先定义一个字符串,等这个字符串大小达到多少KB时,才将缓存的日志刷新到 文件中 网络接口返回的字节数----》转化成String对象的时候,是否会超出 String存储字符串的大小...

2020-08-09 19:44:04 34

原创 java基础(转义符)

一.常见的转义字符转移字符对应的英文是escape character , 转义字符串(Escape Sequence)字母前面加上捺斜线"\"来表示常见的那些不能显示的ASCII字符.称为转义字符.如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。2: 手写 java 中 String jsonString...

2020-08-09 18:29:21 43

原创 项目引入阿里巴巴fastJson

以前都是直接通过maven 仓引入 需要使用的jar 包,那么我们现在需要本地引入该怎么实现了??1: 先在百度搜索 : 从github上阿里 fastJson包 2: 点击下载 jar包 (注意maven是中央仓,可以在配置文件中配置自动下载)3: 在项目中找到 product structer4 : 引入5 : 在项目中看一下是否引入了5: 如果编译出错,找不到 jar 可以这样试试Error:(3, 28) java: 程序包com.al...

2020-08-09 12:12:47 426

原创 Android串口通信之概念介绍

https://blog.csdn.net/u010312949/category_7640395.html 参考

2020-08-07 14:37:48 63

原创 gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系

1 :转载 https://www.jianshu.com/p/df8d7b872487一句话 Gradle Plugin Version: Gradle 插件版本 ----》就是对应工程中 classpath 'com.android.tools.build:gradle:3.2.1' (tools gradle 插件版本) Gradle Version: Gradle发行版本 -----》对应 gradle 版本号 () distributionUrl=ht...

2020-08-07 11:23:11 1218

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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