【天堂论坛】玩机到天堂 买机找海洋西门子 6688……黑白经典.MP3机王 → ▄︻┻┳═一 [转贴]6688定位软件NPS-ver-0.30
查看完整版本:▄︻┻┳═一 [转贴]6688定位软件NPS-ver-0.30
2005/11/7 21:20:43
首先声明,这并不是一个基于基站定位的完善版本,也不具备手机上管理基站数据的能力,因为它(NPS-ver-0.30)并没有在程序中使用“数据库”或者类似技术。NPS-ver-0.30只是让你在电脑上完成对基站编号(Cell ID)和区域编号(Area ID)与地址的对应关系进行管理,这一切,都是J2ME程序(也就是NPS-ver-0.30)在编译成JAVA程序时把“数据库”做到了程序里面,每次你管理数据时,都需要对NPS-ver-0.30进行重新编译(幸运的是,J2ME程序在编译时并不需要很长时间,只要你安装好了Jbuilder 9.0和SMTK)。
这个程序来源于Konca和他在KonGPS ver 0.1中提到的许多作者完成的KonGPS ver 0.1,本程序只是在原程序中加入了基站编号(Cell ID)和区域编号(Area ID)与地址的对应关系的判断语句,其它并没有实质性的改变,作者fsclub并不会JAVA开发,甚至搞不清JDK和SMTK的关系,以前只是在大学中学过C和自学了一点C++(搞不清那些什么类,公有私有,重载什么的),没有学过JAVA,但这一切都没关系,因为JAVA的语法和C差不多,正是因为这一点,之前才放出了那个灌水贴,因为没有搞清JAVA中的什么“句柄”的概念,看了《Thinking in JAVA》第三章关于JAVA关系运算中一些与C的不同之处,才明白了以前的错误理解。

在这里下载程序样例:

http://fsclub.xicp.net

下载 nps-ver-0.30.rar

下面从使用的角度说明这个程序的用法。
1. 安装JBuilder 9.0;
2. 安装SMTK;
3. 对压缩包解压出NPS-ver-0.30文件夹;
4. 在Jbuilder9.0中打开工程文件konGPS.jpx;
5. 对原程序进行修改(添加基站数据),编译;
6. 将NPS-ver-0.30文件夹中的konGPS.jar和konGPS.jad两个文件拷贝到西门子6688的MMC中的JAVA/jam/NPS-ver-0.30文件夹中(NPS-ver-0.30文件夹需要自己在MMC中创建);
7. 在手机中运行NPS-ver-0.30,这时,就得到了你想要的结果!

下面分别说明具体做法和注意事项:

1. 安装JBuilder 9.0和SMTK:
  安装过程见下面的文件:SMTK_dev.pdf
http://www.cnjm.net/newpage/res.php?id=000126(约300K)
JBuilder9.0下载地址:
http://www.cnyou.com/down/down.asp?id=576&no=1(约160M)
 当然也可以在网上找到JB9.0的注册方法;
SMTK的下载地址:
http://www.cnjm.net/newpage/res.php?id=000103(约10M)
当然也可以在网上找到SMTK的注册方法;
也许,在安装SMTK前,会要求你安装SMTK核心:
http://www.cnjm.net/newpage/res.php?id=000102(约10M)
2. 下载NPS-ver-0.3压缩包:
http://fsclub.xicp.net
3. 解压缩后打开Jbuilder9.0,按照SMTK_dev.pdf中的说明进行JB9的设置后,打开NPS-ver-0.3中的konGPS.jpx文件,在左上方的窗口中找到“mainCanvas.java”,双击打开,在右边第96行和123行处加入以90行和117行为示例的代码;
例如:
你的工模中的区域码为0538,基站ID为06a5,你所在地区为青岛李沧区枣园路,
         则在第96行处加入     
                   if ("5328".equals(midlet.strAreaID))
                    {strAreaID = "青岛李沧区";break;}
         在第123行处加入
                    if ("06a5".equals(midlet.strCellID))
                    {strCellID = "枣园路";break;}
这时,若你有多个区域码和基站ID要添加,则多次加入这两个IF判断语句,就实现了多个区域码和基站ID的添加。
例如,作者fsclub在第96行处加入了:
if ("5321".equals(midlet.strAreaID))
{strAreaID = "青岛市南区"; break;}
if ("5323".equals(midlet.strAreaID))
{ strAreaID = "青岛城阳区"; break;}
……………………………………….
……………………………………….
在第123行处添加了:
if ("0701".equals(midlet.strCellID))
{ strCellID = "苇山二路";break; }
if ("0733".equals(midlet.strCellID))
{ strCellID = "仙家寨河边"; break;}
…………………………………….
…………………………………….

       注意,这里的区域名和地址名的字数必须小于等于5个字,否则在程序中不能完全显示!
4. 添加完成后,就可以在菜单中的PROJECT菜单中点击“Make project “konGPS.jpx””,几秒后编译完成,再将NPS-ver-0.30文件夹中编译完成的konGPS.jar和konGPS.jad两个文件拷贝到西门子6688的MMC中的JAVA/jam/NPS-ver-0.30文件夹中(NPS-ver-0.30文件夹需要自己在MMC中创建);
5. 在手机中运行NPS-ver-0.30,这时,就得到了你想要的结果!

注意以上软件代码遵循GPL发布(http://www.gnu.org/copyleft/gpl.html),请保留作者信息。


另外,如果你收集了ID,但你无法下载那么大(约190M)的几个文件(或者不能安装)搭建JAVA开发环境,请将你收集的区域ID和基站ID以下列形式编辑:

请帮我在第96行处加入:
if ("5321".equals(midlet.strAreaID))
{strAreaID = "青岛市南区"; break;}
if ("5323".equals(midlet.strAreaID))
{ strAreaID = "青岛城阳区"; break;}
……………………………………….
……………………………………….
请帮我在第123行处添加:
if ("0701".equals(midlet.strCellID))
{ strCellID = "苇山二路";break; }
if ("0733".equals(midlet.strCellID))
{ strCellID = "仙家寨河边"; break;}
…………………………………….
…………………………………….

将其保存为文本文件(ID.TXT),以E-mail的形式发给我,我将在我的可能的时间里为你编译,并将编译好看的程序发回你的信箱,为了节省时间,请一定以上面所指的TXT格式发给我(一定包含程序代码),我可以复制到代码中为你编译,否则,可能不能为你编译,请谅解。

11月3日1:46更新:
    用4位16进制来对基站进行编码,最大为FFFF,也就是最大为65536个基站.我想,中国应该不只这么一点基站..我也考虑了这个问题.首先再三说明,这并不是一个完善的版本.昨天上午已经和ahui讨论了,在他那个站上
http://www.cidu.net/gps/gps.asp
数据会自动按市生成.也就是说,在编译时可以控制每个市生成一个NPS-ver-0.30的代码,就避免了异地的基站ID可能相同的这种可能的情况的发生.
希望大家到
http://www.cidu.net/gps/gps.asp
提交数据,这样可以方便得到代码,你只需要复制和粘贴可以了!还会按市生成代码,避免了一些问题的产生!


http://fsclub.xicp.net


下载 nps-ver-0.30.rar

[此帖子已被 format-6688 在 2005-11-7 21:31:28 编辑过]

Powered by BBSXP 2007 ACCESS © 1998-2024
Processed in 0.00 second(s)