Android
文章平均质量分 67
iteye_7401
这个作者很懒,什么都没留下…
展开
-
android uiautomator 相关
1 Runtime.getRuntime().exec 启动程序# am start -n {包(package)名}/{包名}.{活动(activity)名称} 2 extends UiAutomatorTestCase 的类中可以添加Log.通过Java标准的println来实现 System.out.println("-----setUp()-----"); 并且log...原创 2015-05-15 16:53:34 · 115 阅读 · 0 评论 -
Android mms 发送流程
1. 点击发送按钮Src/com/android/mms/ui/ComposeMessageActivity.javapublic void onClick(View v) { if ((v == mSendButton) && isPreparedForSending()) { confirmSendMessageIfNe...原创 2012-05-17 10:10:28 · 157 阅读 · 0 评论 -
SQLite数据库查询优化方案
SQLite是个典型的嵌入式DBMS,它有很多优点,它是轻量级的,在编译之后很小,其中一个原因就是在查询优化方面比较简单,它只是运用索引机制来进行优化的,经过对SQLite的查询优化的分析以及对源代码的研究,我将SQLite的查询优总结如下: 一、影响查询性能的因素:1. 对表中行的检索数目,越小越好2. 排序与否。3. 是否要对一个索引。4. 查询语句的形式二、几个查询优化的转换1. 对于单个表...原创 2012-05-16 13:50:49 · 146 阅读 · 0 评论 -
Ubuntu 下adb devices no permissions
./adb devicesList of devices attached5ce2c689 no permissions 使用以下命令后,设备识别:sudo chown root:root ./adbsudo chmod 4777 ./adb./adb devices原创 2012-05-15 13:15:09 · 112 阅读 · 0 评论 -
内存调试 D/dalvikvm( 809 ): GC_CONCURRENT freed
如果在Linux下运行adb logcat命令,可以看到如下的输出: GC_EXTERNAL_ALLOC freed 297K, 49% free 3411K/6663K, external 24870K/26260K, paused 83ms其中D/dalvikvm表示由dalvikvm输出的调试信息,括号后的数字代表dalvikvm所在进程的pid。 GC_CONCURRENT表示触...原创 2012-05-14 15:34:13 · 450 阅读 · 0 评论 -
mms建立数据连接过程(data connection)
建立新的彩信,点击发送后,会断开默认的数据业务,然后连接MMS网络。 首先调用:ConnectivityService.java—startUsingNetworkFeature,这个函数中会判断当前连接的网络是否为MMS网络,若不是就会调用函数:MobileDataStateTracker.java—类MobileDataStateTracker中的函数reconnect函数Re...原创 2012-05-10 18:47:24 · 289 阅读 · 0 评论 -
repo命令汇总
repo forall -p -c git branch //该命令会遍历所有仓库并打印每个仓库的分支情况 下面命令,是所有库都切换到分支(请在工作树目录下执行)repo forall -c 'pwd;git checkout -b cmcc remotes/korg/cmcc' ...原创 2012-05-10 10:34:20 · 795 阅读 · 0 评论 -
MMS Notification 简介
从OMA MMS封装协议中对MMS Notification的定义可以知道,MMS Notification实际上是通过WAP PUSH来实现的。WAP PUSH是可以通过两种方法来实现的,一种是通过GPRS的方式,另一种就是通过SMS的方式。但前一种方式由于开发时间长,调测复杂等原因在中国并没有被推广,而被中国移动所采纳的是第二种方式。同样在我们实验室里面的MMSC也是采用的第二种方式。下面...原创 2012-05-09 17:16:14 · 463 阅读 · 0 评论 -
MMS 协议学习笔记
什么是 MMS MMS 是 Multimedia Messaging Service (多媒体消息服务) 的缩写,中文译为“彩信”,可以用于传送文字、图片、动画、音频和视频等多媒体信息。 手机终端合成多媒体消息后,可以向网内所有合法用户发送多媒体消息,由 MMSC ( 多媒体消息中心 )对消息进行存储和处理,并负责将消息在不同MMSC之间的进行传递转发,同时接收方用户可以从MMSC接收多媒...原创 2012-05-09 17:10:38 · 249 阅读 · 0 评论 -
MMS接收流程
彩信的接收过程与短信略有不同,它主要是由应用程序负责从彩信服务中心(MMSC Multimedia Messaging Service Center)下载彩信信息。大致的流程是Frameworks会先发出一条短信,告知应用程序有一个彩信,短信中含有一些信息比如过期日期,发送者手机号码,彩信的URL等,然后应用程序自行通过HTTP取回URL所指的彩信内容。具体的流程为:Telephony ...原创 2012-05-09 13:40:16 · 398 阅读 · 0 评论 -
android sms接收流程(ril分析)
短信接收是从ril.cpp文件通过socket与RIL.java的socket交流,当ril.cpp收到短信后处理完成后会通过socket发送字节流给上层的RIL.java,而在RIL.java中有Receiver架构(该架构主要是一条线程)在不断监听, Receiver架构代码:class RILReceiver implements Runnable { byte...原创 2012-05-08 17:53:32 · 349 阅读 · 0 评论 -
使用AT命令(带ril层)和AT命令分析
ril是具体的AT指令合成者和应答解析者。从最基本的功能来讲,ril建立了一个侦听Socket,等待客户端的连接,然后从该连接上读取RIL-Java成传递来的命令并转化成AT指令发送到Modem。并等待Modem的回应,然后将结果通过套接口传回到Ril-Java层。 AT通讯的过程中有两类响应:一种是请求后给出应答,一种是通知类,即为不请自来的,例如短信通知达到,我们称该类通知为U...原创 2012-05-07 11:38:36 · 1683 阅读 · 0 评论 -
androird 内存泄露 浅析
主要是记录工作中出现的问题和网上的一些解决方案 一 java 内存分配堆内存和栈内存 1 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。2 堆是先进先出,而栈是先进后出3 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享的。4 堆的优势是可以...原创 2013-06-19 17:52:17 · 104 阅读 · 0 评论 -
SQLite --函数
一、日期和时间函数:原文地址SQLite主要支持以下四种与日期和时间相关的函数,如:1). date(timestring, modifier, modifier, ...)2). time(timestring, modifier, modifier, ...)3). datetime(timestring, modifier, modifier, ...)4). strftime(f...原创 2012-09-03 18:22:22 · 88 阅读 · 0 评论 -
Low memory killer
1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系统内存低于某值时,清除相关的程序,保...原创 2012-08-09 11:47:10 · 113 阅读 · 0 评论 -
Cursor与Adapter结合使用
查询数据库均会把查询的结果包装在一个Cursor的子类对象中返回。Cursor就像是位于结果集之上的一个游标,可以对结果集进行向前、向后或随机的访问。而Cursor本身是一个接口类,提供了对结果集访问的一些抽象方法,根据功能的不同在其子类有着不同的实现。要控制查询时返回的Cursor类型,可以自定义一个继承自CursorFactory类通过实现其newCursor()方...原创 2012-04-23 10:32:15 · 212 阅读 · 0 评论 -
浅谈ANR如何分析解决ANR /转
手机中pull处理trace.txt进去 data/anr 再pull 一:什么是ANR ANR:Application Not Responding,即应用无响应二:ANR的类型 ANR一般有三种类型: 1:KeyDispatchTimeout(5 seconds) --主要类型...原创 2012-05-17 15:55:40 · 293 阅读 · 1 评论 -
repo upload 时报错
$ repo upload如果有多个项目同时进行了改动,为了避免出错,会弹出编辑器显示有改动需要提交的项目列表。 # Uncomment the branches to upload:## project test/test1/:# branch jiangxin ( 1 commit, Mon Oct 25 18:04:51 2010 +0800):# ...原创 2012-05-20 16:37:40 · 2027 阅读 · 0 评论 -
mms slidemodel
Composing and editingMMS在Android Mms应用里面的具体实现形式,或数据结构是SlideshowModel,它是一个每个节点为SlideModel的ArrayList,SlideModel是一个Model的List,也就是它可以接收任何Model的子类,Audio,Video,Image和Text都可以放到SlideModel上面。SlideModel主要用于管理...原创 2012-05-25 15:31:06 · 144 阅读 · 0 评论 -
android UI test Espresso
google android UI测试工具 espresso相关1 一些具体APi使用的例子https://code.google.com/p/android-test-kit/wiki/EspressoSamples onView(withId(R.id.action_save)) .perform(click());2 从espresso 2开始,已经集成到sd...原创 2015-04-10 18:31:12 · 110 阅读 · 0 评论 -
android 安全(转)
一 如何不被反编译解析1防止反编译工具的反编译 查看反编译工具的源码,查找漏洞 压力测试2 混淆代码3 加壳保护 ndk保护,简化apk,dex,核心代码使用.so文件或者.jar4 防止动态调用 挂钩 运行时数据,添加调试器代码,find, kill 进程。5 防止重编译打包 注入代码,添加签名测试,如果不一致,kill 进程二 恶意攻击...原创 2014-12-26 12:37:18 · 101 阅读 · 0 评论 -
nexus related
1 nexus drivers https://developers.google.com/android/nexus/driverseg: nexus 5 's name is hammerhead.22014-12-17 15:29:46 · 84 阅读 · 0 评论 -
git related
1 see all detailed git info about single filegit log --pretty=oneline filename 2 把git diff显示的变成文件(文件名字pp) git diff >pp3查找git提交log中包含的key wordsgit log --grep='OTA' ./ 4 修改分支名 git b...原创 2014-12-17 15:24:13 · 289 阅读 · 0 评论 -
ubuntu android studio 配置和使用
Ubuntu 64位,Android studio 的安装,配置和使用1 Download it.2 设置环境变量:export ANDROID_STUDIO=/home/usrname/Documents/android-studio/binexport PATH=${ANDROID_STUDIO}:$PATH 这样任何界面,都可以studio.sh启动。 3 ...原创 2014-12-10 17:34:01 · 306 阅读 · 0 评论 -
eclipse+ADT+android配置相关
1 eclipse 过旧时,ant 运行不了,会报sdk.dir is missing.需要配置:project.properties文件,添加sdk具体路径sdk.dir=/home/username/Documents/sdk/2 使用sdkmanager更新后,This Android SDK requires Andr...ate ADT to the latest可以...原创 2014-12-05 16:40:27 · 141 阅读 · 0 评论 -
anroid 开发小知识点
1 1)代码 获取APK安装路径和包名 List<ApplicationInfo> apps1 = manager.getInstalledApplications(0); for(ApplicationInfo info:apps1){ Log.i(TAG, "info="+info.sourceDir);...原创 2014-10-09 09:52:35 · 84 阅读 · 0 评论 -
java层堆栈调用的打印
1. 在指定的函数内打印相关java调用Log.d(TAG,Log.getStackTraceString(new Throwable())); 2 出异常时打印当前堆栈Exception::printStackTrace() 3 使用Android自带的内存分析工具,分析OOM问题hprof-conv dump.hprof converted-dump...原创 2012-12-26 15:14:53 · 239 阅读 · 0 评论 -
Android.mk文件解析
以 tools/tradefederation/Android.mk 下的文件来说明1 LOCAL_MODULE := tradefed 表示这个包的名字叫tradefed,编译的时候可以 make tradefed.2原创 2016-01-27 14:01:27 · 220 阅读 · 0 评论 -
NanoHttpd 构建android 手机端的HttpServer
NanoHttpd是Github上的一个开源项目, 通过下载jar包,新建一个android project, 使用 extends NanoHTTPD 就可以实现一个apk 当WebServer。示例为显示访问此server的Useragent 和将UA写入文件import fi.iki.elonen.NanoHTTPD;public class UAsetHttpServer ...原创 2015-10-20 16:24:31 · 921 阅读 · 0 评论 -
sms AT指令返回错误代码: CMS errors & CME errors 的区别!
CMS的是短信中心的返回错误。CME 是设备返回的错误错误代码表: 以下是最常见的CMS的错误:CMS的错误:1未分配的号码CMS的错误:8算确定限制CMS的错误:10呼叫呲CMS的错误:拒绝21短消息传输CMS的错误:27服务的目标出CMS的错误:28 Unindentified订户CMS的错...原创 2012-10-26 18:35:27 · 758 阅读 · 0 评论 -
sms 发送 radio log
发送短信:radio.log 关键字 :SEND_SMS发送:(包括一条成功的和一条失败的) 11-27 14:50:11.751 D/AT ( 100): Channel3: AT< +CSQ: 12,9911-27 14:50:11.751 D/RILC ( 100): [UNSL]< UNSOL_SIGNAL_STRENGTH {[ 1...原创 2012-10-26 17:25:55 · 290 阅读 · 0 评论 -
permission denial : android.permission.INTERACT_ACROSS_USERS_FULL
在android5.0上运行 Runtime.getRuntime("am start -n com.android.settings/.Settings") 时,抛出异常:D/AndroidRuntime( 8331): Calling main entry com.android.commands.am.AmW/ActivityManager( 750): Permission ...原创 2015-08-05 16:50:29 · 4418 阅读 · 2 评论 -
android getprop() 和 java System.getPropety()
1 System.getPropety()是java中的方法,必须set, get才会有值。且不能跨进程使用。http://stackoverflow.com/questions/4483001/scope-of-system-setproperty 2 getprop()读取的是android系统的一些配置数据,比如 ro.product.locale.region,想从代码中得...原创 2015-06-04 14:39:03 · 1243 阅读 · 0 评论 -
短信开发基础知识
1.1. 基本知识 短信开发指通过串口 at 命令驱动短信进行短信发送和接收操作。 短信操作分为三种模式: block,pdu 和 Text短信传送有三种编码: 7 位, 8 位, UniCodeat 命令 ,at 命令是驱动短信设备的标准工业命令,除了业界的标准之外,每个厂商可能会对其进行扩展,不过一般来说,标准命令应该够用,这次用的是西门子 tc35i ,有专门的 at...原创 2012-06-02 14:41:10 · 162 阅读 · 0 评论 -
activity 基础补习
在android里,有4种activity的启动模式,分别为: ·standard: 标准模式,一调用startActivity()方法就会产生一个新的实例。 ·singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。 ·singleTask: 会在一个新的ta...原创 2012-03-21 10:28:38 · 93 阅读 · 0 评论 -
android手势识别
一 手势文件的生成 即建立手势库 在使用手势识别的项目中,很多都用到了gestures这个文件,使用户的操作和此文件比对来进行操作。 在这里,我们使用SDK自带例子GestureBuilder建立手势库,如我项目是2.2的,那么我是用的是(位置:android-sdk-windows\samples\android-8\GestureBu...原创 2011-11-16 11:39:52 · 160 阅读 · 0 评论 -
使用handler处理progressbar
1.设置布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fi原创 2011-09-16 19:00:15 · 173 阅读 · 0 评论 -
接收来自AppWidget的广播并更新控件状态
一 接收来自App Widget的广播 1.在AndroidManifest.xml为AppWidgetProvider注册新的intente-filter; 2.使用getBroadcast()创建一个PendingIntent; 3.为App Widget中的控件注册处理器; 4.在onReceive方法中接收广播;a.布局文件中有个Button &l...原创 2011-09-16 18:08:28 · 258 阅读 · 0 评论 -
在App Widget中添加Button并实现监听
PendingIntent:创建方法: getActivity(Context, int, Intent, int), getBroadcast(Context, int, Intent, int), getService(Context, int, Intent, int); RemoteViews的作用:1.该对象表示了一系列的View...原创 2011-09-16 17:25:05 · 319 阅读 · 0 评论 -
App Widgets 窗口小部件
App Widgets是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。 相关的基本概念: AppWidgetProviderInfo 为App Widgets提供元数据,包括布局、更新频率等。被定义在xml文件中。 AppWidgetProvider 定义了App Widgets基本生命周期函数。一 创建一个...原创 2011-09-16 17:09:46 · 136 阅读 · 0 评论