随笔- 40  文章- 0  评论- 92 
2012年7月4日
摘要: 最近有个需求,需要在jni层获取android设备的mac地址,google了一圈,没看到现成的实现方法,所以就只好自己写一个了。基本思路是,通过jni调用android java层的api,获取wifi的mac地址。理论上,所有的java代码都可以翻译成jni代码,所以应该可以实现。首先来看看mac地址获取的java实现代码:public String getLocalMacAddress(Context context) { WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);...阅读全文
posted @ 2012-07-04 12:20 Braincol 阅读(7141) 评论(1) 编辑
2012年3月6日
摘要: 说来惭愧,虽然已经做了一年多的android开发,但是最近被人问起activity的生命周期的时候,却感觉自己并不能很自信很确定的回答对方的问题,对activity的生命周期的理解还不透彻啊。 既然发现了问题,那咱就得解决问题,不就个生命周期,能有多复杂。 首先看看android developers 网上的activity的生命周期图: activity启动的时候:onCreate --->...阅读全文
posted @ 2012-03-06 16:13 Braincol 阅读(68614) 评论(14) 编辑
2011年10月27日
摘要: 今天在看android froyo的launcher2 源码的时候,在launcher.xml中看到有这么一段代码: <com.android.launcher2.DragLayer xmlns:android="http://schemas.android.com/apk/res/android" xmlns:launcher="http://schemas.android.com...阅读全文
posted @ 2011-10-27 23:36 Braincol 阅读(8698) 评论(1) 编辑
2011年10月26日
摘要: DHCP 主要有四个过程: discover、offer、request、ack。 step 1:客户端(PC机或移动终端)以广播包的形式,找寻可以提供分配ip的服务器或路由器,这即为discover阶段。 step 2:所有收到这个discover广播包,并且可以有分配IP功能的服务器或路由器,会回应这个广播包;发包的方式可能是广播报文,也可能是 单播报文 (这因路由器的不同而可能不同)。这即...阅读全文
posted @ 2011-10-26 11:43 Braincol 阅读(5220) 评论(1) 编辑
摘要: 1. 使能javascript: webView.getSettings().setJavaScriptEnabled(true);2. 编写本地接口final class InJavaScriptLocalObj { public void showSource(String html) { Log.d("HTML", html); }} 3. 向网页暴露本...阅读全文
posted @ 2011-10-26 10:43 Braincol 阅读(35153) 评论(2) 编辑
2011年10月15日
摘要: 由于项目需要在NDK中使用网络开发,对于c语言网络开发来说,libcurl库是个很不错的选择,但android系统中并没有自带该库,所以就得自己移植了。 下面是移植步骤: 1. 下载curl源码 我这里下载的是curl-7.22.0,源码下载地址为:http://curl.haxx.se/download.html 2. 准备android源码编译环境, android源...阅读全文
posted @ 2011-10-15 23:53 Braincol 阅读(10769) 评论(0) 编辑
摘要: 因为项目需要在android的NDK开发中使用pcre正则表达式库,而android系统中并没有自带该库,所以就得另外移植了, 下面是移植的详细步骤: 1. 下载pcre源码,可以到http://sourceforge.net/projects/pcre/下载源码。 我这里使用的是pcre-7.8.tar.gz 。 2. 将pcre-7.8 的源码拷贝至android源码树...阅读全文
posted @ 2011-10-15 22:24 Braincol 阅读(1792) 评论(1) 编辑
摘要: 前两天需要用到字符串数组,需要动态的增加和减少,类似于java里的ArrayList<String>提供的功能,但C里又没有现成的库和函数,所以就自己动手写了一个。 废话也不多说了,可能会有朋友需要,所以这里直接把代码贴出来: #include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct{ unsigned ...阅读全文
posted @ 2011-10-15 14:19 Braincol 阅读(2008) 评论(0) 编辑
2011年9月20日
摘要: 我们导入一个android自带应用的工程时,往往有很多错误。以自带的 AlarmClock 为例,导入eclipse后,往往出现很多错误,如下图所示: 例如,上图中的Intent.ACTION_ALARM_CHANGED 无法访问,下面我们就找到源代码看看原因何在? 根据java 编程规范,我们知道这个api (静态变量)被隐藏掉了,所以在sdk中无法使用。在知道了原因之后,我们有...阅读全文
posted @ 2011-09-20 10:54 Braincol 阅读(4237) 评论(0) 编辑
2011年9月11日
摘要: 关于AIDL的介绍及实现步骤等请参考: http://www.cnblogs.com/hibraincol/archive/2011/09/06/2169325.html 本篇文章只是用一个实例来分析AIDL的实现。 本示例实现的是:AIDL客户端通过AIDL接口获取AIDL服务端中提供的webPage信息,下面详述AIDL通信的实现步骤: 一、编写服务端代码 1. 首先编写Androi...阅读全文
posted @ 2011-09-11 21:24 Braincol 阅读(8931) 评论(2) 编辑