自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 Kali2022.3虚拟机编译AOSP(从Kali安装到完成Aosp编译详细记录)

Kali虚拟机编译AOSP

2023-09-10 08:34:07 1493

原创 Rxjava框架学习总结

本文选取了Single的使用来分析了Rxjava的核心原理,同时在最后使用了Rxjava3和Retrofit2封装成网络模块,提供了简易的Api提供给外界使用(新项目中网络部分使用的是协程对Jetpack的支持库结合Retrofit以及Flow来进行封装的,这部分知识会逐步在上方项目中进行实现)。

2023-07-17 10:57:34 266

原创 图片框架Glide学习总结及插件实现

本文针对仅对Glide的部分知识做了一下总结,运用了单例,构建者设计模式对Glide图片加载框架的封装并生成插件(后续会逐步的完善)。该插件的优点:对于使用者而言不需要关注底层具体使用的是哪一种加载框架,若需要替换加载框架,只需要替换GlideManager和GlideUtil即可。该插件的封装方式虽然使用的是Kotlin语言,但同样适用与Java语言。若使用Kotlin,我们可以使用DSL的方式(下方的项目中有示例)或者拓展函数的方式来封装Glide。项目地址。

2023-07-06 10:01:38 844

原创 自定义RecyclerView.LayoutManager实现类实现卡片层叠布局的列表效果

核心在于两点,其一:自定义RecyclerView.LayoutManager实现类,重写onLayoutChildren方法,对子item进行“绘制”;其二:自定义ItemTouchHelper.Callback实现类,重写onChildDraw和onSwiped方法;快速实现只需要按照前言中的方式进行配置即可,若想要了解细节,可以看插件代码中的注释(写的还是比较详细);

2023-04-23 23:11:38 1252 2

原创 RecycleView与TabLayout联动展示更多功能列表页面的实现

TabLayout和RecycleView的联动关键在于两个监听的设置,同时将上方提及的几个细节注意一下即可;

2023-04-23 21:05:33 1224

原创 车载开发之AOSP环境搭建

车载开发置AOSP环境搭建

2023-04-01 11:28:43 376

原创 Android与Flutter模块通信实现

Android与Flutter通信

2023-03-12 17:51:11 377 1

原创 Android Studio gradle:7.x环境下依赖库的创建

Android创建依赖库

2022-09-27 15:30:15 1568

原创 Mvi架构浅析

快速了解Mvi在项目中的使用

2022-08-04 21:08:18 1446

原创 Mvc、Mvp和Mvvm

Mvc、Mvp和Mvvm快速选型

2022-08-03 18:45:32 633

原创 NDK报错问题分析方案(一)

DNK报错问题排查(一)

2022-07-31 19:15:02 986

原创 Ffmpeg交叉编译

Ffmpeg交叉编译

2022-07-28 21:41:57 1674

原创 Manifest merger failed with multiple errors, see logs

运行项目报错(这是一个比较常见的问题,还是记录一下):Manifest merger failed with multiple errors, see logs解决方案,(控制台)执行命令: gradlew processDebugManifest -stacktrace日志信息如下:> Task :app:processDebugManifest FAILED/xxx/AndroidManifest.xml:32:5-66 Warning: Element.

2020-09-07 19:11:32 240

原创 AAPT: error: attribute android:requestLegacyExternalStorage not found

报错(如下):xxx/AndroidManifest.xml:30:5-482:19: AAPT: error: attribute android:requestLegacyExternalStorage not found.处理方案:You need to update your Android SDK build tools to 29-您需要将Android SDK构建工具更新到29备注:是否还有其它解决方案,暂时还不清楚。暂时做一个笔记,后续有精力再探索产生该问题的原因。...

2020-07-22 17:00:47 17803 4

原创 AAPT: error: duplicate value for resource ‘attr/xxx‘ with config ‘‘, file failed to compile.

bug出现场景:迁移一个老项目新IDE(AS 3.6.3),经过修改一些配置,项目编译通过,运行的时候出现如果错误。/用户名路径/.gradle/caches/transforms-2/files-2.1/fe76808470c2aae890b80fb0fe4dd9b3/design-23.4.0/res/values/values.xml:19:5-827: AAPT: error: duplicate value for resource ‘attr/layout_anchorGravity..

2020-07-13 13:03:48 13307 2

原创 It is not allowed to subscribe with a(n) xxx multiple times.Please create a fresh instance of xxx

记录一个关于rxjava的报错问题,原因(可能是原因之一):subscribe方法使用时,将Observer对象非正常的使用了多次。一、报错信息如下二、关键信息It is not allowed to subscribe with a(n) xxx.QuestionActivity$1 multiple times.Please create a fresh instance of xxx.QuestionActivity$1 and subscribe that to the target.

2020-06-16 13:04:39 726

原创 工具使用-Linux(kubuntu)系统GitBook环境搭建

工具使用-Linux(kubuntu)系统GitBook环境搭建一.前言在本次安装gitbook之前,已经装过3次,分别是kubuntu系统(有一两年,忘记了)和manjaro(一路顺风)系统,这一次在kubuntu安装并不顺利,于是决定进坑的姿势记录一下,为下次搭建环境节省时间。文章记录顺序的是整个安装过程遇到的问题,以及如何查询资料,到最终环境搭建完成。二.安装过程1.gi...

2020-05-06 19:22:53 383

原创 Linux常用命令(值得收集)

Linux命令简介黑马视频学习笔记,去年在语雀上做的笔记-2019-04-04-Linux命令简介,在此汇总一下。一.学习Linux命令的原因Linux刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作/文件存取/目录操作/进程管理/文件权限 设定等;服务器维护的工作是远程通过SSH客户端来完成的,并没有图形界面.所有的维护工作都需要通过命令来完成;自己作为androi...

2020-05-06 10:46:44 593

原创 linux之kubuntu挂载硬盘

(可以直接看下一行…)时间是很宝贵的一个东西,尽量以简结的方式将问题的处理方案描述清楚;一.问题安装linux(kubuntu)系统的时候,采用的是手动分区的方式,只处理了一个硬盘(因为会涉及到硬盘的格式化),其它硬盘就需要做挂载处理;二.开始处理1.第一步使用命令,sudo blkid,输入密码后,控制台信息如下:jack@jack-coding:~$ sudo blki...

2020-05-01 15:01:28 545

原创 IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but

前言使用Room出现的报错,不同场景报错原因可能不同,报错如下:Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version n...

2020-03-31 21:13:38 10777 1

转载 【intellij idea】Project Structure 讲解

 项目的左侧面板 项目设置->Project  Project Settings -> ModulesSources面板 Paths面板dependencies面板   Project Settings - > Libraries &nbs...

2019-09-22 05:36:37 502 1

转载 解决ubuntu安装软件has install-snap change in progress错误

今天在ubuntu软件商店安装idea报错:cannot install "intellij-idea-community": snap "intellij-idea-community"       has "install-snap" chang...

2019-09-22 05:02:23 2341

转载 Ubuntu 18.04.2系统 --- 搭建Flutter开发环境

说明:本文章为转载,作者写的非常全面。总结一下注意shixiang,补充:由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://sto...

2019-09-15 13:18:41 883

原创 Android布局之ConstraintLayout

一.简介1、ConstraintLayout是一个ViewGroup,它允许您以灵活的方式定位和调整小部件的大小。可以在从API 9开始的Android系统上使用;2、Android Studio 2.2中主要的新增功能之一;3、更方便的使用可视化的方式来编写界面(传统的方式是使用XML代码来编写界面,可视化操作的背后仍是靠编写XML代码来完成的);4、优点:可以有效地解决布局嵌套过多的问题(减少...

2019-08-21 20:25:50 725

原创 Android项目通过scheme在WebView中打开应用

需求:在A应用的一个Activity中包含了WebView,WebView加载的是第三方的应用的数据,想要在该WebView页面打开第三方应用B,即在WebView通过点击事件或者链接打开第三方应用B。1.scheme协议定义和用途及需求的实现思路1.Android中的scheme是一种页面内跳转协议,是一种非常好的实现机制;2.通过定义自己的scheme协议,可以非常方便的跳转app...

2019-08-19 20:53:33 2767 1

转载 什么情况下用+运算符进行字符串连接比调用StringBuilder对象的append方法连接字符串性能更好?

经常在网上看到或者在周围听到有人说字符串拼接不要直接用 String 相加, StringBuilder 的效率要比 S...

2019-08-15 10:16:48 433

转载 Android API Level对应Android版本一览表

API Level最初Android版本Linux内核版本首次发布日期后续Android版本2910Unknown2019-06-05(Beta 4)-2894.4.107, 4.9.84, and 4.14.422018-08-06无278.14.102017-12-05无268.04.102017-08-21无25...

2019-07-30 10:58:03 8859

原创 Cannot figure out how to save this field into database. You can consider adding a type converter for

一.场景:使用Room框架,报错,Cannot figure out how to save this field into database. You can consider adding a type converter for it。在ClassMomentInfo类中包含了两个成员变量,mMediaBeans和mClazzs,运行时候提示以上错误。错误代码如下:@Entity(ta...

2019-07-18 18:21:49 8532 6

原创 checkPermissions Missing write access to /usr/local/lib

linux配置rn环境,执行命令:npm install -g yarn react-native-cl,提示报错。解决办法:增加sudo,即使用命令,sudo npm install -g yarn react-native-cl即可。

2019-07-11 21:21:26 516

原创 Android Room错误: room Entity class must be annotated with @Entity

使用Room过程中报错:room Entity class must be annotated with @Entity,不同情况可能会不同,仅记录一下自己碰到该错误产生的原因。//@Database(entities = {CurrentTeacherInfo.class,TeacherLogDao.class}, version = 1) //使用该行代码,就会产生上面的错误。@...

2019-07-10 18:30:03 4877 4

转载 android 优秀框架整理

Git篇1. Retrofit  一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言上榜理由:Retrofit以21.8k的stars量雄踞github中android子标题榜首,第一当之无愧。官网地址 http://square.github.io/retrofit/github https://github.com/s...

2019-07-06 09:42:21 705

转载 jadx反编译—下载和使用(傻瓜教程,非常详细)

原文地址 一、在GitHub上直接下载https://github.com/skylot/jadx 可以下这个版本: 二、运行图形化界面1、将zip文件解压后定位到在lib文件夹中,在此处打开命令行 2、运行jadx-gui-0.7.1.jar(...

2019-05-29 14:28:09 8592

转载 Android SDk Manager里面到底哪些东西是必须下载的?

知乎-Android SDk Manager里面到底哪些东西是必须下载的?

2019-05-18 18:35:29 1330

原创 源码查看神器 Source Insight 4.0 最简单的破解安装

https://blog.csdn.net/biubiuibiu/article/details/78044232

2019-05-18 17:59:32 724

原创 快速创建Linux应用启动图标

> 前言:在linux系统上,解压安装了新的应用,启动时需要在安装的目录下去启动应用,如何像windows系统一样直接启动桌面的应用图标启动应用呢?那就需要在linux系统上创建桌面图标,一共分为4个步骤(若安装顺利的话,第5点选择性看,本人linux发行版是Kubuntu).1.创建以desktop结尾的文件这一步比较简单,新建一个txt文件,将文件名改为以desktop结尾,如自己...

2019-05-10 11:50:07 1123

转载 android studio debug 断点调试

Android Studio调试其实也非常方便,一般问题直接通过AS的DDMS的Logcat就可以搞定。AS支持类似Eclipse的DDMS的所有功能。这里要说的是疑难问题的调试方式,即断点调试。首先先编译好要调试的程序。 如上图2所示在行号处点击设置断点。然后如1所示点击开启调试会话。如上图所示,IDE下方出现Debug视图,1指向的是现在调试程序停留的代码行,2区域是程序...

2019-05-07 15:24:45 574

原创 Android studio 3.1.2 so库生成

一.前言1.开发环境,windows 系统,Android Studio 3.1.22.Ndk下载(不需要翻墙,ndk环境配置自行百度)3.本篇文章适合,首次接触jni方面的童靴,大佬请绕道;二.创建demo,生成so文件1.1.创建JniSoTest工程新建一个Android Studio工程(同创建其它工程一样)JniSoTest,新建一个JniSo.java文件。//Jni...

2019-05-07 00:08:08 312

原创 Unable to create call adapter for class io.reactivex.Observable

前言:项目重构,使用rxjava2+retrofit2等搭建网络部分,测试时报错:Unable to create call adapter for class io.reactivex.Observable.然后就是百度1小时,网上更多的情况跟retrofit2-rxjava2-adapter相关,但是我的不是啊,1个小时都没有找到答案,作为一只老鸟,自然不服气,决定自己思考,然后花了20分钟...

2019-05-06 17:59:55 3931

转载 Android Room 官方指南

官方文档翻译简介导入库使用Room保存本地数据到数据库中使用Room实体定义数据使用主键注解声明与唯一性定义对象之间的关系创建嵌套对象使用Room DAOs访问数据定义查询方法插入更新删除信息查询简单查询将参数传递到查询中返回列的子集传递参数集合可观察的查询RXJava的响应式查询直接Cursor访问多...

2019-04-23 11:25:36 1470

原创 Android Studio 使用adb命令配置手机无线调试

步骤:前提是先配置adb命令;查看手机IP地址(不同手机入口不同),如:设置–>关于手机–>状态消息–>IP地址,即可查看;用USB连接电脑,控制台输入命令 adb devices,若提示adb: unknown command device,表示没有配置;输入命令adb tcpip + “端口号” 端口号可是随意指定,只要没被占用就可以,一般我们使用5555;断开...

2019-04-12 10:47:24 583

rv与tablayout联动文章需要用到的gif资源-rv01

rv与tablayout联动文章需要用到的gif资源-rv01

2023-04-23

rv与tablayout联动文章需要用到的gif资源-rv02

rv与tablayout联动文章需要用到的gif资源-rv02

2023-04-23

手写组件化框架路由跳转功能

使用Apt、Javassist、ASM技术分别实现组件化路由跳转功能

2022-10-31

Ffmpeg交叉编译脚本文件

Ffmpeg交叉编译脚本文件

2022-07-28

空空如也

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

TA关注的人

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