`
meohao
  • 浏览: 97777 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
   为什么自定义的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对象监听一个单独的文件或者文件夹,如果监视的是一个文件夹,那么文件夹下所有的文件和级联子目录的 ...
定义一个抽象类文件(目录)排序 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 ...
对于横竖屏切换的问题,大概的解决办法是: 1.只竖屏显示 android:screenOrientation="portrait" 只横屏显示 android:screenOrientation="landscape" 2.简单的防止重载 Activity每次横竖屏切换都会重新调用onPause-&gt;onStop-&gt;onDestory-&gt; onCreate&gt;onStart-&gt;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"即可。
    Android系统中的应用程序都是用Java开发的。Android NDK使我们能够在android上使用C/C++开发的原生代码。有两个理由使用NDK: 一是合理的重用现有的代码;二是在程序中某些关键的部分提高执行效率。 这里先讲几个符号的约定: <project> - 你的Android应用程序工程的目录 <ndk> - 你的ndk安装的目录 捷径 这里先扯一句题外话 -- 如果你不需要使用NDK开发,只是需要使用第三方用NDK开发的库,那么你只需要这样做: 把第三方提供的libxxx.so放到你的<project>/libs/armeabi/下, ...
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
因为全编译比较耗时,所以一般会选择单模块编译,第一次单模块编译,会先编译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的功效差不多,它可以自动保存一段时间操作的线程和堆栈信息,然后将其导出到对应的文件中,譬如手机一般只有一 ...
1.git status                        查看当前未提交的修改文件 2.git diff                          查看当前未提交的具体修改内容 3.git add                           向服务器添加修改的文件 4.git rm                            向服务器提交本地删除的文件 5.git log --author=***              查看某人的修改    git log -p                        查看每一条修改的具体内容    git lo ...
Global site tag (gtag.js) - Google Analytics