微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Android系统终端实现3G WIFI无线漫游

Android系统终端实现3G WIFI无线漫游

时间:07-09 来源:互联网 点击:

随着人们日常生活和工作节奏的不断加快,人们对信息获取的便捷程度、对移动办公、移动娱乐的重视程度正与日俱增。无线接人是满足这一高速增长需求的唯一途径,无线接人的两个主角是3G(3rdGeneratiON)技术和W1FI(Wireless Fidelity)技术。

本论文针对目前比较流行的Android系统手机终端的3G、wIFI连接机制实现了3G和wIFI的无线漫游。

1 Android平台介绍

Android是Google公司最新推出的一个手机平台,是一个真正意义上的开放性移动设备综合平台。它包括操作系统、用户界面和应用程序及移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Android是由Unix+Java构成的。它的架构和工作原理决定了Android即目前最具可移植性的手机操作系统。Android是开源软件,能够有效降低软件的成本,从而降低手机的整体价格,最终让每个用户能够自由的获取信息。Android提供了一个从操作系统到应用程序的完整的软件栈,同时又允许人们定制差异化,以形成自己的竞争优势,这对于手机制造商来说,具有强大的吸引力。开源软件带来的另一个好处是允许厂商自主解决问题。在此我们借助android系统的开源性及可定制的特性在此基础上增加了3G、WIFI的无线漫游机制。

2 WIFI漫游中ListView的作用

Activity是构成应用程序中最重要的构造块,在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面。在实际开发应用程序的过程中通常需要用到列表显示功能,那么在Android应用中,我们是通过Android中的一个特殊组件ListView来进行列表展示,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。列表的显示需要3个元素。

1.ListVeiw。用来展示列表的View。

2. 适配器。用来把数据映射到ListView上的中介。

3. 数据。具体的将被映射的字符串、图片、或者基本组件。

ListView 绘制的过程如下:首先,系统在绘制ListView 之前,将会先调用getCount方法来获取Item 的个数。之后每绘制一个Item 就会调用一次getView 方法,在此方法内就可以引用事先定义好的xml来确定显示的效果并返回一个View对象作为一个Item 显示出来。也正是在这个过程中完成了适配器的主要转换功能,把数据和资源以开发者想要的效果显示出来。也正是getView 的重复调用,使得ListView 的使用更为简单和灵活。这两个方法是自定ListView显示效果中最为重要的,同时只要重写好了前两个方法,ListView就能完全按开发者的要求显示。而getltem和getltemld方法将会在调用ListView的响应方法的时候被调用到。所以要保证ListView的各个方法有效的话,这两个方法也得重写。ListView作为一个数据显示的机制,在用户添加完SSID节点可以通过这种机制显示出来,同时还添加了删除,修改按钮及SSID序号。这些SSID节点作为wIFI漫游的搜索节点,按照用户的经常使用的级别定义优先顺序。

2.1 SharedPreference实现数据存储

Android 平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。SharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。一个程序的配置文件仅可以在本应用程序中使用,或者说只能在同一个包内使用,不能在不同的包之间使用。实际上SharedPreferences是采用了XML格式将数据存储到设备中,在DDMS中的File Explorer中的/data/data/~ package name>/shares prefs目录下。

因为sharedPreferences是使用xml文件保存数据,getSharedPreferences(nAME,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。如果希望SharedPreferences使用的xml文件能被其他应用读和写,可以指定Context.M ODE—W ORLD— READABLE 和Context.MODE WORLD WRITEABI E权限。另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。访问SharedPreferences中的数据代码如下:

Long num — ssidvalues.getI ong(SSIDNUM ,O);如果访问其他应用中的Preference,前提条件是该preference创建时指定了Context.MODE WORLDREADABLE 或者Context.MODE WORLDWRITEABLE权限。在此实现中是将数据存储在用户自己定义的SharedPreference文件中,用户将SSID节点添加到用户定义的SS

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top