自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

QingSheng的博客

Hello World

  • 博客(20)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 一个VideoView的问题

在全屏的环境下,使用VideoView来轮播视频,在Android版本为5.1版本的板子上,显示正常。而在Android 7.1版本的板子上,播放完视频后,虚拟按键跑了出来。每次播放完视频,底下一块灰色的出来。路人见了都觉得这玩意是不是坏了,用户见了都觉得不舒服,这么一点小问题,往严重点来说,都会被人质疑技术是不是不过关。这个问题必须得解决。当这个现象出现时OnWindowFocusChange回调会被调用两次。一次为失去焦点,另一次为获取到焦点。在播放完一个视频,即将要播放下一个视频时出现。感觉这与

2020-08-14 16:55:24 281

原创 阅读源码理解Handler机制

Handler机制作为Android面试重要考点,以前笔者都是参考别的优秀博客来了解,大致能够清楚是怎么一回事。然而在不依赖博客的情况下,就只有自己去阅读源码了。Handler机制涉及的类比较少,代码量相对于庞大的AMS、WMS那些真是如小菜一碟了。Handler机制真正研究起来不需要花很多的时间,不过卡在某个点这种事情也经常发生。希望笔者写的这一篇可以帮助部分读者打通那些卡住的点。Handle...

2019-10-21 10:54:09 218

原创 Android蓝牙ble源码解析

低功耗蓝牙拥有低功耗、短距离无线传输的特性。由于这个特点,低功耗蓝牙有很多的应用场景,常见的有运动手环、运动手表、轮胎压力监测系统(Tire Pressure Monitoring System,TPMS),以及各种我们能想到的短距离的人与设备交互的场景。如果哪天有个产品经理推出一款这种场景下的革命性的产品出来,拥有低功耗蓝牙开发经验的程序员就能更早踏足这个领域。本文是对android系统的蓝牙b...

2018-12-14 16:15:42 2626

原创 IntentService原理

IntentService的Demo程序IntentService常被用于处理异步任务,使用的步骤是,先继承IntentService,再在handleIntent方法里写业务逻辑。handleIntent是在子线程执行的,所以不必担心ANR之类的问题,可以执行IO操作,下载等操作,且当执行完后会自动销毁,很方便。先写一个简单的Demo。CountService.java:public c...

2018-12-05 17:50:55 535

原创 SnapdragonCamera源码分析

SnapdragonCamera源码分析SnapdragonCamera是高通平台下的相机的源码,具有良好的架构,我们可以在这个基础上进行定制,而不需要从头到尾开发一个相机类的app。新入坑的读者可以通过阅读源码和笔者对该项目源码的分析,从而对该项目有一个大致的整体的理解,从而更快读懂源码,以便对其进行定制开发。相机的基本配置先来看一看怎样用最少代码实现相机功能。1.布局文件。可以用Sur...

2018-11-23 17:41:39 3066 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 459

原创 pycharmWS 中下载第三方模块

在使用python 的过程中,要下载安装第三方模块是一件挺麻烦的事,经常会有各种各样失败的原因,百度出来的解决方法也是看的人眼花缭乱,这是新手常遇到的问题。下面介绍 pycharmWS IDE的一种下载安装第三方模块的方法。 点击 File -> Settings… 点击 Project pycharmWS -> Project Interpreter 即可看到上图。在这个界面中可以看到我这台电脑

2017-12-29 17:27:24 1025

原创 Android 保存图片到手机相册

有一种很常见的需求,当保存图片的时候,客户需要在相册里面看到那张图片。有时候确实是保存成功了(通过IO流将图片写入了SDCard),但打开相册却看不到那张图片,需要在文件管理软件上才能找到那张图片,在网上找了许多文章,貌似都保存不到相册那里,这应该就是手机品牌的原因,有的品牌的手机能显示在相册里,有的品牌的手机却不能。解决这种问题,最简单粗暴的方法是,用那台手机拍一张照片,然后找到它,查看它的路径详

2017-12-07 10:25:22 25411 17

原创 使用 ContentObserver 监听短信接收 onChange 方法调用两次

原来我是用 BroadcastReceiver 来监听短信的接收,后来了解到用 ContentObserver 也能实现这种功能,而且还更方便。于是就尝试使用这种方法。ContentObserver的原理是观察(捕捉)特定 Uri 引起的数据库的变化,继而可以做一些相应的处理。在使用 ContentObserver 监听短信的过程中,发现了一个问题,问题描述如下:当手机接收到短信的时候, onCha

2017-12-05 17:55:45 3391 2

原创 Android RectF类的inset()方法

最近在研究 MPAndroidChart 的源码,我去年接触到这份开源代码,刚看的时候真是和看天书一样。不久前我想自己写图表的自定义控件,发现自己真的难以写出扩展性好、灵活性高的自定义控件。于是想起来自己曾经看过的 MPAndroidChart 的代码,再把它拿出来研究研究。研究的过程中,我发现里面有一些方法在百度上搜索不到相关的帖子,想到以后有新手玩家想搜索这个方法却搜不到是多么沮丧,于是就到Go

2017-11-01 18:18:57 2974

原创 Android自定义 View 练习 —— 心电图的绘制

先上个效果图(画块饼),让你有耐心看完下面内容。网上已经有不少人,把类似的效果做出来了。我就把自己做出这个效果的思路写出来,希望对想学自定义 View 的朋友有些帮助。先作一个草图,打开 Windows 自带的“画图”软件,OS X 系统的就找个类似的软件吧。先想好,再来画个草图。我画的草图如下:看到这,可能有人有疑问了,写自定义 View 怎么不写代码啊,我是来看代码的,最好把完整代码贴出来,画这

2017-09-11 15:48:21 6364 9

原创 程序员思维修炼读书笔记(三)

努力使用书中的信息:尝试用这门语言从最基础编写一个程序(要与书中的简单例子和练习不同)。现在对这门语言又有何种感觉?是时候回顾那个章节了。我会做一些笔记,我知道自己肯定会再次审阅,也可能在关键表格或者图上做一些注释,或者在白板上快速涂鸦以帮我记忆这些内容。整个流程清除地反映了R型到L型的转换。就像攀岩体验一样,首先是一种全盘、浅显但是广泛的调查,然后转换到传统的L型活动,扩大多重感官的参与(讨论、

2017-09-01 16:31:28 736

原创 Java EE 启动 Tomcat 失败

在 JavaEE 中启动 Tomcat 的时候出现错误,错误信息大致是这样的: 启动tomcat时报错Failed to start component…… 还有 关键字 severe error。具体怎样我也忘了,因为我改好了,也回退不到错误的版本。我就把解决的方法说一下吧。在左侧项目列表那里,有一个 Servers 项目,里面包含了对这个工作空间(Work Space)的配置。只要删

2017-08-31 17:18:24 1073 1

原创 程序员的思维修炼读书笔记(二)

利用右脑其中有一些你可能非常熟悉,另外一些肯定特别陌生,请不要逃避那些“奇怪”的技术。如果你感到惧怕,不想尝试某些东西,那么这些恰恰是你应该首先尝试的。启动感官输入要投入更多脑物质去解决问题和发挥创造力,最简便的方式是激活更多的神经通路。这意味着扩大感官参与范围–使用与平常不同的感官。不要小看这种作用,研究显示,使用多感官技术可以让学生的学习效果提高5倍。即使是特别简单的工作也能受益。例如,困在

2017-08-22 11:10:42 785

原创 Android UI 排版

最近自己写了一些 xml 布局,自我感觉不错,但细看之下却显得不那么美观。参考了一些线上的 App,发现它们的排版让人感觉很美观。UI 是一个产品极其重要的一个点,计算代码写的再牛逼,UI 不行会损失一大堆用户。于是我在网上找了一些关于 UI 排版的资料,整理了一下。特别感谢他们的无私分享。

2017-08-17 11:54:02 627

原创 程序员的思维修炼读书笔记(一)

程序员的思维修炼

2017-08-14 17:12:50 620

原创 分享一个学习 Git 的网站

Git 是目前最流行的一个强大的代码版本管理工具。Linux 就是用 Git 来进行版本控制的。要驾驭 Git 并不是一件简单的事情。Git 有许多条命令,要熟练地掌握它们,大量的练习是必不可少的。下面这个网站能够给我们提供大量的练习,同时还有详细的指导。http://learngitbranching.js.org/?demo欢迎界面是这样的。     然后可以选择关卡。有基

2017-06-16 14:53:52 567

原创 用 Git 命令上传项目到 Github

这个教程是面向的是有 github 账号,并且有了一点 git  命令操作基础的人。         最近写了一个小项目,想把这个项目上传到 github 上。当然,可以在 github 网站直接上传相关的文件,作为一个程序员,用这种方法未免显得低端。所以,我们应该用一些显得高端一点的方法把项目上传到 github 上,就是用 git  命令。         首先得要进入到本地项目的代码

2017-05-23 18:01:34 519

原创 Android adb连接遇上的坑

有天我打开Android Studio连接上手机后,发现AS找不到设备。在“Android Monitor”那里显示红色的“No Device”。这个问题很奇怪,我之前都一直用的好好的,怎么突然间就变这样了,更奇怪的是,我用Eclipse的时候,手机确能连上。Android开发还有很多坑在等着我们。不过还好许多大神早已解决了这个问题了。         说一说解决的过程吧。

2017-03-16 11:43:07 779

原创 音乐Visualizer类的错误 setCaptureSize() called in wrong state: 2 的解决办法

这几天在做音乐可视化,就是把音乐的频谱通过图像动态地显示出来。这个功能的实现主要是通过Visualizer类和MediaPlayer类的配合。能够想到要做这种功能的开发者,一般都对MediaPlayer类熟练了,不然也不会想到要做这种复杂的功能。关于Visualizer类的介绍的文章有很多,不过基本都是复制黏贴的,不过这样也好,让我们能对这个Visualizer类更加熟悉。所以这里也不再介绍这个类

2017-02-16 17:12:49 2060

RectF的inset方法

1分都不行了,其实这个我想0积分分享出去的,也不是什么很牛的代码

2017-11-01

Android 心电图

画出一个类似于心电图的自定义 View,数据源是随机算法生成的,这个例子对刚学习自定义的 View 的同学很有帮助,比上一个版本多了些注释,删除要扣积分,就多上传了一次

2017-09-11

Electrocardiogram

画出一个类似于心电图的自定义 View,数据源是随机算法生成的,这个例子对刚学习自定义的 View 的同学很有帮助

2017-09-11

fiddler抓包

特别方便用于 Android 的网络抓包,让你更加直观地了解 HTTP 协议

2017-08-22

Kotlin插件

kotlin插件,在 Android Studio 上下载可能会很慢,把这个放到 Android Studio 的文件夹下就可以了

2017-07-31

Visual C++ Redistributable

Windows 环境下 Tensorflow 正常运行需要的东西,Google 给的链接已经失效了

2017-06-13

starUML安装文件

starUML的安装包

2017-05-27

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

TA关注的人

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