摘要: 1. linux远程windows:a、打开windows的远程连接服务;b、rdesktop -f -a 16 192.168.11.88:3389c、ctrl+alt+enter最小化参考http://bbs.51cto.com/thread-717929-1.html2.linux访问windows共享:smb://192.168.11.883. 阅读全文
posted @ 2012-08-30 19:08 TovenZhou 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 目的:作为其它组件的一部分。onBind()返回IBinder, 3种定义IBinder的方式:1、继承Binder:服务app私有,仅作为后台worker thread,最简单。client直接调用service的public方法。2、Messager:可IPC,单线程。service定义一个Handler来handleMessage。Messager中有handler、IBinder属性,把所有client的请求通过messager中的handler放到一个queue中,因此service每次收到一个请求。同时处理多个请求需用AIDL。 client需要清楚service定义的messa. 阅读全文
posted @ 2012-08-30 19:05 TovenZhou 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1. Android为每个app(即apk)分配一个单独的userId,安装时赋予AndroidManifest中申请的权限,文件访问权限;默认一个app运行在单独的进程中,有独立的VM,通过唯一的userID保证访问权限,adb shell ps 可看到以app_数字开头的多个用户。多个app共用一个userID:拥有相同权限,为了节约系统资源,可运行在同一个进程、VM中,需要相同的签名证书。2. 每个app都有4中组件组成,每种组件启动都会启动app进程;通过Intent实现进程间通信。在AndroidManifest中声明的<activity>、<service> 阅读全文
posted @ 2012-08-30 19:05 TovenZhou 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 可重用的activity中的模块,避免activity切换,有自己的生命周期、状态、back stack。3.0引入Fragment目的:支持大屏幕中动态灵活的UI设计。1、实质:在onCreateView()中返回的是view;类似自我实现的view栈。DialogFragment类似自我实现的dialog栈。优点:加入了显式的生命周期。2、添加fragment到activity: xml的layout中每个<fragment>需要赋予唯一的android:id/tag(非ui);3、FragmentTransaction:一系列fragment操作add、remove、repl 阅读全文
posted @ 2012-08-30 19:04 TovenZhou 阅读(1406) 评论(0) 推荐(0) 编辑
摘要: 引入目的:在用户没有同app交互时可运行在后台;如果目的是在交互时不打断main thread可以使用thread,分两种:1、startService(intent):app结束后也可运行。通常执行单个操作、不返回结果。实现onStartCommand()。stopSelf()、stopService()停止。2、bindService():所有绑定的app unbind后,service被销毁;可C-S模式的IPC,跨进程通信--发送请求、获取结果。实现onBind(),返回IBinder用于与C端交互。3、service在main thread中运行,需执行耗时操作应该创建新thread 阅读全文
posted @ 2012-08-30 19:04 TovenZhou 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 1. xml: 静态、较确定;2. view:runtime动态改变;3. Adapter:把datasource绑定到AdapterView的子类;如:从array获取数据,convert每项data为一个可以加到AdapterView layout 中的view;定制性较强,使用广泛,常见的有: AdapterView的子类:ListView、GridView;setAdapter(adapter,每个item的layout,dataSrc); Adapter的子类:ArrayAdapter、SimpleCursorAdapter;data改变后调用notifyDataSetChang.. 阅读全文
posted @ 2012-08-30 19:02 TovenZhou 阅读(112) 评论(0) 推荐(0) 编辑
摘要: ui事件在Event传播链中通过EventHandler处理,Event传播链根据ui事件而不同,EventHandler如返回true则表示consume了该event,不再传播。1. click:不需要返回结果;2. long click:上下文菜单;3. key:传播链从view树top-down,因此可在顶端捕获事件;4. touch:有多个action,view树down-up传播,注意返回结果;5. focus:可在xml中给trackball设置nextFocusUp, nextFocusRight等动作; 阅读全文
posted @ 2012-08-30 19:02 TovenZhou 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Content Provider:C-S架构,主要用于IPC数据, S端类似Service端,实现ContentProvider; C端使用ContentResolver。S端:需求:给其它app提供复杂数据;作为copy的数据源;提供搜索建议;URI:authority保证唯一性,可用包名.provider path: 阅读全文
posted @ 2012-08-30 19:01 TovenZhou 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 通过LoaderManager中的回调简化Activity与Fragment的数据加载,ContentProvider数据源通过CursorLoader来简化加载,通过SimpleCursorAdapter简化数据显示。类似Ios的tableView的数据加载效果。 阅读全文
posted @ 2012-08-30 19:00 TovenZhou 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1、默认同一个app的所有组件运行在同一个process中,<application>、<activity>、<service>中的process属性可以设置组件所属的process;默认使用<application>中的包名process,每个组件可以设置自己的process值,设置私有或者公共进程名。同一个userID和签名证书的app可共享process;IPC:内部实现RPC,Android将c端方法调用转化为OS底层可理解的数据,传递给远程进程地址空间S端,s端重新组装数据,执行方法,将结果再逆向给c端。2、进程重要性优先级--用户pr 阅读全文
posted @ 2012-08-30 19:00 TovenZhou 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 1. 横竖屏切换:ctrl + F11 阅读全文
posted @ 2012-08-30 18:59 TovenZhou 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1、通过Intent启动的3种组件:activity、service、broadcast receiver。Intent启动activity: startActivity(): startActivityForResult():setResult()返回结果。Intent启动service: startService(): bindService():Intent启动broadcast server: sendBroadcast(): sendOrderedBroadcast(): sendStickyBroadcast():Intent:一组系统启动组件需要的信息。组件名:组件类全名。设置: 阅读全文
posted @ 2012-08-30 18:57 TovenZhou 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1. 找到db:通常在/data/data/com.providers.contacts/databases/*.db;以/data/system/accounts.db为例; adb shell, cd /data/system/databases/;2. 打开/创建db:sqlite3 accounts.db3.查看元数据,以.开头的命令:.tables列出所有数据表;.schema查看db结构;.schema accounts查看表accounts的结构;.dump accounts逆向输出accounts表数据的insert SQL语句;4. SQL语句:以分号;结尾 select . 阅读全文
posted @ 2012-08-30 18:57 TovenZhou 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1. 标识符:提供不同的/res/layout-标识符,/res/drawable-标识符; size:small, normal, large, xlarge; Dinsity: ldpi, mdpi, hdpi, xhdpi, nodpi, tvdpi; 横竖屏: land, portAndroid3.2引入: sw<n>dp: width>=ndp适用,横竖屏改变width不变; w<n>dp:width>=ndp适用; h<n>dp: height>=ndp适用;2. .9.png:3. Fragment:适配更方便; 仍需在代码中 阅读全文
posted @ 2012-08-30 18:53 TovenZhou 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 3种notification:1. Dialog 循环进度条:适合前端activity。2. Toast: 不需要用户干预, service也可。默认: Toast.makeText(context, text, duration).show();设置显示位置:toast.setGravity(Gravity.CENTER_VERTICAL,0,0);自定义view:toast.setView(layout);3. Status notification: 适合service引起用户注意。Status notification较复杂,如下:1、获得service:nm = getSystemS 阅读全文
posted @ 2012-08-30 18:52 TovenZhou 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 1. MainUI Thread: 已实现了looper;2. 自定义thread: 在run()中用Looper.prepare()创建thread单例模式looper,存在线程本地存储TLS中,looper有一个私有变量messageQueue;Looper.loop()该thread开始围绕消息队列循环运行,直到looper.quit();当消息队列中没有message时阻塞thread;3. Handler: 用于向对应thread的messageQueue中发送message;handler中有一个私有变量looper,如不明确复制,通过Looper.myLooper()赋予正在运行 阅读全文
posted @ 2012-08-30 18:51 TovenZhou 阅读(230) 评论(0) 推荐(1) 编辑