P908安装jad时提示未签名,是不是不能访问网络?如何解决,谢谢!

byyter 2005-01-27 05:25:01
P908安装jad时提示未签名,是不是不能访问网络?如何解决,谢谢!
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyg158 2005-01-30
  • 打赏
  • 举报
回复
CMNET和CMWAP网络连接
J2me上的GPRS网络接入点有两个,一个就是CMNET,一个就是CMWAP。一般移动梦网,百宝箱就是挂在CMWAP上的。

CMNET
CMNET就是一般的互联网的网络接入点。我们一般在SUN那里看到的J2ME实例代码都是基于CMNET接入点的网络下载。一般来说,CMNET可以连接所有的网络站点。下面就是我在开发仙剑的CMNET的下载资源包的代码片断。

/**************************************************************************

* 下载网络文件

* @param url String 要下载的文件的地址URL

* @return byte[] 如果下载成功,返回文件的字节缓冲;

* 如果下载失败,返回null

*/

public byte[] download_CMNET(String url) {

ContentConnection c;

InputStream is = null;

byte[] data = null;

try {

c= (ContentConnection)Connector.open("http://"+ServerName+"/"+url,Connector.READ,true);

is = c.openInputStream();

int dataLength = (int) c.getLength();

if (dataLength == -1) {

ByteArrayOutputStream bStrm = new ByteArrayOutputStream();

int ch;

while ( (ch = is.read()) != -1)

bStrm.write(ch);

data = bStrm.toByteArray();

bStrm.close();

}

else {

data = new byte[dataLength];

Data_Read_Buf(is,data,0,dataLength);

}

is.close();

c.close();

}catch (Exception e) {

data = null;

}

c= null;

return data;

}



代码很普通,不过需要注意的有以下两点。

1. getLength()并不是一定都有效,比如我发现在Nokia 40的手机上这个函数有效,但是在Nokia 60的手机上,这个函数通常都无效。所以我们通常都必须要有另外一个下载方式,既是从while循环不断从输入流中一个一个读byte,如果读出为-1,则表示输入流数据读完。

2. Connector.open最后一个参数是表示是否允许timeout,通常我们都得设置true,因为GPRS网路经常中断,那么必须有个timeout来退出连接。依照我的经验,一般如果能够执行完c.openInputStream()后,就表明连接上了,只要连接上后,数据的下载是比较快的(也就是说网络连接是最慢的)。



CMWAP
MOTO的手机通常都是默认接入点就是CMWAP。在手机上的“网页“->”网页设定”中可以设置默认的接入点。一般中国大陆的出产的MOTO手机都是设置的”移动梦网”的网络接入点,起始就是CMWAP接入点。而MOTO最可恶的一点就是一旦默认接入点是CMWAP,那么所有的J2ME应用程序都无法访问CMNET。而Nokia 40虽然默认的接入点是CMWAP,但是运行中可以自动检查CMNET来访问CMNET。

解决MOTO的网络连接有两个办法:

1. 在”网页“->”网页设定”中新建一个网页,然后不需要填写任何参数,设置成默认后,它就可以让手机上J2ME程序通过CMNET访问网络了。

2. 通过移动的代理来实现通过CMWAP访问互联网。下面是仙剑中使用CMWAP下载资源包的代码片断:

/***************************************************************************

* 下载网络文件

* @param url String 要下载的文件的地址URL

* @return byte[] 如果下载成功,返回文件的字节缓冲;

* 如果下载失败,返回null

*/

public byte[] download_CMWAP(String url) {

HttpConnection c;

InputStream is = null;

byte[] data = null;

try {

c= (HttpConnection)Connector.open("http://10.0.0.172:80/"+url,Connector.READ,true);

c.setRequestProperty("X-Online-Host",ServerName);

c.setRequestProperty("Accept", "*/*");

is = c.openInputStream();

int dataLength = (int) c.getLength();

if (dataLength == -1) {

ByteArrayOutputStream bStrm = new ByteArrayOutputStream();

int ch;

while ( (ch = is.read()) != -1)

bStrm.write(ch);

data = bStrm.toByteArray();

bStrm.close();

}

else {

data = new byte[dataLength];

Data_Read_Buf(is,data,0,dataLength);

}

is.close();

c.close();

}catch (Exception e) {

data = null;

}

c= null;

return data;

}

比如我们要下载

http://xxx.xxx.xxx.xxx/BB/AA.dat,那么上面的ServerName= ”xxx.xxx.xxx.xxx”, 而url = ”BB/AA.dat”
byyter 2005-01-30
  • 打赏
  • 举报
回复
解决了,是默认设置成移动梦网了
zyg158 2005-01-28
  • 打赏
  • 举报
回复
不能访问网络?
byyter 2005-01-28
  • 打赏
  • 举报
回复
那在模拟器上可以,装到P908手机上就是不行,是为什么?
whycloud 2005-01-28
  • 打赏
  • 举报
回复
有开通GPRS吗?
zyg158 2005-01-27
  • 打赏
  • 举报
回复
应该和能不能访问网络没有关系吧?
我们的支持MIDP2.0的手机应用程序
没有进行签名也能访问网络

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧