自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MichaelX的专栏

求索技术之道,追寻代码之美

  • 博客(91)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 Design Patterns in Android:目录纲要

《Design Patterns in Android》(设计模式Android篇),旨在总结自己作为一名Android开发者,在摸索设计模式的过程中爬过的坑,因为很多设计模式的博文,书籍都是针对Java场景的,为了帮助一些Android开发者更贴切的理解和应用设计模式,博文将描述在Android源码中存在的设计模式,以及Android开发实践中如何应用设计模式

2017-01-16 21:15:43 2582

翻译 【Android Studio】Markdown插件预览不生效

解决Android Studio无法预览Markdown文档

2022-07-12 16:11:53 1117

转载 Kotlin笔记:with/let/run/apply/also区别

Kotlin中with let run apply also函数使用和区别

2022-04-11 17:01:55 331

原创 Android笔记:TabLayout去除文字点击选中背景色

Android开发去除TabLayout的默认点按背景色

2022-03-22 19:20:21 4245 1

原创 【Linux笔记】AlmaLinux安装screen详细踩坑教程

如何在AlmaLinux上安装screenscreen介绍screen用法简介AlmaLinux安装screen遇到的问题问题1:screen包不存在解决办法:使用源码安装问题2:没有c编译器套件解决办法:安装gcc或者其他C语言编译器问题3:tgetent依赖报错解决:安装ncurses-devel后记:吐槽screen介绍screen像是一个对话容器,方便远程登录后随时进入上次操作对话。举个例子:以CentOS中安装程序为例,程序下载、编译都需要比较长的时间,如果中途遇到网络断开或者SSH软件被关闭

2022-02-14 19:15:48 2133 2

转载 【电脑问题】:解决 MacBook Touch Bar esc 图标消失不见的问题

Macbook touchbar图标消失问题解决笔记

2022-01-25 15:49:59 2524

原创 Android OpenGL ES:展示一张2d图片

前言本文的环境和条件:GLSurfaceView + OpenGL ES 2.0代码结构Activity视图使用GLSurfaceView;GLSurfaceView使用自定义GLSurfaceView.Render实现,(GLSurfaceView.setRender());在Render实现图片纹理化和渲染。代码Show the code自定义的GLSurfaceView.Renderer实现。public class BitmapRender implements GLSurfa

2022-01-07 10:39:20 4926 1

原创 Android踩坑小记:ndk版本与Android Gradle Plugin版本兼容

背景有一个项目需要由support迁移至AndroidX,使用Android Studio的Refactor-Migrate to AndroidX。提示需要升级AGP和Gradle版本。于是AGP就升级到了3.5.4,Gradle就升级到了5.6.2。由于项目陈旧,其中有一个moudle模块需要编译so,兼容版本是14(APP_PLATFORM := android-14),项目cpp和mk都还是旧的语法。本来没升级之前jenkins打包是没问题的,设置了ANDROID_NDK_HOME为14的版本目录

2021-12-15 11:35:07 4665

原创 Android踩坑小记:在onResume中申请权限

这里写自定义目录标题背景:不停弹出的Toast定位过程根本原因(转自下面相关链接)后续优化相关链接背景:不停弹出的Toast我们在某个页面的onResume中进行了权限的判断和申请,在权限拒绝的回调onRequestPermissionsResult中添加了一个Toast提示权限获取失败。结果发现权限被拒绝并且“拒绝后不再提示”,Toast不停弹出。同时页面的点击事件失效。定位过程log显示页面的onPause/onResume和onRequestPermissionsResult不停回调。排查on

2021-11-30 16:58:54 2548

原创 Android Parcelable反序列化报错笔记:java.lang.RuntimeException: Unmarshalling unknown type code at offset

Parcelable反序列化报错事件背景代码示意报错原理解决办法事件背景有个实体类,利用Parcelable序列化保存在了本地,在新版本上新增了一个字段后,反序列化取数据时,报错如下:java.lang.RuntimeException: Parcel android.os.Parcel: Unmarshallingunknown type code xx at offset xx代码示意// 旧版本数据结构public class ParcelableObject implements

2021-09-01 14:23:14 2570

原创 Android笔记:OpenGL ES与EGL的关系与实例

简介OpenGL 是跨平台的、专业的图形编程接口,而接口的实现是由厂商来完成的。OpenGL使用这些接口绘制完成后,需要把数据渲染到屏幕上,就需要EGL来接手这部分工作。EGL:全称Embedded Graphic Interface。是 OpenGL ES 和底层 Native 平台 视窗系统之间的接口,如下图所示。EGL介绍EGL接口中含有3个对象,如下图所示:其中:Display(EGLDisplay) 是对实际显示设备的抽象,也就是屏幕Surface(EGLSurface

2021-03-18 16:30:36 697

原创 git使用小记:利用git bisec二分法查找定位bug问题

利用git bisec二分法查找定位bug问题前言操作步骤实操总结前言如果出现bug,很容易想到的是回滚git记录查找bug出现的提交,通常可以手动回滚记录进行定位,找到引入bug的提交进行修复。git提供了一种二分查找的方式帮助开发者快速定位bug引入的提交。很久没用做个记录。操作步骤开始git二分定位标记包含bug提交标记上一个不含bug的提交运行验证进行标记重复2~5步定位bug git提交结束git二分查找修复bug实操步骤1:开始二分查找$ git bisec s

2020-09-18 17:57:20 1060

原创 CPP小记:CLion for Mac报错Ignoring CMAKE_OSX_SYSROOT value,XCode not exist

目录背景原因解决办法报错解决办法一安装XCode方法1安装XCode方法2报错解决办法二结束背景在使用CLion中温习C++的过程中,发现了一个报错:CMake Warning at /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.15/Modules/Platform/Darwin-Initialize.cmake: (message):Ignoring CMAKE_OSX_SYSROOT value:/Applicat

2020-08-07 09:54:58 2445 1

原创 小米4开启太极·阳

机型小米4有很多版本,手中手机后面的入网许可证写着的是TD-LTE,系统设置中的名称为:MI4LTE刷入开发版Rom小米4 miui官网rom地址:小米4 小米4-电信3G版/移动版/联通版小米4 miui rom官方下载地址:miui_MI3WMI4W_8.9.13_8001b58f3b_6.0.zip按照官方刷机教程刷入开发版rom,刷入前记得双清。获取root权限刷完rom后,打开安全中心-应用管理-权限管理-root权限开启刷入第三方recovery...

2020-07-08 17:43:18 1989

转载 Android笔记:AlbumSaver图片视频保存工具类

背景Android中,有时需要操作生成一些图片或者视频,但不是你生成保存了就可以的,如何让生成的图片或者视频文件让其他app应用检索到,也是需要考虑的一个问题,下面这段代码是摘自某sdk demo的源码,刷新媒体数据库的方式让其他app可以方便的读取到港生成的图片或者视频文件,兼容各个Android版本。代码块AlbumSaverimport android.content.ContentResolver;import android.content.ContentValues;import an

2020-07-06 17:58:08 514 3

原创 Linux使用小记:命令行打开/禁用触摸板鼠标

Linux手残笔记手残笔记两种方式感谢链接手残笔记由于手残,在LiteOS/Linux提供的GUI面板中将触摸板鼠标禁用了,导致无法使用触摸板和鼠标,只能用键盘操作,幸好能打开终端工具,得以复原设置。纯键盘打开终端应用:win键/command键(打开左下角菜单),自动弹出搜索框, 搜索Terminal(你自己的终端名字),回车即可使用终端方式二:Ubuntu快捷键,Ctrl+Alt+t两种方式命令行打开/禁用触摸板鼠标的有两种方式modprobe# 关闭触摸板sudo modpr

2020-07-01 10:44:44 1766

转载 在IDEA/Android Studio中调试Gradle Plugin插件

本文转载自:milovetingting《在Android Studio中调试Gradle插件》http://www.milovetingting.cn/2020/02/25/Android/%E5%9C%A8Android%20Studio%E4%B8%AD%E8%B0%83%E8%AF%95Gradle%E6%8F%92%E4%BB%B6前言在开发Gradle插件时,经常会需要通过调试来排查问题,如果只使用日志输出来定位的话,效率不高,可以通过单步调试来定位问题。关于调试插件的资料,网上比较多,最终

2020-05-13 09:51:45 1717

原创 AndroidNetworkWatcher:简化网络监听业务代码

前言Android开发中经常遇到需要监听网络变化的场景,比如播放,比如访问网络时进行断网提示,于是有了今天的AndroidNetworkWatcher。项目地址AndroidNetworkWatcher:https://github.com/xiong-it/AndroidNetworkWatcher技术原理主要是将网络变化监听广播进行了封装,同时定义运行时注解,在网络变化时调用业务层代...

2019-10-17 16:53:26 341

原创 Android开发脚手架:扩展定制EasyShare进行社会化分享

EasyShare一个Android社会化分享脚手架,集成微信,qq,微博分享。作用利用抽象工厂,工厂方法,桥接模式搭配Java泛型封装的一个简单易扩展的分享组件,无法代替ShareSDK等商业化SDK使用,仅供开发交流探讨,不建议线上项目直接使用,可供开发者参考扩展。架构IShareContent:分享的内容接口定义,具有share行为,通过桥接模式将share行为交给IShare...

2019-04-18 18:13:32 1091

原创 Android OpenGL学习:最小系统绘制

文章目录最小系统目标整体流程编写着色器脚本定义三角形定义渲染器应用渲染器OpenGL管道概述(题外)最小系统目标利用OpenGL对应api在屏幕上绘制一个平面三角形。整体流程编写着色器脚本定义三角形定义渲染器应用渲染器编写着色器脚本vertex_shader.glsl 顶点着色器attribute vec4 vPosition;void main(){ gl_Po...

2019-03-14 16:47:36 618

原创 Android小记:自定义Button导致RecyclerView列表监听onScroll回调异常

onScroll回调一直被重复回调,导致程序运行异常原因排查解决

2018-10-12 11:01:48 449

原创 Android开发笔记:RecyclerView.addView()导致NullPointerException

背景最近想实现一个控件漂浮在Item上的效果,需要随着List滑动改变漂浮控件的位置。效果如下图:最开始的2种方案利用Window.addView(),滑动时updatePosition利用RecyclerView.addView(),滑动时改变漂浮控件floatView的layoutParams.margin第一种,利用Window更新位置稍微复杂点,放弃。第二种,Recycl...

2018-09-27 17:55:05 3101

原创 Android笔记:控件坐标一张图全解

注:图中蓝色小圆点代表的触摸事件View.getLeft()/Top/Right/Bottom:控件相对于父布局左上角的距离 Event.getRawX()/RawY:触摸点相对于屏幕左上角的坐标 Event.getX()/Y:触摸点相对于自身左上角的坐标...

2018-07-11 11:04:59 432

原创 Design Patterns in Android:装饰模式

前言装饰模式是干嘛的呢?它在项目中有哪些用途呢?装饰模式在Android源码中有哪些应用呢?本文将和读者朋友一起分享探讨装饰者模式在Android中的应用和实践。本文原创作者MichaelX。 CSDN博客:https://blog.csdn.net/xiong_it 掘金主页:https://juejin.im/user/56efe6461ea493005565dafd 知乎专栏:...

2018-06-13 14:12:52 571

原创 Android笔记:热修复,插件化开发,增量更新一览

热修复:用于bug线上修复,无需发布新版本,无需用户覆盖安装 插件化:扩展主应用程序,zip,jar,dex,apk(无需安装)几种形式 增量更新:用户下载新旧版本apk的差分包,合并本地data下的apk用以升级,关键词:bsdiff,合并

2018-05-18 16:21:44 500

原创 Design Patterns in Android:责任链模式

前言非常抱歉,本系列博客长达半年没更新了,今日偶得灵感,更新一波《设计模式Android篇:责任链模式》。点击此处查看《Design Patterns in Android》系列其他文章。 本文原创作者MichaelX。 CSDN博客:http://blog.csdn.net/xiong_it 掘金主页:https://juejin.im/user/56efe6461ea4...

2018-05-14 17:55:55 402

原创 Hexo遇上Travis-CI:可能是最通俗易懂的自动发布博客图文教程

今天笔者就来介绍下利用[travis-ci]这个持续集成平台简化发布流程.

2017-11-30 14:29:22 2992

原创 Android:使用LoadingLayout来展示加载数据时不同状态

LoadingLayout是应用于Android中的一个加载数据不同状态的类库(自定义控件)

2017-11-21 13:16:10 1717

原创 Android开发:RecyclerView平滑流畅的滑动到指定位置

RecyclerView.smoothScrollToPosition(int);发现效果并不理想,滑动过程很突兀,很快就滑动到了指定位置,并没有像函数名那样smooth,本文将分享如何使得RecyclerView平滑流畅的滑动到指定位置。

2017-10-17 20:11:02 14963 1

原创 Android开发小记:编译ijkplayer以支持更多视频格式

今天分享下自己动手编译ijkplayer以支持avi,mpeg/mpg等更多格式视频。

2017-09-22 21:11:19 6814 2

原创 Android开发小记:命名空间错误导致自定义属性不生效

最近在使用自定义控件的时候发现预览有效果,可是运行起来就不展示,最后才发现自己的布局中的命名空间有问题,导致了控件不展示

2017-09-12 17:49:47 3012

原创 玩机:解决小米手机锁屏忘记密码无法解锁

本文分享了如何在忘记密码的情况下解锁小米5手机,理论上适用于小米5后的更新机器。

2017-07-06 18:12:24 14882 1

原创 Design Patterns in Android:工厂方法模式

今天给大家分享的是《设计模式Android篇:工厂方法模式》。 工厂方法是创建型模式的一种,可用来在适当的场合创建对象。今天将通过Android源码和Android开发案例跟大家讲解什么是工厂方法模式。

2017-06-28 11:57:01 765

原创 Android开发:使用AutoInputAuthCode快速实现自动填写验证码

AutoInputAuthCode是一个帮助Android开发者快速实现自动填写验证码的类库

2017-05-09 13:47:59 4147

原创 [Github使用简明教程]如何提交代码到Github

可能很多人听过Github,也上过Github,甚至从Github获取过许多开源的代码,但是如果要将项目代码上传到Github上时却束手无策

2017-04-01 15:08:25 9538

原创 Android开发:使用EasyPay打造全能移动支付框架

EasyPay是一个开源的聚合支付可定制化框架,目前已集成微信APP支付,支付宝APP支付SDK。银联支付(开发中)。Android开发者只需要简单调用EasyPay的几行代码,即可调起支付客户端,完成支付流程,得到支付结果。EasyPay宗旨:简单,易用,可扩展。

2017-03-22 15:05:18 8305 9

翻译 Android Studio导入AOSP源码阅读

将AOSP导入Android Studio阅读学习

2017-03-15 20:10:34 6574 3

原创 Ubuntu 14.04编译AOSP for Nexus/Pixel

虽说几年前博主在一家公司做机顶盒的时候总是需要编译Android源码,但是那时还没有手中的爱机:Nexus 6,又名shamu。今天我要为它刷入一个自己编译的Rom。拿起键盘就是干。

2017-03-12 22:06:36 6773 4

原创 Android:BLE智能硬件开发详解

前些年,智能硬件炒的挺火的,那今天,咱就来说说智能硬件那些事。BLE是智能硬件的一种通讯方式,通过BLE连接,iOS & Android手机和智能硬件就可以进行自定义的交互了

2017-03-09 20:14:04 8052 10

原创 Android开发:视频播放横竖屏切换回忆笔记

前言话说这个功能还是两年多前做的,当时博客草稿箱留了这篇博客标题,已经很久了,但是到现在,依旧没有在网上看到一些相关的博客介绍,可能是太简单了?今整理博客,在这将自己的回忆记录成此,如有纰漏,还望斧正。

2017-03-07 21:32:47 3398 3

Android NDK百度网盘下载地址

ndk网盘下载,方便不能科学上网的同学下载。包含Windows和Mac版本。版本号r14-r20,全部下载搬运自谷歌Android官网。下载后是一个文本文件,用文本编辑器打开即可看到网盘下载地址。

2021-12-16

支付宝Android SDK.jar

用于Android app接入支付宝支付的官方jar包

2016-07-04

Android:微信登录,微信分享demo 源码

使用微信进行第三方登录,微信登录,微信分享,朋友圈分享的demo,了解详情,请进入:http://blog.csdn.net/xiong_it/article/details/48317527

2015-09-11

adb_tool_windows.zip

压缩包包括adb.exe ,AdbWinApi.dll ,AdbWinUsbApi.dll三个文件,用于Android Debug Bridge调试用,详细用途请查看:http://blog.csdn.net/xiong_it/article/details/47278461

2015-08-05

Android:LocationManager定位demo

这是利用LocationManager定位demo,详细介绍请查看:http://blog.csdn.net/xiong_it/article/details/46968477

2015-07-20

Android:LocationManager定位demo

这是一个利用LocationManager定位的实例demo,可获取经纬度,国家名称,城市名称,街道等信息。详细介绍请移步:http://blog.csdn.net/xiong_it/article/details/46968477

2015-07-20

Android TVBox遥控器组合快捷键Demo

这是一个在Android TVBox智能盒子开发中使用遥控器组合键来进行某项快捷操作的用例Demo;详情解析请点击:http://blog.csdn.net/xiong_it/article/details/44220825

2015-03-12

Android的DownloadManager下载完成广播接收者

这个广播接收者主要工作是把DownloadManager下载的文件拷贝到U盘中以解决在TVBox开发过程中想要直接把文件下载到U盘时产生的java.lang.SecurityException异常。没分的朋友可以直接前往:http://blog.csdn.net/xiong_it/article/details/42247219查看。

2015-02-01

android意图行为选择器实现分享功能

没有注册社交平台的开发者想实现分享功能,这时该怎么办?这个Demo能解决你的问题。详细介绍原文:http://blog.csdn.net/xiong_it/article/details/43308283

2015-01-30

软件版本号获取工具

这是一个可以获取Android软件版本,系统版本的工具类。详细介绍,请移步:http://blog.csdn.net/xiong_it/article/details/43227939

2015-01-28

JDK1.7官方版下载(直接在资源描述处链接下载即可)

这是Java,Android开发人员必不可少的JDK1.7版,非JRE。下载链接:http://pan.baidu.com/s/1hqmYGMK 安装后可解决新版ADT报错问题,原文链接:http://blog.csdn.net/xiong_it/article/details/43051575

2015-01-23

TestCamera.rar

Android调用系统相机拍照的Demo,同时解决了因相片太大而造成的OOM内存溢出问题。 不想下载的可以直接查看文章:http://blog.csdn.net/xiong_it/article/details/42643835

2015-01-12

adroid.content.pm.zip

资源包里面包含IPackageStatsObserver.aidl,PackageStats.aidl,在获取程序包信息(get package info,cache size)时可能需要用到。解压后复制粘贴在工程src根目录下面,否则可能报错

2015-01-12

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

TA关注的人

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