Android
文章平均质量分 89
NotMYida
安卓
展开
-
一个VideoView的问题
在全屏的环境下,使用VideoView来轮播视频,在Android版本为5.1版本的板子上,显示正常。而在Android 7.1版本的板子上,播放完视频后,虚拟按键跑了出来。每次播放完视频,底下一块灰色的出来。路人见了都觉得这玩意是不是坏了,用户见了都觉得不舒服,这么一点小问题,往严重点来说,都会被人质疑技术是不是不过关。这个问题必须得解决。当这个现象出现时OnWindowFocusChange回调会被调用两次。一次为失去焦点,另一次为获取到焦点。在播放完一个视频,即将要播放下一个视频时出现。感觉这与原创 2020-08-14 16:55:24 · 291 阅读 · 0 评论 -
阅读源码理解Handler机制
Handler机制作为Android面试重要考点,以前笔者都是参考别的优秀博客来了解,大致能够清楚是怎么一回事。然而在不依赖博客的情况下,就只有自己去阅读源码了。Handler机制涉及的类比较少,代码量相对于庞大的AMS、WMS那些真是如小菜一碟了。Handler机制真正研究起来不需要花很多的时间,不过卡在某个点这种事情也经常发生。希望笔者写的这一篇可以帮助部分读者打通那些卡住的点。Handle...原创 2019-10-21 10:54:09 · 224 阅读 · 0 评论 -
Android蓝牙ble源码解析
低功耗蓝牙拥有低功耗、短距离无线传输的特性。由于这个特点,低功耗蓝牙有很多的应用场景,常见的有运动手环、运动手表、轮胎压力监测系统(Tire Pressure Monitoring System,TPMS),以及各种我们能想到的短距离的人与设备交互的场景。如果哪天有个产品经理推出一款这种场景下的革命性的产品出来,拥有低功耗蓝牙开发经验的程序员就能更早踏足这个领域。本文是对android系统的蓝牙b...原创 2018-12-14 16:15:42 · 2696 阅读 · 0 评论 -
IntentService原理
IntentService的Demo程序IntentService常被用于处理异步任务,使用的步骤是,先继承IntentService,再在handleIntent方法里写业务逻辑。handleIntent是在子线程执行的,所以不必担心ANR之类的问题,可以执行IO操作,下载等操作,且当执行完后会自动销毁,很方便。先写一个简单的Demo。CountService.java:public c...原创 2018-12-05 17:50:55 · 539 阅读 · 0 评论 -
SnapdragonCamera源码分析
SnapdragonCamera源码分析SnapdragonCamera是高通平台下的相机的源码,具有良好的架构,我们可以在这个基础上进行定制,而不需要从头到尾开发一个相机类的app。新入坑的读者可以通过阅读源码和笔者对该项目源码的分析,从而对该项目有一个大致的整体的理解,从而更快读懂源码,以便对其进行定制开发。相机的基本配置先来看一看怎样用最少代码实现相机功能。1.布局文件。可以用Sur...原创 2018-11-23 17:41:39 · 3134 阅读 · 1 评论 -
Anroid Camera的参数
Camera类有一个 Parameters 的内部类,里面包含了Camera的各种参数,driver会根据这些参数的设置来实现这些各种 Camera 的效果,也可以通过这些 key 来获取当前的值。 private static final String KEY_PREVIEW_SIZE = “preview-size”; // 预览画面的大小private static final Stri...原创 2018-09-18 17:30:14 · 466 阅读 · 0 评论 -
Android 保存图片到手机相册
有一种很常见的需求,当保存图片的时候,客户需要在相册里面看到那张图片。有时候确实是保存成功了(通过IO流将图片写入了SDCard),但打开相册却看不到那张图片,需要在文件管理软件上才能找到那张图片,在网上找了许多文章,貌似都保存不到相册那里,这应该就是手机品牌的原因,有的品牌的手机能显示在相册里,有的品牌的手机却不能。解决这种问题,最简单粗暴的方法是,用那台手机拍一张照片,然后找到它,查看它的路径详原创 2017-12-07 10:25:22 · 25474 阅读 · 17 评论 -
使用 ContentObserver 监听短信接收 onChange 方法调用两次
原来我是用 BroadcastReceiver 来监听短信的接收,后来了解到用 ContentObserver 也能实现这种功能,而且还更方便。于是就尝试使用这种方法。ContentObserver的原理是观察(捕捉)特定 Uri 引起的数据库的变化,继而可以做一些相应的处理。在使用 ContentObserver 监听短信的过程中,发现了一个问题,问题描述如下:当手机接收到短信的时候, onCha原创 2017-12-05 17:55:45 · 3430 阅读 · 2 评论 -
Android RectF类的inset()方法
最近在研究 MPAndroidChart 的源码,我去年接触到这份开源代码,刚看的时候真是和看天书一样。不久前我想自己写图表的自定义控件,发现自己真的难以写出扩展性好、灵活性高的自定义控件。于是想起来自己曾经看过的 MPAndroidChart 的代码,再把它拿出来研究研究。研究的过程中,我发现里面有一些方法在百度上搜索不到相关的帖子,想到以后有新手玩家想搜索这个方法却搜不到是多么沮丧,于是就到Go原创 2017-11-01 18:18:57 · 2997 阅读 · 0 评论 -
Android自定义 View 练习 —— 心电图的绘制
先上个效果图(画块饼),让你有耐心看完下面内容。网上已经有不少人,把类似的效果做出来了。我就把自己做出这个效果的思路写出来,希望对想学自定义 View 的朋友有些帮助。先作一个草图,打开 Windows 自带的“画图”软件,OS X 系统的就找个类似的软件吧。先想好,再来画个草图。我画的草图如下:看到这,可能有人有疑问了,写自定义 View 怎么不写代码啊,我是来看代码的,最好把完整代码贴出来,画这原创 2017-09-11 15:48:21 · 6393 阅读 · 9 评论 -
Android UI 排版
最近自己写了一些 xml 布局,自我感觉不错,但细看之下却显得不那么美观。参考了一些线上的 App,发现它们的排版让人感觉很美观。UI 是一个产品极其重要的一个点,计算代码写的再牛逼,UI 不行会损失一大堆用户。于是我在网上找了一些关于 UI 排版的资料,整理了一下。特别感谢他们的无私分享。原创 2017-08-17 11:54:02 · 634 阅读 · 0 评论 -
Android adb连接遇上的坑
有天我打开Android Studio连接上手机后,发现AS找不到设备。在“Android Monitor”那里显示红色的“No Device”。这个问题很奇怪,我之前都一直用的好好的,怎么突然间就变这样了,更奇怪的是,我用Eclipse的时候,手机确能连上。Android开发还有很多坑在等着我们。不过还好许多大神早已解决了这个问题了。 说一说解决的过程吧。原创 2017-03-16 11:43:07 · 786 阅读 · 0 评论 -
音乐Visualizer类的错误 setCaptureSize() called in wrong state: 2 的解决办法
这几天在做音乐可视化,就是把音乐的频谱通过图像动态地显示出来。这个功能的实现主要是通过Visualizer类和MediaPlayer类的配合。能够想到要做这种功能的开发者,一般都对MediaPlayer类熟练了,不然也不会想到要做这种复杂的功能。关于Visualizer类的介绍的文章有很多,不过基本都是复制黏贴的,不过这样也好,让我们能对这个Visualizer类更加熟悉。所以这里也不再介绍这个类原创 2017-02-16 17:12:49 · 2073 阅读 · 0 评论