电脑编程技巧与维护
1 引言
随着 3G时代的到来,手机的普及量已达到前所未有的程
度,集办公、娱乐、通信于一体的智能化手机已成为各移动
设备开发商的热点。J2ME被公认为当今最优秀的移动开发平
台之一。在此平台上结合 Google地图设计并实现了一种手机
电子地图,该地图实现了定位、移动、缩放功能 [1-6]。
2 J2ME体系结构
J2ME应用程序的体系结构主要分为 4个部分:操作系统、
Java虚拟机、CLDC/CDC和 MIDP应用程序,如图 1所示。
KVM(Kilo Virtual Machine,千字节虚拟机) 与传统的
Java虚拟机不同:KVM本身仅需要 40~80KB 静态内存和 0~
40KB动态内存,而且能够运行在 16位 25MHZ处理器上。因
为 KVM 主要针对的是移动设备,所以相对于 JVM 来说,
KVM有很大程度的简化,因此,也有很大的局限性:KVM不
支持浮点数、不支持 JNI、不支持用户自定义的类装载器、不
支持线程组、不支持映射、不支持类实例的销毁、不支持弱
引用、有限的错误处理机制。
CLDC (有限连接设备配置 ,The Connected,Limited Device
Configuration) 和 CDC (The Connected De-vice Configuration) 是
目前 J2ME中存在的两种配置。CLDC是与 KVM一起用于内
存有限的 16位或 32位设备。这是用于开发小型 J2ME应用程
序的配置 (虚拟机),它提供低端消费电子产品运行的最小库
集和 APIs 是所有低端消费电子产品必须支持的,因此这些
APIs在所有的设备上都是可以运行的。
MIDP是 Java Community Process (JCP) 定义的,是一个公
共的、为移动设备设计的工业标准间
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
。MID框架的核心是一
个 MIDlet应用程序,这个应用程序继承自 MIDlet类, MIDlet
类提供用于调用、暂停、重新启动和停止 MIDlet应用程序的
API,运行时环境通过传送相关事件来改变应用程序状态。
3 手机电子地图
3.1 核心技术
本系统通过 GPS模块获取当地的经纬度,运用 J2ME 网
络编程技术读取 Google地图,从而实现了手机电子地图。
3.2 代码解析
3.2.1 GoogleMap类
public class GoogleMaps
{
…
//获取 Google地图
public Image retrieveStaticImage ( int width, int height, double
lat, double lng, int zoom,String format) throws IOException
{
byte [ ] imageData = loadHttpFile ( getMapUrl ( width,
height, lng, lat, zoom, format)) ;
return Image.createImage (imageData, 0, imageData.length) ;
}
…
}
3.2.2 getMapUrl() 方法
J2ME电子地图的设计
孙 成,何光禹,蔡海峰
(长江大学物理科学与技术学院,荆州 434023)
摘 要: 介绍一种基于 J2ME技术开发的手机电子地图的
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,该方案主要是将 GPS定位系统和 Google地图结合
起来,应用 J2ME编程技术来实现。
关键词: 电子地图;J2ME;GPS;Google地图
An Electron Map Design Based on J2ME
SUN Cheng , HE Guangyu , CAI Haifeng
(School of Physical Science and Technology ,Yangtze University , Jingzhou 434023)
Abstract: The scheme will introduce one kind of J2ME technological based mobile telephone electron map ,is a scheme's
turn to be that the map combines mainly with GPS fixer system and Google , the programming applying J2ME comes true
coming the technology.
Key words: electron map ; J2ME ; GPS ; Google Map
Profile
(MIDP Application)
CLDC/CDC
Libraries
KVM
(K Virtual Machine)
Operating System
(Windows,Linux)
图 1
基金项目:全国大学生创新实验
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
项目基金(081048911)
作者简介:孙成 (1986-),男,本科,Java 编程;何光禹
(1988-),男,本科,嵌入式系统开发与应用;蔡海峰,本科。
收稿日期:2010-06-19
100- -
人工智能及识别技术ARTIFICIAL INTELLIGENCE AND IDENTIFICATION TECHNIQUES
private String getMapUrl (int width, int height, double lng,
double lat, int zoom, String format) {
return " http://maps.google.com/staticmap?center=" + lat +
" ," + lng + " &format=" + format + " &zoom=" + zoom
+ " &size = " + width + " x" + height + " &key = " +
apiKey;
}
3.2.3 Canvas类
// 用以下 URL求城市的经纬度,把经纬度放入函数 re
//trieveStaticImage运算
/*http://maps.google.com/maps/geo?q=shanghai&output=
*csv&key=ABQIAAAAxXXppGwQikP5W03kMkXwTBR
*wZeWwBJuDeBDs7Xe14alLLfNA1RSipLkOi1Os9IQg
*WszFCqI6nbQUwA*/
// 用以下 URL输出城市地图
http://maps.google.com/staticmap?center =30.3530111,112.
1901027&format =png32&zoom =8&size =320x240&key =
ABQIAAAAxXXppGwQikP5W03kMkXwTBRwZeWwB-
JuDeBDs7Xe14alLLfNA1RSipLkOi1Os9IQgWszFC-
qI6nbQUwA*/
public class Canvas extends Canvas implements Runnable
{
private GoogleMaps gMap=null;
private String apiKey ="
ABQIAAAAxXXppGwQikP5W03kMkXwTBRwZeWwBJuDeBD
s7Xe14alLLfNA1RSipLkOi1Os9IQgWszFCqI6nbQUwA" ;
private double lon; //经度
private double lat; //纬度
private int zoom=15; //放大的倍数
double [] cs; //调整位置的经纬度
Image mapImg;
Vector m_cmd;
public Canvas ()
{
…
}
protected void paint (Graphics g)
{
…
}
…
public void run ()
{
Criteria cr = new Criteria () ;
cr.setHorizontalAccuracy (50) ; //设置精度
// 找卫星,找服务
try {
LocationProvider lp = LocationProvider.getInstance (cr) ;
Location l = lp.getLocation (60) ;
// 请求位置,并设置超时时间
Coordinates cd = l.getQualifiedCoordinates () ;
if (cd ! = null) {
lat = cd.getLatitude () ;// 得到经纬度
lon = cd.getLongitude () ;
}
} catch {…}
while (true)
{
…
//绘制地图
try {
mapImg=gMap.retrieveStaticImage (256,256, lon,lat,
zoom, " png") ;
m_cmd.removeElementAt (0) ;
repaint () ;
} catch {…} {
}
}
protected void keyPressed (int keycode)
{
//按键,实现地图上下左右移动、缩放功能
}
4 测试结果
经测试,该系统能够良好地实现定位、移动和缩放等功
能。模拟器调试结果如图 2所示。
5 结语
系统覆盖面积广,可以定位全球各个地点。而且系统的
实现基本上全部由软件完成,基本上与移动设备的硬件无关,
因此系统的可移植性大大增强,从而真正体现了 Sun公司所
倡导的“write once,run anywhere”的理念。
随着移动通信技术的发展和移动终端设备的广泛应用,手
机的功能也将越来越强大,基于 J2ME技术的手机软件也必将
成为众多手机开发商的热点,手机软件开发领域的前途一片
繁荣。因此,系统的应用前景也相当可观,特别是在导航、
监控等领域可以发挥重大作用。
参考文献
[1] 仵博,张立涓,池瑞楠. J2ME无线开发使用教程 [M] . 北
京:清华大学出版社,2006.
[2] 王江,王华民,刘庆丰. 基于 J2ME技术的手机程序开发
研究 [M] .
[3] 王森. JAVA手机/PDA程序设计入门 [M] . 北京:电子工
业出版社,2004.
[4] 张小伟. J2ME无线平台应用开发 [M] . 北京:清华大学出
版社,2004.
[5] 庄东,刘晓华. JBuilderX无线应用开发 [M] . 北京:电子
工业出版社,2004.
[6] 林胜利,刘华军. 精通 J2ME无线编程 [M] . 北京:中国
铁道出版社,2004.
图 2 模拟器效果图
101- -