
Android
文章平均质量分 85
帅不过三秒的码农
天道酬勤,厚德载物
展开
-
Android Studio安装过程问题汇总
1、选择android studio的安装包,点击安装选择android studio的安装目录时必须选择一个空的文件夹,否则会报Please select an empty folder to install Android Studio错误 (注:安装时选择的sdk装载目录命名不能含有空格等特殊字符) 2、Android studio和Eclipse 的区别: Android S原创 2016-04-29 10:46:29 · 16845 阅读 · 0 评论 -
一款安卓TV上使用的蓝牙和WiFi测试工具
1、使用了MVP框架,也是第一次完整的使用MVP,拿来练了一下手;2、大概花费2周时间,2年前有写过部分,后面demo丢失,需要重新开发;3、基本是2年前项目的重构,希望可以比当初刚接触android时写的有所提高一点。痛点或者需求来源: 蓝牙和WiFi厂家提供的模块给到TV厂商的时候并没有给TV平台的测试工具,只给了window版本的测试工具,之前经常发现在在电脑上测试正常的Wi...原创 2018-07-31 16:00:45 · 5105 阅读 · 0 评论 -
Timer使用过程中出现的坑引发的思考
去年8月份用timer计时的一段程序在画UI的时候没有正常绘制,最近在查原因,发现踩了timer的坑,处理完后特此来记录一下。Android中经常会在一段时间内重复去做一些事情,如开机向导的时候系统网络连接的比较慢,会耗时一会,这时候开机向导需要多次去检查系统网络有没有连接上,没有连接上才需要去在执行下面的流程。类似于这种的重复多次执行一段程序的方法有很多种,总结一下目前可以实现的几种...原创 2018-07-31 15:29:10 · 3221 阅读 · 1 评论 -
同一功能在Android不同版本进行兼容的方法
做APP应用开发的时候,经常需要APP有能力去兼容不同的Android版本或者说拥有跨平台的能力,但说起来容易,做起来难。 我们常常会遇到这样的痛点,同样的软件功能在Android不同版本之间实现方法差异会很大,上层需要用同一套代码,同一个APP需要去进行兼容。 说一下我遇到的两种处理方法:一、插件化:APP将随Android版本经常发生变动的这部分封装成一层抽象接口,具体的实现放到插件中去实现。...原创 2018-07-05 17:41:11 · 8119 阅读 · 1 评论 -
Handler、HandlerThread理解
Handler在android线程编程中非常常见。线程中的handler使用原理:每个线程只有一个Looper来管理消息队列,handler在使用的时候需要绑定到对应的Looper上。Handler给自己绑定的Looper不断的发送消息,Looper来做死循环来不断读取MessageQueue队列中的消息,发送给handler来进行处理。 Android的UI是运行在主线程中,主线程是用MainL...原创 2018-06-06 22:03:08 · 1364 阅读 · 0 评论 -
全蓝牙遥控器初体验
以前的电视都是红外遥控器来进行电视的遥控,主要依托于电视上的红外模块和遥控器上的红外模块进行通信,进行按键的接收。随着技术的演进,蓝牙遥控器已经成为主流。得益于功耗低,操作更灵敏,续航时间久等优点,目前市面上主流的电视基本都是蓝牙遥控器并且带语音操作功能。另外,最强大的是市面上的部分电视已经用上全蓝牙遥控器的解决方案,电视已经完全取消了红外接收,全靠蓝牙通路进行遥控。 产品痛点和可靠性要求:因为电...原创 2018-05-29 22:05:27 · 8982 阅读 · 0 评论 -
Android 如何批量改变字体颜色
有时候,UI设计师的输出给开发同事的文案会对一行文字中某些文字进行颜色的单独处理,如下面这种效果,包含多处需要进行变色处理。 一般能想到的就是用textview将文字整体显示出来,然后在使用Android提供的ForegroundColorSpan类对不同颜色的文字进行处理,但实际在开发的时候,发现了以下问题:1、使用ForegroundColorSpan类对第一处的“部分”文字处理后,后边的“变...原创 2018-05-24 20:57:33 · 2345 阅读 · 0 评论 -
MX4手机连接adb方法
一、通过USB线连接1、通过USB线连接,需要去设置-辅助功能-开发者选项里面去打开USB调试选项;2、具体能不能用还没有试验,连接线太麻烦了,感兴趣的同学可以自己试验下。 二、通过同一局域网连接(参考通过wifi进行adb调试 点击打开链接 文档) 只有能ping的通就可以通过adb连接,无线有线网络都可以1、首先需要去设置-辅助功能-开发者选项里面去打开USB调试选项; 打开后此时魅...原创 2018-04-20 09:56:07 · 1342 阅读 · 0 评论 -
Android8.0 WiFi热点适配
在Android8.0上用以前的方式调试WiFi热点的时候发现无法正常开启热点,于是查了下,发现之前的热点打开接口已经废弃。原先的接口WifiManager.java中setWifiApEnabled方法用来打开WiFi热点已经用不了了。网上查是从Android7.1以后接口开始变化的,但我查Google给的源码时发现7.1.1-7.1.2版本都是没有变动,还是老的接口,从Android8.0才开始原创 2017-11-27 21:45:07 · 20929 阅读 · 49 评论 -
一个诡异的升级数据包出错问题
我们都知道在Android系统中APP的升级或者OTA包的升级,从后台下载完成的文件,下载完成后我们会去通过md5和字节大小是否和后台服务器挂的包匹配去校验文件是否下载正常,有没有中途出错。 如下载正常的话,我们会去走升级流程;如下载出错,会去删除掉错误的文件,重新下载。 一般文件下载数据出错的原因可能是由于网络中断,重新断点续传时引起的。最近遇到一个很诡异的问题, 现象如下描述:OTA升级包原创 2017-12-03 22:02:24 · 4081 阅读 · 0 评论 -
Android NDK开发试水
在做Android开发的过程中,经常会和底层的一些硬件打交道,Android的应用是在Java层开发的,底层的硬件功能是在通过HAL层来封装的功能接口,如果要通过Java应用来和底层的HAL层交流,jni是必不可少的一个挑梁,jni可以打通Java到C++或者Java到C的通道。 由于最近需要封装一层接口给底层调用,花了几天时间来了解和调试了一下jni的小demo进行测试。 Jni的代码可以通过原创 2017-07-30 17:04:48 · 423 阅读 · 0 评论 -
android 动态生成listview的内部布局
listview以前有了解和学习过一些,但是认识都不是很深刻,或者只是在抄别人的做法来勉强实现自己的要求。 这次借着此机会刚好可以深入了解一下listview的用法。listview生成布局可以通过xml或者代码动态生成布局。 所涉及的事情需要使用listview需要去显示wifi列表和信号强度,但之前的布局是基于代码生成的所有布局,没办法使用xml来完成功能,只能硬着头皮去做listview的原创 2017-07-03 09:02:19 · 1598 阅读 · 0 评论 -
android预编译apk的深入思考
有时候我们会去和别的客户合作开发一些项目,但是出于安全性的考虑,独立的模块我们不会发布源码,只会以apk或者so的形式release给客户。合作的时候我们这边的apk release给用户,但是客户编译的OTA包运行起来后此apk开机会挂掉,提示找不到jni,但去单板的对应目录去查看发现此jni的so是存在的,比较奇怪。 Line 60: E/AndroidRuntime( 4751): java原创 2017-04-13 10:54:27 · 2408 阅读 · 0 评论 -
android自定义静态jar包和动态jar包的编译、使用
android jar包的使用方法原创 2016-06-14 16:05:13 · 9637 阅读 · 0 评论 -
Android编译c++独立动态库模块时报错总结
因为工作需要,需要将uart的模块移植一下,此模块编译后是动态so,但移植时发现一直编译不过,有遇到以下两种报错,小结一下 1、第一种提示can not find xxx.h 这种情况是由于在编译的Android.mk中没有添加包含xxx.h目录的include的依赖,不会去下去找,所以才提示not find 如下添加进来即可 LOCAL_C_INCLUDES +=$(LOCAL_PATH)原创 2016-09-30 11:30:14 · 1136 阅读 · 0 评论 -
Android init.rc如何启动service去执行sh脚本
在Android开发中经常会遇到,在应用层想去执行一个脚本来完成某些底层相关的操作,但在应用层又没有root权限。所以,老大给出一种方法完美解决此问题,又把上层和底层进行了隔离,非常好的策略。1、在需要执行脚本的时候,应用层去设置一个property,在init.rc中去监测此property的值,当监测到此property的值符合要求时,去start service,来执行我们的脚本文件原创 2016-06-02 10:29:41 · 8975 阅读 · 0 评论 -
Android4.2蓝牙介绍
直接转载邓云帆老师的了,写的不错! http://blog.youkuaiyun.com/innost/article/details/9187199转载 2016-05-05 11:56:03 · 449 阅读 · 0 评论 -
Android Studio HelloWord 测试程序在Android5.1真机上运行异常分析
安装完成Android Studio以后,想跑一下HelloWord的测试程序,发现在模拟器上跑起来正常,但在真机上运行起来有问题,API选择的是22,Android5.1。 报错如下: 05-03 09:27:03.660 5349-5361/? E/cutils-trace: Error opening trace file: Permission denied (13) 05-03 09原创 2016-05-04 10:10:13 · 3606 阅读 · 0 评论 -
Android MVP实践
在上篇博文 一款安卓TV上使用的蓝牙和WiFi测试工具 的基础上再记录一下学校MVP架构的心得,方便理解和后续追溯。如有不对的地方,请指正交流在18年年初和别人配合协同开发开机向导的时候,carry搭建了整个项目的大框架,而我也是相当于第一次参与了一个完整的项目开发。协同开发期间,发现代码里面充满了框架的味道,各种Present的使用,而我看到了一脸懵逼。在只大概知道Activit...原创 2018-08-01 17:45:20 · 392 阅读 · 0 评论