$ adb -s 33304728528D00EC shell
-> sqlite3
$ sqlite3 LIHGHT.db
sqlite> select * from light_table;
34 | PID: 56
40 | PID: 61
sqlite> insert into lights_table values(42, "PID: 90");
Windows映射磁盘驱动 z: \\192.168.233.136\Work
export PATH=$PATH:/usr/bin/mydir/bin
-> 用Dex2jar和JD-GUI反编译apk
1) camera.apk改名为camera.zip
2) 解压camera.zip提取class.dex
3) 用Dex2jar将class.dex转换为classes_dex2jar.jar
4) 把jar包拖入JD-GUI
-> Java混淆
根目录下project.properties里加一行
proguard.config=proguard.cfg
-> 独立JAR包
生成方法:eclipse右键项目,选择Export,JAR file,不勾选res文件夹和AndroidManifest.xml
加载方法:先把JAR包拷贝到/libs下,再右键项目,选择Build Path -> Add External Archives
-> 关于handler
1) 应用程序主线程里新建一个默认handler,实质上将handler绑定在主线程上。
private Handler mHandler = new MainHandler(); 括号里无值代表默认looper为主线程,
MainHandler继承Handler,handleMesasage()处理消息。
2) 如果想把handler绑定在另外的线程上而不在主线程上,须设置Looper.
HandlerThread handlerThread = new HandlerThread("another_thread");
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
MyHandler继承Handler,handleMesasage()处理消息。
3) 将线程r加入工作队列MessageQueue,MessageQueue对应Looper和Handler,该线程r与Handler在同一线程
handler.post(r);
Thread r = new Thread(){ ... }
-> root原理
http://www.cnblogs.com/yubo/archive/2011/10/09/2203877.html
-> Android框架
https://14b1424d-a-62cb3a1a-s-sites.googlegroups.com/site/io/anatomy--physiology-of-an-android/Android-Anatomy-GoogleIO.pdf?attachauth=ANoY7couSv927X1T7IoSG1L_KiqXMGsL2rlE0X5xRJzHakOd461YAg83_hAJNTlmA1Ld72QgFPwtbldkVXTDOEtSQY8U1emy0_wmjerESBehYMTkibeRjIlPCZDKn20FNqMXzqpqKWofciYyoOs_kYSyTBLusAmIqpjyFwqOpXVgMS1NoKfKkRy0nROwy5OlEx2DINPIsm7nTpDzQsQOFLqqAOZUifm9VNyi3f5poTr01ygg-Sxf7YQZm1NFqxnEmgSF3C8LtlNby64mHi1TOqcvohmwvZ6JzQ%3D%3D&attredirects=1
实践篇
-> NDK开发
目的:相比JAVA
1)不容易被反编译
2)运行速度快,效率高
示例:
1) /src/com/android/test/MainActivity.java:
public native String idFromJNI();
2) /jni/native.c:
jstring Java_com_android_test_MainActivity_idFromJNI( JNIEnv* env, jobject thiz )
3) 运行脚本编译生成 /libs/armembi/libnative.so
Hardware: HCD=>hardware serial device
-> 智能家居系统
第一周:启动多个Activity,移植扫描头程序 (Zxing精简版)
UI布局 (xml, res, layout, toast, listView, imageButton, gridView, slideDrawing...)
第二周: 数据库管理Sqlite,使用intent传递数据,HandleMessage, AsynTask, SharedPreference, 静态变量...
第三周: socket网络通信 (UDP, JSON),添加UI场景控制
-> 网络安防接警系统
handler研究,UI更新滚动条和toast,九宫格解锁与登录逻辑,
封装utils功能类(网络传输,开关,九宫格),
协议设计,解析复杂的JSONArray,多线程同步与并发,
滑动开关布局与显示,轮训更新,布撤防控制
中英文版本设置,Action Bar,优化界面与修改策略,解决Bug
-> NFC刷门禁
-> 蓝牙BLE
-> 移动支付
-> 音频转红外