代码改变世界

ViewPager的简单使用说明

2013-12-14 00:55 by ...平..淡..., 718 阅读, 0 推荐, 收藏, 编辑
摘要:前提:工程中使用ViewPager,需要导入google提供的jar包(android-support-v4.jar)。要学习ViewPager的使用,建议直接看官方文档Creating Swipe Views with Tabs接下来主要对使用进行下总结,例子是官网上的。ViewPager可以理解成一个布局(layout)部件,如在xml中加载每一个子View作为一个独立的页面,加载在ViewPager上。不过要使子View能作为独立页面插入到ViewPager上,需要实现一个PagerAdapter。在PagerAdapter类或其子类中设计tab的标题(getPageTitle方法中实现 阅读全文

fragment的介绍与使用

2013-12-08 22:26 by ...平..淡..., 564 阅读, 0 推荐, 收藏, 编辑
摘要:稍稍摘录一段Fragment.java中的说明文档。/** * A Fragment is a piece of an application's user interface or behavior * that can be placed in an {@link Activity}. Interaction with fragments * is done through {@link FragmentManager}, which can be obtained via * {@link Activity#getFragmentManager() Activity.getFra 阅读全文

重新组织函数

2013-11-03 14:17 by ...平..淡..., 194 阅读, 0 推荐, 收藏, 编辑
摘要:《重构-改善既有代码的设计》 之 “重新组织函数” 笔记总共罗列了9种方法。1.ExtractMethod(提炼函数)将一段代码放到一个独立的函数中,并让函数名称解释该函数的用途。--------------------------------------------------------------------无局部变量:直接提炼出来,放到目标函数中。--------------------------------------------------------------------有局部变量(包括原函数参数、原函数中临时变量)这里只分析临时变量。Situation1:被提炼代码段 “只 阅读全文

android4.3 Bluetooth(le)分析之startLeScan分析

2013-09-22 23:47 by ...平..淡..., 9667 阅读, 3 推荐, 收藏, 编辑
摘要:BluetoothAdapter.java中有lowenery(le)的一些方法,android提供了这些方法,但源码中并未找到这些方法的调用之处。本文档主要分析这类方法的执行流程,来了解下le到底做了些什么。本文主要就是分析下startLeScan方法(两个重载方法)。 public boolean startLeScan(LeScanCallback callback) { return startLeScan(null, callback); } public boolean startLeScan(UUID[] serviceUuids, LeScanC... 阅读全文

android4.3 Bluetooth分析之扫描分析

2013-09-22 23:04 by ...平..淡..., 3147 阅读, 4 推荐, 收藏, 编辑
摘要:android4.3中引入了蓝牙低能耗le(low energy),相应的也有一些方法/类。不过代码里,并没有找到初始调用的地方。所以这里还是先只分析下bt普通的扫描流程(类似android 4.2),先贴出流程图主要通过“扫描”的流程来分析下BluetoothSettings.java::startScanning ----packageLocalBluetoothAdapter.java::startScanning ----packageBluetoothAdapter.java::startDiscovery ----framew... 阅读全文

上层应用与wpa_supplicant,wpa_supplicant与kernel 相关socket创建交互分析

2013-09-16 21:43 by ...平..淡..., 2313 阅读, 0 推荐, 收藏, 编辑
摘要:单独拿出来,分析以下上层应用与wpa_supplicant wpa_supplicant与kernel 的socket交互。关联上层应用与wpa_supplicant的socket的创建、连接流程分析[-->./wpa_supplicant/ctrl_iface_unix.c]1.wpa_supplicant初始化时,在wpa_supplicant_ctrl_iface_init方法中,会通过priv->sock=socket(PF_UNIX,SOCK_DGRAM,0);创建了一个socket,然后bind到指定的地址中的路径(/data/misc/wifi/sockets/p2p 阅读全文

wpa_supplicant与kernel交互

2013-09-03 22:43 by ...平..淡..., 6085 阅读, 1 推荐, 收藏, 编辑
摘要:wpa_supplicant与kernel交互的操作,一般需要先明确驱动接口,以及用户态和kernel态的接口函数,以此来进行调用操作。这里分为4个步骤讨论。1.首先需要明确指定的驱动接口。因为有较多的驱动接口可以使用,如wext、nl80211等。指定了之后,才能调用相应接口的方法。2.保存驱动接口3.接口函数的实现(分为用户态和kernel态)。系统已经定义了,我们只需找到定义的地方,了解有哪些函数。4.交互(a)用户态向kernel态发送请求(通过ioctl)(b)kernel态向用户态发送事件通知(通过netlink)1.首先需要明确指定的驱动接口(1)查看init.XX.rc中指定的 阅读全文

wpa_supplicant下行接口浅析

2013-08-18 17:25 by ...平..淡..., 3549 阅读, 2 推荐, 收藏, 编辑
摘要:wpa_supplicant通过socket通信机制实现下行接口,与内核进行通信,获取信息或下发命令。以下摘自http://blog.csdn.net/fxfzz/article/details/6176414,该文章应该主要是分析wpa_supplicant_6的,和wpa_supplicant_8确实存在一些差别!!!以下还是根据6来分析。wpa_supplicant提供的下行接口主要用于和kernel(driver)进行通信,下发命令和获取信息。wpa_supplicant下行接口主要包括三种重要的接口:1.PF_INETsocket接口,主要用于向kernel发送ioctl命令,控制并 阅读全文

wpa_supplicant上行接口浅析

2013-08-18 17:21 by ...平..淡..., 2319 阅读, 0 推荐, 收藏, 编辑
摘要:摘自http://blog.csdn.net/fxfzz/article/details/6176414wpa_supplicant提供的接口从通信层次上划分,上行接口:wpa_supplicant提供向上的控制接口control interface,用于与其他模块(如UI)进行通信,其他模块可以通过control interface来获取信息或下发命令。下行接口:wpa_supplicant通过socket通信机制实现下行接口,与内核进行通信,获取信息或下发命令。本篇博文主要分析wpa_supplicant的上行接口。一共有两种方式:一种基于传统dbus机制实现与其他进程间的IPC通信;另一 阅读全文

wpa_supplicant之eloop_run分析

2013-08-18 17:20 by ...平..淡..., 4747 阅读, 0 推荐, 收藏, 编辑
摘要:部分内容转自http://blog.chinaunix.net/uid-20273473-id-3128151.html重要结构体!!!struct eloop_sock { int sock; void *eloop_data; void *user_data; eloop_sock_handler handler; //该handler是一个方法,后续socket有变化,就会调用相应的socket所在的结构体中的handler方法来处理 WPA_TRACE_REF(eloop); WPA_TRACE_REF(user); WPA_TRACE_INF... 阅读全文