工作历程点点滴滴
ajianajian1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
写在20120524:aidl
Android IDL =aidl 是一种idl(接口定义)语言,轻量级它可以生成一段代码,可以使在一个Android设备上运行的两个进程使用内部通信进程进行交互。1.建立一个aidl文件package com.google.android.sample;interface MDSInterface{ void playFile(int position);};2....原创 2013-07-31 09:07:31 · 172 阅读 · 0 评论 -
写在20120106:user模式下,新增应用打包到system.img
user模式下,新增应用有时候会出现无法编入到system.img中,如何打包到system.img,区分为两种途径:1.在device/qcom/common/common.mk文件中将该应用程序的模块名称添加到应用程序列表中即可。2.加到某个项目的编译脚本Project_name.mk,该编译脚本一般位于device/company_name/project_name/Project_...原创 2013-07-24 11:21:15 · 157 阅读 · 0 评论 -
写在20111215:Apk的安装和卸载代码片段
Apk的安装: 按照正常的打开查看方式,发送Intent,携带Action为Action_View、Uri、type,设置模块收到apk后缀名的文件,回去解析该Apk进行安装。Apk的卸载: 同样是需要发送Intent给Setting来处理 //获取apk文件的包信息 PackageInfo pkgInfo = getApkInStoragePackageInf...原创 2013-07-24 11:20:58 · 130 阅读 · 0 评论 -
写在20111214: PackageInfo ApplicationInfo ActivityInfo ResolveInfo
ApplicationInfo是从一个特定的应用得到的信息。这些信息是从相对应的Androdimanifest.xml的标签中收集到的。 ResolveInfo这个类是通过解析一个与IntentFilter相对应的intent得到的信息。它部分地对应于从AndroidManifest.xml的标签收集到的信息。 PackageManager这个类是用来返回各种的关联了当前已装入设备了...原创 2013-07-23 09:05:51 · 238 阅读 · 0 评论 -
写在20111213:判断一个应用是否为系统应用
if((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM)==0){ //非系统应用}在Android2.3 API Level 为9中,ApplicationInfo类新增的firsrInstallTime 和LastUpdateTime这两个字段,可以直接获取到APK的创建和上次修改时间。...原创 2013-07-23 09:05:28 · 215 阅读 · 0 评论 -
写在20111114:DeskClock功能Map
Alarm 定义闹钟的一系列属性(时间、重复、铃声、标签)AlarmAlert 以广播接收器接收闹钟id和内容AlarmAlertFullScreen 闹钟开始弹出时AlarmAlertFullScreen,其中执行响铃、点亮、解锁屏幕等操作AlarmAlertWakeLock 当闹钟响铃时点亮解锁屏幕AlarmClock Alarm页面的设置AlarmInitRece...原创 2013-07-23 09:05:02 · 162 阅读 · 0 评论 -
写在20111113:判断SD卡容量是否已满
public static boolean isEnoughSpace(long size){ if(Environment.getExternalStorageDirectory().equals (Environment.MEDIA_MOUNTED)){ File path = Environment.getExternalStorageDirector...原创 2013-07-23 09:04:48 · 124 阅读 · 0 评论 -
写在2011111:烧录app侧编译文件的批处理脚本
如题,也即是烧录arm11,烧录时保证此时能识别手机的adb端口,将下面的脚本写入一个fast_boot.bat文件中,要烧录时,双击该批处理文件即可adb reboot bootloaderfastboot flash boot boot.imgfastboot flash userdata userdata.imgfastboot flash system system.img...原创 2013-07-23 09:04:11 · 145 阅读 · 0 评论 -
写在20111112:单行可滚动显示的GridView
[color=red] [color=red] [/color]原创 2013-07-22 09:52:02 · 89 阅读 · 0 评论 -
写在20111111:定位光标到特定字符以及复制的实现
光标定位:EditText editText = (EditText)findViewById(r.id.textId);editText.setText("AAA");editText.setSelection(3);选择字符进行复制:ClipboardManager clipboard=(ClipboardManager)getSystemService(CLIPBOA...原创 2013-07-22 09:43:27 · 154 阅读 · 0 评论 -
写在20111028:Apk的安装和卸载
APK为AndroidPackage的缩写Android应用安装有如下四种方式:1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.ADB工具安装――没有安装界面。4.第三方应用安装――通过SD卡里的APK文件安装,有安装界面,由 packageinstaller.apk应用处理安装及卸载过程的界面。应用安装的流程...原创 2013-07-22 09:16:51 · 106 阅读 · 0 评论 -
写在20111027:selector
假设现在需要设置一个ListView的ListItem点击的背景色,在drawable目录下创建下面的文件drawable/list_bg_selector.xml 实现按钮的点击效果 ...原创 2013-07-22 09:16:42 · 83 阅读 · 0 评论 -
写在20111020:应用界面进入出现闪屏问题
有些应用用户选择进入的时候可能需要finish当前的界面Activty,这时新起的这个界面Activty绘制出来,旧的界面Activty关闭的时候会让用户在视觉上有短暂的闪屏,这种情况都可以通过设置界面的主题为透明来解决。在每一个Activity配置的时候添加:android:theme="@style/Theme.Translucent"同时在res/values/下面添加一个sty...原创 2013-07-22 09:16:32 · 143 阅读 · 0 评论 -
写在20111011:checkbox的onClick事件
1.进入声音设置,勾选“选择操作音”;2.勾选文件或文件夹时观察是否有选择操作音;此时应该会对应的有选择操作音的,但为什么无选择操作音? 原来SoundManager对于CheckBox的check事件不感冒,只对click事件产生作用,而对于CheckBox有setOnCheckedChangeListener的API,但是没有setOnClickListene...原创 2013-07-19 12:08:08 · 464 阅读 · 0 评论 -
写在20111010:添加快捷方式到桌面
1.应用自身启动时创建快捷方式 当我们在模拟器或手机上屏幕上长按屏幕会弹出选择框,询问是否添加快捷方式等操作:当我们选择ShortCut后,就会出现一个ListView列出所有可以添加的items: 下面通过手动建立一个程序,添加了intentFilter为android.intent.action.CREATE_SHORTCUT的intent,这样当选择了它后,就会在桌面生成一个自定...原创 2013-07-19 12:07:56 · 104 阅读 · 0 评论 -
写在20120207:拼接字符串
要拼接字符串,又需要拼接的字符串可以翻译各种不同的语言。在strings.xml中在需要拼接的字符串中添加标签xliff:g Selected %1$s item(s) 要识别此标签,需要xml的根标签内添加其命名空间以示支持。 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" %1$s其中这个字符串的id可以随便...原创 2013-07-24 11:21:39 · 125 阅读 · 0 评论 -
写在20120215:CTS测试不通过项验证
往往遇到CTS测试不通过项,修改之后需要验证,只需要单项进行CTS验证即可,例如:$sudo -icd /home/company/2.3/android-cts-2.3 R11/tools./startctscts_host > start --plan CTS -t android.widget.cts.AutoCompleteTextViewTest#testPerfor...原创 2013-07-24 11:21:52 · 217 阅读 · 0 评论 -
写在20120221:Android系统日志
Android系统提供了详细的日志,包括以下几类日志:main:应用日志输出缓冲区,绝大部分应用(包括系统框架)日志都输出到该缓冲区。该缓冲区的大小为64KB。radio:无线应用日志输出缓冲区,大小为128KB。events:系统事件日志输出缓冲区,大小为64KB。system:系统服务日志输出缓冲区,大小为64KB。其他还有linux提供的日志: ksmg:linu...原创 2013-07-24 11:22:09 · 145 阅读 · 0 评论 -
写在20120510:事件流程传递机制
学习:博客《老罗的Android之旅》中的事件传递,了解详情可以去他的博客看看,很多经典详细的源码分析!值得一看。 在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的; 在系统启动的时候,SystemServer会启动窗口管理服务WindowManagerServi...原创 2013-07-31 09:07:03 · 188 阅读 · 0 评论 -
写在20120428:Timer的使用
在非UI线程中是不允许执行UI操作的,一般在非UI线程中可以采用Timer和handler来完成UI更新,或者直接用handler的postDelayed(),或者用AsyncTask(这里不展开)。其代码片段如下:Handler mHandler = new Handler(){ public void handleMessage(Message msg) { ...原创 2013-07-31 09:04:51 · 165 阅读 · 0 评论 -
写在20120410:PopupWindow使用报错
在使用PopupWindow时报如下错误:android.view.WindowManager$BadTokenException: Unable to add window token null……PopupWindow必须在某个事件中显示或者是开启一个新线程去调用,不能直接在onCreate方法中显示一个PopupWindow,否则永远会报错。...原创 2013-07-31 09:04:31 · 143 阅读 · 0 评论 -
写在20120229:多点触控,屏幕缩略图
目前手机应用已经越来越多的用到了手势,其中Launcher中大家比较熟悉的就是屏幕缩略图,那么简单的实现就需要了解之前的那篇博客,关于ViewGroup和View的触屏事件的描述,这里也用到了比较重要的两个方法。onInterceptTouchEvent()和onTouchEvent()。 熟悉Launcher的人都会知道源码中会有一个DragLayer类,这个DragLayer...原创 2013-07-31 09:03:57 · 147 阅读 · 0 评论 -
写在20120426:按Menu功能键未调用onPrepareOptionsMenu()
Android4.0平台上第一次按Menu功能键未调用onPrepareOptionsMenu(),很诡异,一般在2.2/2.3的Android平台上,onCreateOptionsMenu()和onPrepareOptionsMenu()这两个函数在创建Activity的时候就会被依次被调用,但Android4.0平台上第一次按Menu功能键却怎么没有调用onPrepareOptionsM...原创 2013-07-26 09:03:33 · 213 阅读 · 0 评论 -
写在20120423:让SQLite不区分大小写
SQLite本身是区分大小写查询的,大部分数据库在进行字符串比较的时候,对大小写是不敏感的,但是在SQLite中,对大小写是敏感的。那么有时候有这样的需求,让SQLite不区分大小写查询,那么有如下三种方式:1.使用大小写转换函数LOWER、UPPER。2.在进行比较时强制声明不区分大小写:"COLLATE NOCASE" 。3.创建表时声明该字段不区分大小写。这三种方...原创 2013-07-26 09:03:13 · 356 阅读 · 0 评论 -
写在20120412:onClick()方法提示错误
public void onClick(View v){}提示错误:必须实现抽象方法。找了半天原来是利用自动导包工具导入的包张冠李戴了。本来应该是import android.view.View.OnClickListener却自动导入成了import android.content.DialogInterface.OnClickListener,修改为上面的就OK了...原创 2013-07-26 09:02:56 · 163 阅读 · 0 评论 -
写在20120411:静态方法使用时注意事项
静态方法中不能出现this,super之类的关键字原因:静态对应的描述为属于某一个类,而this,super对应的描述属于某一个对象,编译的时候,会先编译静态的,所以在静态方法中调用this,super不合逻辑,引用不到当前的实例。...原创 2013-07-26 09:02:43 · 124 阅读 · 0 评论 -
写在20120410:layout_weight的使用
layout_weight的使用环境:1.控件所在Layout必须是LinearLayout。2.LinearLayout的orientation属性设置成"horizontal"3.子控件的layout_weight属性设置为"fill_parent"原创 2013-07-26 09:02:30 · 120 阅读 · 0 评论 -
写在20120402:退出应用程序
当用户点击自定义的退出按钮或者返回键时(需捕获动作),我们在onDestroy()里强制退出应用,或者直接杀死进程,具体操作的代码片段如下:@overrideprotected void onDestroy(){ super.onDestroy(); System.exit(0); //或者使用下面这种方式 //android.os.Process.kill...原创 2013-07-25 08:58:43 · 116 阅读 · 0 评论 -
写在20120329:跳转到Launcher主界面
从某一个Activity跳转到Launcher的主界面(桌面)Intent intent = new Intent(Intent.ACTION_MAIN);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addCategory(Intent.CATGORY_HOME);startActivity(intent);...原创 2013-07-25 08:58:27 · 598 阅读 · 0 评论 -
写在20120307:EditText的text过长处理
EditText et=new EditText("");et.setFilters(new InputFilter[]{new InputFilter.lengthFilter(254)});这样就对该编辑框的输入字符进行了限制,只能输入254个字符原创 2013-07-25 08:58:17 · 248 阅读 · 0 评论 -
写在20120307:layout_gravity和gravity
android:layout_gravity="Center" 设置控件居中android:gravity="Center" 设置文本居中原创 2013-07-25 08:58:04 · 107 阅读 · 0 评论 -
写在20120301:文本文件的编码格式
怎样判断文本文件的编码格式?不同编码的文本,是根据文本的前两个字节来定义其编码格式的:ANSI: 无格式定义Unicode:前两个字节为FFFEUnicode big endian:前两个字节为FEFFUTF-8:前两个字节为EFBB...原创 2013-07-25 08:57:52 · 135 阅读 · 0 评论 -
写在20111008:内嵌checkbox的ListItem点击无响应
在ListView里加入CheckBox,会导致点击ListView的item之后无法响应,只能点击CheckBox,原因是CheckBox的事件响应优先级高于ListItem,所以屏蔽了ListItem的单击事件,如果要使用onItemClick事件,需要设置CheckBox的android:focusable="false"。...原创 2013-07-19 12:07:43 · 110 阅读 · 0 评论 -
写在20110922:Broadcast
Broadcast分为三种:1.普通广播 无序 this.sendBroadcast(i) this.getContext().sendBroadcast(i, "权限")2.有序广播 (可以配置有序广播的优先级) this.getContext().sendOrderedBroadcast(i, null);3.粘性广播 this.s...原创 2013-07-19 12:06:31 · 94 阅读 · 0 评论 -
写在20110626:NDK、JNI
Android系统中的应用程序都是用Java开发的。Android NDK使我们能够在android上使用C/C++开发的原生代码。有两个理由使用NDK: 一是合理的重用现有的代码;二是在程序中某些关键的部分提高执行效率。这里先讲几个符号的约定: - 你的Android应用程序工程的目录 - 你的ndk安装的目录捷径这里先扯一句题外话 -- 如果你不需要使用NDK开发,...原创 2013-07-15 08:55:36 · 101 阅读 · 0 评论 -
写在20110625:手机分辨率
1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率...原创 2013-07-12 08:56:04 · 93 阅读 · 0 评论 -
写在20110623:编译、QCN
因为全编译比较耗时,所以一般会选择单模块编译,第一次单模块编译,会先编译framework层,然后会编译模块需要的库文件,最后再编译模块本身。1.全编译./build.sh Project_Name (user/eng)默认不写时为eng版本2.单模块编译2.1../build.sh Project_Name Module_Name2.2.source build/envset...原创 2013-07-12 08:55:07 · 372 阅读 · 0 评论 -
写在20110622:MimetypeMap
mimetype在FM中应用是及其广泛的,存储空间上存放着各种类型的文件,如果是第三方公司专门做的Apk会将此映射表抽取到FM工程中,如果是直接系统上开发,不用抽取该文件,在4.0之前的Android系统中,该映射表是存放在frameworks\base\core\java\android\webkit\MimeTypeMap.java ,4.0之后的Android系统中,该映射表存放...原创 2013-07-12 08:54:39 · 168 阅读 · 0 评论 -
写在20110621:DDMS、Logcat、adb、给手机烧录版本
1.DDMS、Logcat、TraceView、MATDDMS是一个程序执行查看器,连接手机可以实时的观察线程和堆栈等信息;Logcat和DDMS的功效差不多,它可以自动保存一段时间操作的线程和堆栈信息,然后将其导出到对应的文件中,譬如手机一般只有一个USB插槽,此时若连接OTG设备,此时无法在线的抓取Log,但操作一段时间之后,拔掉外接设备,用Logcat就可以抓取到前段时间的操作的线程和堆...原创 2013-07-12 08:54:02 · 216 阅读 · 0 评论 -
写在20110620:git常用命令
1.git status 查看当前未提交的修改文件2.git diff 查看当前未提交的具体修改内容3.git add 向服务器添加修改的文件4.git rm 向服务器提交本地删除的文件...原创 2013-07-11 08:35:21 · 86 阅读 · 0 评论
分享