• Subcribe to Our RSS Feed

wifiTest

Date: 2014/05/07  Category: 应用领域  评论关闭

[J2ME]华禹工控 wifiTest 演示程序设计说明

1 背景和功能

  • +1.1. wifiTest演示程序的概念

    一个可以下载到华禹手持设备(P1300、P1220、P1500 系列)上的wifi程序,用于测试华禹手持设备的wifi功能,能够执行输入密码连接wifi并获取相关信息功能。

  • +1.2. 如何体验 wifiTest演示程序

    下载wifiTest.jar(安装文件) 到华禹手持设备上,执行Java程序,可体验wifi程序。

    wifiTest 安装文件 http://pan.baidu.com/s/1bn8FGoZ

    wifiTest 源码 http://pan.baidu.com/s/1qW57vFe

  • +1.3. wifiTest演示程序界面

    下面是 wifiTest程序的界面(从模拟器中抓取):

    wifiTest

    图1

    上图是从模拟器上抓取的程序运行图片。Wifi Enable为wifi打开功能,Wifi Connect为wifi连接功能。Get Profile是wifi基本属性获取功能。Input Pwd是输入密码功能,Set Profile是wifi参数设置功能,Get Status是wifi连接成功后详细信息获取功能,Wifi Refresh是wifi刷新功能,取得当前连接的wifi。(各功能使用步骤见 4 中 “连接wifi步骤”)

2 设计思路

  • +2.1. JNI 的概念

    Java 本地接口(Java Native Interface (JNI))允许运行在Java虚拟机(Java Virtual Machine (JVM))上的代码调用本地程序和类库,或者被它们调用,这些程序和类库可以是其它语言编写的,比如C、C++或者汇编语言。当一个程序无法完全使用Java编写时,开发者可以通过JNI来编写本地方法。

  • 2.2. wifiTest中的包

  • +2.2.1 com.huayu.net

    wifi.java 类是JNI本地接口类

    wifiListInfo.java 类是JNI本地接口类

    wifiProfile.java 类是wifi描述所用到的变量和常量定义

    wifiStatus.java 类是wifi状态所用到的变量和常量定义

  • +2.2.2 com.mtk

    Bluetooth.java 类是JNI本地接口类

    Gpio.java 类是JNI本地接口类

    SdkInf.java 类是JNI本地接口类

  • +2.2.3 default package

    myTest.java 类wifi功能的实现。该类实现了wifi的基本信息获取,密码输入连接wifi,获取wifi详细信息等功能。

  • 说明:JNI本地接口类中的方法只有方法定义,没有具体的实现代码,具体实现代码已拷贝到终端中,使用时无法修改JNI方法的 具体实现。

3 wifiTest流程介绍

  • +3.1 wifiTest功能

    基于华禹平台的手持 wifiTest设备主要实现wifi基本信息获取,输入密码进行连接,连接成功获取wifi详细信息的功能。

  • +3.2 wifiTest各功能实现函数介绍

    bytesToHexString(byte[] src) 将byte数组转换成String

    updateWifiStatus() 每次CommandAction响应后更新wifi状态(连接状态还是关闭状态)

    printWifiProfile() 获取并显示wifi各参数的基本信息

    setWifiProfile() 获取wifi各参数值和从终端手动输入的密码

    wifiRefreshT wifi刷新功能,获取当前最新的wifi信息

    printWifiStatus() wifi连接成功后获取wifi详细信息

4 wifiTest使用流程

  • +程序主界面

    打开程序主界面如下图一

    wifiTest

    图一

  • +连接wifi步骤

    1 wifi Enable 打开和关闭wifi,单击该按钮,wifi在打开与关闭间切换,我们选择打开wifi,即是enable。

    2 GetProfile 屏幕下方显示出wifi基本信息,如 SSID Name 等。

    3 input Pwd 根据4.2中显示的wifi名输入该wifi的密码,单击该按钮弹出密码输入界面,输入密码并确定。(若需输入字母,单击“选项”—>编辑语言—>English—>键盘上“#”切换大小写);

    4 Set Profile 设置wifi连接的参数(wifi名,密码等),即将4.2输入的密码设置成wifi连接参数(若wifi其他参数有更改可在default package.myTest.java.setWifiProfile() 中设置);密码设置成功则显示“密码设置成功”字样,否则显示“密码设置失败”,说明设置的密码为空,需从新设置密码;

    5 Wifi Connect 密码设置成功后,连接wifi(“discontinued”连接失败,“connected” 连接成功)

    6 Wifi Refresh 连接成功后先刷新当前wifi

    7 Get Status 获取wifi详细信息

5 wifiTest运行于手持设备

5.1 wifiTest项目的打包

  • +5.1.1 若代码有改动,保存后更新代码

    项目名上右击—>properties–>选择J2ME–>device中选择WTK类型和模拟器类型–>apply–>OK

  • +5.1.2 打包

    项目名上右击–>J2ME–>Create Package

  • +5.1.3 格式转换

    6225平台上,创建JAR后拷贝到手持机中即可直接运行。

    6235平台上,创建JAR后,需进行格式转换:用华禹工控自带com文件夹替换jar包中com文件夹方式实现(目的是JNI接口文件的替换)。
    注:*#8375# 可查看手持机的平台号

6 手持设备使用

  • +使用步骤


    1 手持设备连接USB接口,打开连接(选择“存储装备”)

    2 将3.1中打包好的wifiTest.jar发送至手持终端

    3 拔掉USB连接(手持设备运行java代码须在拔掉USB接口前提下运行)

    4 找到相应的jar包,安装并运行

0755-26787502
点击这里给我发消息