2014-04-02 码农明明桑
我们的常用的系统中,程序的工作通常是有事件驱动和消息驱动两种方式,在Android系统中,Java应用程序是靠消息驱动来工作的。 消息驱动的原理就是: 1. 有一个消息队列,可以往这个队列中投递消息; 2. 有一个消息循环,不断从消息队列中取出消息,然后进行处理。 在Android中通过Looper来封装消息循环,同时在其中封装了一个消息队列MessageQueue。 另外Android给我们提供了一个封装类,来执行消息的投递,消息的处理,即Handler。 more 在我们的线程中实现消息循环时,需要创建Looper,如: cla 继续阅读 »
2014-05-20 码农明明桑
新项目中,使用了Google I/O 2013发布的新工具,使用Gradle构建android项目,并且在新版的Intellig IDEA以及google的Android Studio对其支持。本文就介绍一下怎么使用gradle构建android项目,进行多个版本编译。 Gradle是什么? Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy。 使用gradle的目的: 更容易重用资源和代码; 可以更容易创建不同的版本的程序,多个类型的apk包; 更容易配置,扩展; 更好的IDE 继续阅读 »
2016-03-05 Roger
最近工作上遇到了广播接受不到的问题,查看了《Android 开发艺术探索》一书中关于广播的发送和接受的章节(P356-P362)。其中(P358)介绍了从Android 3.1 之后广播的一些区别 。 从 Android 3.1 开始,系统为所有的广播都默认添加了FLAG_EXCLUDE_STOPPED_PACKAGES 标志。所有处于停止状态的应用将无法接受到该标志的广播。注意,只有两种情况下应用才会处于停止状态: 继续阅读 »
2015-01-01 Jamling
编译Android源代码 本文介绍的是如何在linux环境下获取、编译源代码,并在编译之后运行。使用的操作系统为Ubuntu11.04 more 获取源代码 Android源代码仓库是分布式的,叫做git,所以在获取代码之前先安装git。git与常用的svn,cvs不一样,但不必担心,android为了简化操作,使用python脚本语言写了一个简化程序叫做curl。只需要按以下步骤一步一步操作就行了。 继续阅读 »
2017-06-14 Jamling
在写本文之前,我还以为自己对android的bitmap很熟悉,直到自己亲手写代码实践,才发现自己错了很多年。真是汗颜啊! more Bitmap Config 首先,根据Android API 25的文档简要说明一下Android的Bitmap.Config以下4个选项 继续阅读 »
2015-12-21 码农明明桑
默认情况下情况下,使用Android的WebView是不能够支持上传文件的。而这个,也是在我们的前端工程师告知之后才了解的。因为Android的每个版本WebView的实现有差异,因此需要对不同版本去适配。花了一点时间,参考别人的代码,这个问题已经解决,这里把我踩过的坑分享出来。 主要思路是重写WebChromeClient,然后在WebViewActivity中接收选择到的文件Uri,传给页面去上传就可以了。 more 创建一个WebViewActivity的内部类 ```java public class XHSWebChromeClient extends WebChromeClient { // For Androi 继续阅读 »
2017-09-18 Roger
Android 追加流生成 Mp4 文件技术方案(支持中断继续生成) 背景 Android 中 Mp4 文件的生成主要是通过 Mediacodec 将摄像头采集到的视频从 YUV 格式转成 h264 ,再通过 MediaMuxer 将 h264 的视频流生成 mp4 文件,这个过程就不在赘述了, Google 一搜一大把,其中需要注意的是在将 YUV 数据送入 Mediacodec 中之前需要将 YUV 格式从 NV21 转换成编码器能接收的 I420 格式,建议这个过程使用 JNI 来提高效率, java 的实现方式可以参考一下方法: 继续阅读 »
2016-07-12 UFreedom
原文地址: 本文主要介绍 Github 开源 Android 的动画库 [Transitions-Everywhere][1] .文中大部分内容译自开源作者的博客:[Animate all the things. Transitions in Android][2]. 继续阅读 »
2018-09-21 Roger
Android Accessibility 的少许开发经验 What's Accessibility 简单来说 Accessibility 就是为了让一些残障人士也能正常使用手机或 App 的基本功能,主要包括 Talkback ,视弱的支持等,具体参见:https://developer.android.com/guide/topics/ui/accessibility/ 继续阅读 »
2015-08-14 Roger
最近研究了一下andorid的启动过程,记录一点心得. 学习资料主要为这两篇博客: Android Framework启动流程分析 Android启动过程深入解析,感谢博主. 继续阅读 »