![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 83
辉涛
活着就是为了做许多有意义的事。
展开
-
RTMP摄像头直播-CameraX数据采集处理
在很久以前一直想转音视频方向,一直没有机会,毕竟想跨入这个方向,确实有一些难度。虽然现在项目中也有音视频相关的东西,无奈都不是我负责。人生嘛总会遇到容易的事情和困难的事情,如果总是逃避困难的事情,想想也没有什么意义,当然适当强迫一下自己,或许会收到不一样的结果。在学习的过程中,学会总结和输出真的太重要了,如果别人看到后有收获,当然是值得开心的了,更多的是自己在总结和输出的时候,往往有更多的收获和对某个知识的理解。//图像格式 int format = image . getFormat();...原创 2022-08-18 00:31:01 · 725 阅读 · 1 评论 -
自定义plugin+includeBuild构建项目实战
build.gradle我们一定再熟悉不过了,不同module中的依赖版本统一尤为重要,通常我们都会新建一个config.gradle的文件,如下所示:ext { android = [ compileSdkVersion : 29, buildToolsVersion : "30.0.2", applicationId : "com.xionggouba.bearseller",原创 2021-05-23 16:30:11 · 3535 阅读 · 0 评论 -
Android连接蓝牙打印机
前言在之前写过一篇文章Android操作蓝牙打印机(上),当时也是因为自己在工作中确实走了许多弯路,所以计划着用两篇文章详细阐述蓝牙打印的整个流程,后来由于接近年底,任务比较多,所以就暂且搁置了。再后来发现当时的设计仍有许多不足,最头疼的就是与业务代码参杂在一起,不够解耦。由于上一篇文章描述了当时自己在工作中的经历与思考,所以有好几个同学私信我,能不能发一份代码参考一下,介于种种原因,于是决定将蓝牙部分抽离出来,与业务代码分离,做成了lib形式。git仓库https://github.com/zhuh原创 2021-05-18 21:32:09 · 5393 阅读 · 4 评论 -
手写一个队列容器
最近在处理订单业务中,需要一个队列容器,最开始想使用java提供的Stack,发现很不容易拓展,比如Activity间传递数据或者Activity和Service数据传递,是无法put一个Stack的,所以自己实现一个实现Serializable接口的队列容器,方便数据传递。不能实例化泛型数组问题当我在实现过程中,首先遇到的问题是不能写如下代码: private final T[] queue; public OrderQueue(int size) { this.queue =原创 2021-04-14 20:03:11 · 129 阅读 · 0 评论 -
Handler通信-源码分析
仍然记得刚开始学习android时,一直使用handler发送消息更新UI,只知道handler可以把消息发送到主线程,后来为了面试,就在网上找了Handler,MessageQueue,以及Looper三者的解析答案,背的很熟,当面试官一问三者之间的关系时,不假思索的直接背了出来,一问细节原理,啥也不知道。在后来随着工作经验的积累,发现Hanldler在整个Android系统中的角色举足轻重,它的产生并不只是用于UI处理,而更多的是handler是整个app的通信框架,我们可以在ActivityThrea原创 2021-03-05 22:55:24 · 116 阅读 · 0 评论 -
android操作蓝牙打印机(上)
前言工作中或多或少都会遇到困扰自己很久的问题,我也毫无例外,曾经在项目中对蓝牙打印这一块也困惑和迷茫过,最近在做项目重构的时候,翻看了之前写的代码,还是决定通过两篇文章详细阐述蓝牙连接打印机完成整个打印流程的操作,目的是对工作的一种总结,其次是输出。好比玩个压缩,又是绿叉又是无尽,一身暴击 装,却不知怎么打输出,好像特无语,工作中应该也是一样,学会总结和输出这样才能提升自己,当然也希望能帮助在蓝牙打印方面存在疑惑和困扰的同学,希望在看完这两篇文章后能对经典蓝牙有更多了解和认识。概述我将通过上下两部分,原创 2021-01-26 22:37:26 · 1110 阅读 · 2 评论 -
注解+反射+动态代理实现View点击事件绑定
一、一些感想其实在工作的过程中,我一直感觉自己的java基础还是很薄弱的,所以不得不重新看看java基础,其实注解在Android应用实在很广泛,它让代码简介,并且解耦,提高了很多开发效率。为了巩固对基础知识的理解,所以干脆使用注解+反射+动态代理实现View的点击事件绑定功能,加深印象。在整个实现过程中要求的知识点还是比较多,首先要熟悉Android View点击事件,当然如果对注解不了解,那...原创 2020-05-06 22:29:55 · 469 阅读 · 1 评论 -
从源码分析addView子控件match_parent失效问题
addView()方法使用心得addView方法可以满足动态添加布局需求,于是乎就出现了布局加进去后不是我们想要的效果,我开始以为是我子布局设置了什么属性,仔细看了布局却发现没什么错误,所以猜想大概是addView时出了问题。我的使用如下: View view = null; LayoutInflater layoutInflater = LayoutInflater.fro...原创 2020-04-25 19:03:16 · 384 阅读 · 0 评论 -
记录 Error while Launching activity
今天实属被这个错误给坑惨了,折腾了好几个小时,无论我怎么build和clean就是不能跑起来,网上也有方法,无论我怎么尝试就是不能run起来,折腾的欲哭无泪啊。最后暴力解决办法:删除工程里的 *.iml结尾和app module 中*.iml结尾的连个文件,然后我从别的工程复制了这两个文件,最后竟然run起来了,不知道是什么原因导致,好在给run起来,也能开始干活了,特此分享给和我一样遇...原创 2020-04-23 16:02:37 · 210 阅读 · 0 评论 -
关于Android java.io.FileNotFoundException: open failed: EACCES (Permission denied)
问题描述:最近在Android10 访问相册时一直报EACCES (Permission denied),java.io.FileNotFoundException: open failed: EACCES (Permission denied) at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescr...原创 2020-04-08 16:15:48 · 5672 阅读 · 10 评论 -
Service和Activity通信总结
一点感想说感想也算是工作中的一些总结吧,做项目基本都会使用Service这一四大组件,服务和Activity通信便是我们经常需要处理的问题,这里我说一说我比较熟悉的几种方式:①BroadcastReceiver形式,这个是我最开始使用的方式,但是效率特别低,尤其是数据量大的时候,其次需要注册广播,解绑等等工作需要做,反而觉得很繁琐;②Hander方式,实际工作中我用的很少;③EventBu...原创 2020-03-11 23:17:51 · 481 阅读 · 0 评论 -
Android获取SHA1和MD5签名
1,在android studio中打开Terminal控制台2,找到工程的签名文件以jks结尾,比如:E:\android\QianKouDai\QianKouDai\app\qiankoudai.jks3,控制台中输入:keytool -list -keystore D:\android\MySrc\BdMember\app\bdmember.jks4,输入创建签名文件时的密钥...原创 2018-12-27 09:49:22 · 308 阅读 · 1 评论 -
Android studio 连接MuMu模拟器
MuMu模拟器连接android studio 1,打开android studio控制台:2,命令行进入MuMu安装bin目录:cd D:\myProgram\mumu\emulator\nemu\vmonitor\bin 3,连接模拟器:adb_server.exe connect 127.0.0.1:7555 执行结果:adb server is ou...原创 2018-11-30 10:34:17 · 2396 阅读 · 0 评论 -
Android6.0及以上动态申请权限详细讲解
不知不觉Android已经到了8.0,记得刚开始6.0刚出来的时候也是看了别人写的一些文章这么慢慢的过来了,转眼已经快要两年了,感叹时光过的好快,然而不知道自己到底进步了多少。也许因为自己很懒,不善于总结,导致有时候明明之前见过某个知识点,却又给忘了。当后来慢慢写笔记的时候,我发现笔记对自己真的很重要,假如某个知识忘了,一下子就知道自己记过,在某个地方,如果不总结的话,就要花很多时间找资料,所以希望原创 2017-07-24 00:42:33 · 483 阅读 · 0 评论 -
关于Android中log日志(LogUtil)的封装
为了便于开发,特此封装了一个日志工具类,可以具体到类名,方法名,行数;代码如下:public enum LogUtil { INSTANCE; private final static boolean all = true; private final static boolean i = true; private final static boolean...原创 2018-03-29 21:52:36 · 1452 阅读 · 0 评论 -
Android自定义底部菜单实现Fragment切换
关于android自定义底部菜单实现与Fragment间的切换,实现过程大体如下:attrs.xml中的内容:<resources> <attr name="text" format="string"/> <attr name="icon_normal" format="reference"/> &原创 2018-04-07 16:23:30 · 2859 阅读 · 4 评论 -
关于使用Butterknife 8.5.1版本报空指针或者点击事件没有反应处理
今天也是开始写了一个新的项目就重新导了Butterknife注解框架,直接在项目依赖中添加compile 'com.jakewharton:butterknife:8.5.1'但是发现textView.setText(”设置文字“)时一直报Caused by: java.lang.NullPointerException并且点击控件时没有任何反应,使用方法:public class MainAct...原创 2018-04-10 18:27:57 · 756 阅读 · 2 评论 -
Android中EventBus事件总线发送网络请求结果更新UI
Android中通常耗时操作我们都需要另起线程,比如请求服务器获取数据,而请求数据成功后却不能在子线程中更新UI,Android提供了AsyncTask,Handler等机制更新UI,又或者RXJava(开源框架)、接口回调等都可以实现子线程和UI线程通信。其实通过EventBus订阅与发布方式更新UI也很方便。一,首先我们导入依赖 compile 'org.greenrobot:eventbus...原创 2018-04-11 18:59:19 · 1671 阅读 · 0 评论 -
关于android方法总数超过64或者超多过65536问题解决
问题描述:Information:Gradle tasks [:app:assembleDebug]Error:The number of method references in a .dex file cannot exceed 64K.Learn how to resolve this issue at https://developer.android.com/tools/building...原创 2018-05-02 18:26:46 · 518 阅读 · 0 评论 -
Android使用MQTT实现消息发布与订阅
关于MQTTMQTT中文文档MQTT GitHubMQTT协议规范MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。MQTT应用通过MQTT协议,目前已经扩...原创 2018-05-18 00:05:20 · 9011 阅读 · 5 评论 -
Android一键锁屏实现
很久很久才发现,自己手机软件中没有自带一键锁屏的功能,害怕电源键寿命太短,于是就去市场下了一个解决这个需求,到最后发现这些软件中都有广告或者捆绑有插件,一怒之下就自己做了一个一键锁屏。其实感觉实现起来不是很困难,由于目前技术存在缺陷,还不不知道怎么更改Framwork层做到应用保活,目前跑在性能稍微差些的手机上第一次启动也就是冷启动的时候有点延迟,个人认为基本可以忽略不计,性能好的...原创 2018-04-27 18:18:36 · 2935 阅读 · 0 评论 -
Android 中关于吐司Toast带文字和图片的封装。
Android中我们常用的提示功能就是Toast了,最近使用Toast的时候出现了一些不可预料的错误,分析才发现是由Toast实例太多引起导致,所以基于系统Toast封装了带图片和文字Toast,并且永远只有一个Toast实例,大大减少了内存开销。实现思路:1,关于如何实现只带文字显示,事先判断当前Toast是否存在,如果不存在我们才获取Toast实例,如果存在就直接设置text,实现如下:if ...原创 2018-04-28 14:07:09 · 630 阅读 · 0 评论 -
解决Android studio Error:Execution failed for task ':app:preDebugAndroidTestBuild'
问题描述:发现在使用Android studio新建完项目的时候每次都会报一个错误:意思大概是应用程序和测试应用程序版本不同所致。解决方法1:我们可以重新构建项目(rebuild project)解决方法2:我们将依赖中的com.android.support:appcompat-v7版本改为报错中提到的测试版本:最后将项目同步一下就可以解决。...原创 2018-05-28 18:37:17 · 2406 阅读 · 0 评论 -
Android TextView改变部分字体颜色
Android经常会遇到一行字体中要出现不同颜色,比如<<用户协议>>着重突出等,关于Android TextView改变部分字体颜色使用,我们将"要改变的字体颜色"中的"颜色"变色,使用大致如下:SpannableString spannableString = new SpannableString("要改变的字体颜色");spannableString.se...原创 2018-11-06 23:18:22 · 2201 阅读 · 0 评论 -
Android 语言切换功能
最近项目要实现语言切换功能,大概实现了一下,先上效果图: 记下来主要是为了以后方便查看,下面来看下主要实现步骤。先在res资源文件下新建两个文件夹,values-zh,values-en,然后文件夹下新建各建一个strings.xml文件,如果要实现其他语言操作步骤一样,项目里只用到中文和英文,所以就实现了这两种语言,实际文件资源视图: 由于英语水平有限借助了谷歌翻译。。。接下来就是主要原创 2017-07-18 15:53:23 · 488 阅读 · 0 评论