- 浏览: 97777 次
- 性别:
- 来自: 成都
最新评论
-
meohao:
雨花台舞水 写道记笔记是好的,但iteye毕竟跟大家分享知识, ...
写在20120411:静态方法使用时注意事项 -
雨花台舞水:
记笔记是好的,但iteye毕竟跟大家分享知识,经验的不错的平台 ...
写在20120411:静态方法使用时注意事项 -
meohao:
只是找时间把之前的东东归档一下,呵呵!说不定哪天忘记了还可以看 ...
写在20111213:判断一个应用是否为系统应用 -
Coolala_cs:
最近很是清闲啊~出了很多这样的博客文章?好像回忆录一样...
写在20111213:判断一个应用是否为系统应用 -
lls17:
与现实中的追MM联系起来,更形象了。模式学起来也更有趣了~
追MM与23种设计模式
文章列表
为什么自定义的Receiver总是无法接收到SD卡插拔的事件。检查注册SD卡插拔事件是否有这句话 filter.addDataScheme("file"); // filter是IntentFilter对象,那么为什么有这句代码就可以解决了呢?
了解一下android的Intent-filter是如何 ...
如彩信、Email、Gmail、网站等添加附件,如果应用本身没有做文件浏览选择的功能,此时应用可以通过发送ACTION_GET_CONTENT的系统接口来获取其他具备浏览选择文件功能的应用来支持该功能,比如此时添加附件会弹出一个选择框,有图库、音乐播放器等,现在如果想让FM也支持,在AndroidMenifest.xml中添加如下配置:
<intent-filter>
<action andriod:name="android.intent.action.GET_CONTENT"/>
<category android:name=&quo ...
手机上通常会遇到多媒体应用和FM等都能操作存储介质上的文件,有时候需要两边及时的同步,用发扫描广播的形式也可以通知其他应用文件发生变化了,也可以用注册一个FileObserver在应用中随时来监听存储介质上的文件是否发生变化,当然也要动态刷新之后界面才会更新。FileObserver类位于android.os包下,是用于监听文件访问、创建、修改、删除、移动等操作的监听器,基于linux的INotify。
FileObserver是个抽象类,必须继承它才能使用。每个FileObserver对象监听一个单独的文件或者文件夹,如果监视的是一个文件夹,那么文件夹下所有的文件和级联子目录的 ...
写在20110830:排序
- 博客分类:
- 工作历程点点滴滴
定义一个抽象类文件(目录)排序
private abstract class FileComparator implements Comparator<FileInfo> {
@Override
public int compare(FileInfo obj1, FileInfo obj2) {
if (obj1.IsDir == obj2.IsDir) {
return doCompare(obj1, obj2);
}
return obj1.IsDir ? -1 : 1;
}
...
1.Activity的生命周期
首先是onCreate()函数,顾名思义这个函数在Activity开始创建时调用,可以在其中定义一些初始化操作。接下来是onStart()方法,这个方法在Activity开始被执行时调用,它紧随onCreate()方法之后调用,接着是onResume ...
写在20110721:横竖屏切换
- 博客分类:
- 工作历程点点滴滴
对于横竖屏切换的问题,大概的解决办法是:
1.只竖屏显示
android:screenOrientation="portrait"
只横屏显示
android:screenOrientation="landscape"
2.简单的防止重载
Activity每次横竖屏切换都会重新调用onPause->onStop->onDestory-> onCreate>onStart->onResume,为此涉及到内容和数据的保存和读取,否则转屏之前的内容就会消失了。很多时候为了保存之前的数据, ...
多媒体扫描从MediaScannerService开始,了解
packages/providers/MediaProvider/
1.MediaProvider.java
1.1 MediaScanner调用ScanDirectories中的processDirectory进入JNI层
1.2 JNI层调用PVMediaScanner的processDirectory
1.3 PVMediaScanner的processDirectory为目录下的文件,调用MyMediaScannerClient的scanFile
1.4 MyMediaScannerClient运行scanFi ...
对FM应用进行CTS测试,报出错误 android.permission.cts.DebuggableTest#testNoDebuggable测试,这个CTS测试不通过。
CTS 要求应用的(app.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0)。在该应用中的AndroidMenifest.xml下的Application标签下添加android:debuggable="false"即可。
写在20110626:NDK、JNI
- 博客分类:
- 工作历程点点滴滴
Android系统中的应用程序都是用Java开发的。Android NDK使我们能够在android上使用C/C++开发的原生代码。有两个理由使用NDK: 一是合理的重用现有的代码;二是在程序中某些关键的部分提高执行效率。
这里先讲几个符号的约定:
<project> - 你的Android应用程序工程的目录
<ndk> - 你的ndk安装的目录
捷径
这里先扯一句题外话 -- 如果你不需要使用NDK开发,只是需要使用第三方用NDK开发的库,那么你只需要这样做:
把第三方提供的libxxx.so放到你的<project>/libs/armeabi/下, ...
写在20110625:手机分辨率
- 博客分类:
- 工作历程点点滴滴
1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。
dip的换算:
dip(value)=(int ...
1.下载froyo
git clone ……
需要添加prebuild才能再编译,解压该压缩包
tar -xf prebuild.tgz
2.删除当前目录
rm -rf ./*
3.编译源码
编译Froyo时需要删除高通三个文件夹
device/qcom/qsd8250_ffa
device/qcom/qsd8250_surf
device/qcom/msm7630_surf
然后make clean
./build.sh Projet_name
写在20110623:编译、QCN
- 博客分类:
- 工作历程点点滴滴
因为全编译比较耗时,所以一般会选择单模块编译,第一次单模块编译,会先编译framework层,然后会编译模块需要的库文件,最后再编译模块本身。
1.全编译
./build.sh Project_Name (user/eng)默认不写时为eng版本
2.单模块编译
2.1../build.sh Project_Name Module_Name
2.2.source build/envsetup.sh 可以按Tab键补充后面的字串,运行编译环境,否则提示mmm或者mm找不到。
choosecombo
mmm module_path
或者
cd module_path
mm
也可 ...
mimetype在FM中应用是及其广泛的,存储空间上存放着各种类型的文件,如果是第三方公司专门做的Apk会将此映射表抽取到FM工程中,如果是直接系统上开发,不用抽取该文件,在4.0之前的Android系统中,该映射表是存放在frameworks\base\core\java\android\webkit\MimeTypeMap.java ,
4.0之后的Android系统中,该映射表存放在libcore\luni\src\main\java\libcore\net\MimeUtil.java,该映射表系统的其他部分应用也会用到,各应用之间支持的文件类型可以通过访问该应用而进行同步,一般会 ...
1.DDMS、Logcat、TraceView、MAT
DDMS是一个程序执行查看器,连接手机可以实时的观察线程和堆栈等信息;Logcat和DDMS的功效差不多,它可以自动保存一段时间操作的线程和堆栈信息,然后将其导出到对应的文件中,譬如手机一般只有一 ...
写在20110620:git常用命令
- 博客分类:
- 工作历程点点滴滴
1.git status 查看当前未提交的修改文件
2.git diff 查看当前未提交的具体修改内容
3.git add 向服务器添加修改的文件
4.git rm 向服务器提交本地删除的文件
5.git log --author=*** 查看某人的修改
git log -p 查看每一条修改的具体内容
git lo ...