android 源码分析
fulinwsuafcie
这个作者很懒,什么都没留下…
展开
-
SD卡路径问题以及如何获取SDCard 内存
转自:http://hi.baidu.com/tdskee/blog/item/af76a0515469bb08367abe8a.htmlSD卡路径问题以及如何获取SDCard 内存昨天在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽转载 2012-05-21 20:02:42 · 1550 阅读 · 0 评论 -
android gallery3d 源码分析(二)
转自:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=83538 lists 的各个 list 里包含的各个 layer 如下所示: Layer提供了update(....),renderOpaque(....),renderBlended(....)接口,这些接口会在RenderView的转载 2012-05-21 10:38:08 · 1171 阅读 · 0 评论 -
android app 中如何监测系统电量情况
很多应用在电量过低的情况下会出现问题,特别是一些和硬件相关的应用,譬如相机,播放器等应用。之前在碰到过在电量5%的情况下开闪光灯拍照拉低电压导致系统直接死机……那么如何来解决这类问题呢?其实在系统服务中当电量发生变化时,会发出广播 ACTION_BATTERY_CHANGED在 App 中写一个广播接收器,并注册上,就可以接收到电量变化的消息了,当电量达到一定的值时,就可以采取原创 2013-08-01 14:42:23 · 4467 阅读 · 0 评论 -
android app中如何获取电源锁保持屏幕常亮
android 中电源锁有 wakeLock 和 FLAG_KEEP_SCREEN_ON 这两种。如果你想在你的应用中一进来就使屏幕保持常亮,并且不随系统亮度发生变化(一般应用都是你进去以后不操作它的话,系统自动灭屏时间到就自动灭屏进锁机界面了)。方式一,使用 FLAG_KEEP_SCREEN_ON:在进入 app 的时候添加该 flag,退出 app 的时候清除该 flag原创 2013-08-01 18:06:41 · 9298 阅读 · 1 评论 -
Android 中调试手段 打印函数调用栈信息
下面来简单介绍下 android 中的一种调试方法。在 android 的 app 开发与调试中,经常需要用到打 Log 的方式来查看函数调用点。这里介绍一种方法来打印当前栈中的函数调用关系StackTraceElement[] ste = new Throwable().getStackTrace(); if(ste.length >=1){ for(int i = 1;原创 2012-05-25 11:59:42 · 4786 阅读 · 1 评论 -
android中的数据库操作
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作。 一、android内的数据库的基础知识介绍 1.用了什么数据库 android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的。相关简介可转载 2014-06-03 19:46:41 · 1173 阅读 · 0 评论 -
Android 中Makefile的详细分析
随着移动互联网的发展,移动开发也越来越吃香了,目前最火的莫过于android,android是什么就不用说了,android自从开源以来,就受到很多人的追捧。当然,一部人追捧它是因为它是Google开发的。对一个程序员来说,一个系统值不值得追捧得要拿代码来说话。我这里并不打算分析android的代码,而是android的makefile,也许大家已经知道了在android源码里,我们可以看见很转载 2014-05-30 16:49:12 · 2114 阅读 · 0 评论 -
Android 音频焦点(Audio Focus)
转载自:http://yrom.net/blog/2013/11/08/audio-focus/引言说 Audio Focus 前先说个很简单需求:来电时暂停正在播放的音乐,电话结束时恢复播放。看到这个需求,第一反应肯定是:监听用户来电状态,作相应操作。这里不多做介绍,这样做有个不好的地方就是需要隐私权限!这样做一点也不优雅。后来搜索时看到一篇分析文章:Android来电时停止转载 2015-06-29 19:26:32 · 1284 阅读 · 0 评论 -
音频焦点 (audio focus)(二)
转载自:http://blog.csdn.net/u013754648/article/details/46663201音频焦点,这两篇文章很好的解释了音频焦点的由来,使用方法及注意事项,平时用到比较多,这里收藏了。什么叫音频焦点 (audio focus)? android系统是一个多任务操作系统,因此同一时刻允许许多任务同时工作。但是这对音频类应用来说是个挑战,因为如果多个音频同转载 2015-06-29 19:33:32 · 2139 阅读 · 0 评论 -
android 中 c/cpp创建应用剖析(一)
我们一般都是用 JAVA 编写标准 APK,要知道在 android 系统中也是允许通过 CPP/C 来写应用的。那么如何实现呢?下面写一个简单的示例:test.c#include #include #include #define LOG_TAG "TEST" #define ALOGE printfvoid d(){char *p = NULL;ALOGE("tes原创 2015-06-29 23:20:37 · 1138 阅读 · 0 评论 -
关于 Android 源码
关于 android 源码下载,由于众所周知的原因,我们无法访问到 https://source.android.com/source/downloading.html 下载到android源码现在国内也有镜像了 https://aosp.tuna.tsinghua.edu.cn/,可以通过此网站下载。如果是为了下载编译,可以按照 https://mirrors.tuna.tsingh原创 2015-11-01 15:42:58 · 797 阅读 · 0 评论 -
android gallery3d 源码分析(一)
转自:http://www.eoeandroid.com/thread-83537-1-1.htmlGallery3D概述 Gallery3D的界面生成和普通的应用程序不一样。普通程序一般一个界面就是一个activity,布局用xml或代码都可以实现,界面切换是activity的切换方式;而Gallery3D没有用android的UI系统,而是用opengl画出来的,即界面转载 2012-05-21 10:36:49 · 1903 阅读 · 0 评论 -
android4.0 中如何在app 中拦截HOME键
近日在研究一个视频锁的功能,即在 视频播放界面上设一个锁的功能,当该锁起效后,就会屏蔽back, home, menu三个键的功能。back 和 menu 键都可以通过 app层 的 onKeyDown 和 onKeyUp 函数来拦截。但是 home 键不行。于是上网查了一下在app层屏蔽 home 键的方法。主流的方法如下所示。但只在2.2,2.3平台下有效。(下面列举的方法只在a原创 2012-07-05 10:31:38 · 8684 阅读 · 8 评论 -
android 中如何监听按键的长按事件
1,key -- 实体按键,现在手机物理按键越来越少常见的有 KEYCODE_VOLUME_DOWN/UP KEYCODE_POWER KEYCODE_BACK KEYCODE_HOME KEYCODE_MENU在一个activity 重载父类 的下面这三个方法来处理按键事件 public boolean onKeyDown(int keyCode, KeyEvent eve原创 2012-12-20 18:01:21 · 39831 阅读 · 2 评论 -
android 中退出程序的两种方式
转自:http://blog.sina.com.cn/s/blog_5da93c8f0100t76l.html思考:如何安全的退出程序? finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。在开发a转载 2012-05-22 18:55:21 · 1214 阅读 · 0 评论 -
Android 中的数据存取方式之一: Preference(配置)
这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、 透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存原创 2012-06-15 20:46:44 · 1391 阅读 · 0 评论 -
Handler 消息传递机制
1,Handler 的概念Handler 是用来干什么的?1)执行计划任务,可以在预定的时间执行某些任务,可以模拟定时器2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个消息队列来处理各种消息。当你创建子线程时,你可以在你的子线程中拿到父线程中创建的Handler 对象,就可以通过该对象向父线程的消息队列发送消息了。由于Android要求在UI原创 2012-07-18 17:45:19 · 12441 阅读 · 3 评论 -
Android显示系统之View与SurfaceView更新屏幕的区别
转载自:http://www.uml.org.cn/mobiledev/201209102.asp 1、ViewViewextends Objectimplements Drawable.Callback KeyEvent.Callback AccessibilityEventSourcejava.lang.Objectandroid.view.ViewKn转载 2012-09-11 09:23:45 · 1143 阅读 · 0 评论 -
Android 中保持屏幕唤醒的方法
最近在解一个 bug 时,用到了这个知识点。在这里总结一下:bug 是这样描述的:在 Camera 切换到摄像时,摄像过程大概持续2,3分钟,就自动进锁屏了有时也会持续很长时间进锁屏。这是一个概率性的问题(即随机出现)。 从原理上分析上来看,肯定是屏幕被锁住了。log上分析会看到下面的信息:07-01 13:56:24.144 284 315 I Activit原创 2012-08-15 19:59:14 · 6451 阅读 · 0 评论 -
android 中 FLAG_SHOW_WHEN_LOCKED 的用法及解释
如何让一个activity 浮在锁屏界面的上方,返回即进入解锁界面。譬如在锁屏界面,来电时是不需要先解锁才能接听电话的。这样能带来快捷。如果你想在android 上实现 iphone 4s 上面在锁屏界面就能进照相机的话也可以按此方式来进行。只需要在 Camera 的 activity 的 onResume 函数中添加如下 flag 即可实现。import android.原创 2012-10-20 11:09:21 · 18051 阅读 · 1 评论 -
Android 中存储路径
android 4.0 上代码打印 log 如下所示:String SDPATH = Environment.getExternalSdDirectory() + "/";String PHONEPATH = Environment.getExternalStorageDirectory() + "/";通过 Log 输出为 SDPATH 是/mnt/sdcard/extern原创 2012-06-15 09:14:10 · 6798 阅读 · 0 评论 -
android 中如何监听耳机键消息
在研究一个功能:如何通过耳机键来拍照/摄像,好处自不用多说了,拍照时可以防抖那么这引出一个问题,如何在 Camera/VideoCamera Activity中监听耳机键。耳机键在 android 中的定义为 /** Key code constant: Headset Hook key. * Used to hang up calls and stop media.原创 2012-12-07 15:43:21 · 6178 阅读 · 3 评论 -
android 文件系统,创建单个文件大小有2G限制
最近有碰到一个问题,在使用 Camera 录相的时候,录像文件大小达到 2G 时,就自动保存了。起初以为是在代码中作了最大录像文件大小的限制。 long maxFileSize = mStorageSpace - Storage.LOW_STORAGE_THRESHOLD; Log.e(TAG,"----------initializeRecorder--原创 2012-12-26 10:48:14 · 7924 阅读 · 1 评论 -
android PowerManager 权限问题
问题描述:我在一个 app 中调用PowerManager 中的接口时,编译ok, 但运行时崩溃了。检查 log 出现下述错误。: FATAL EXCEPTION: main: java.lang.SecurityException: Neither user 10050 nor current process has android.permission.DEVICE_POWER.:原创 2013-01-02 16:34:21 · 20057 阅读 · 1 评论 -
ConditionVariable在Android应用开发中的用法
首先来看下ConditionVariable类的定义:C:\Program Files\Android\android-sdk\platforms\android-21\android.jarpackage android.os;public class ConditionVariable{ private volatile boolean mConditio原创 2016-03-09 22:24:17 · 1583 阅读 · 1 评论