诺基亚 c1-01 中的 J2ME-App 无法连接到互联网
Posted
技术标签:
【中文标题】诺基亚 c1-01 中的 J2ME-App 无法连接到互联网【英文标题】:J2ME-App not connecting with internet in Nokia c1-01 【发布时间】:2012-10-18 05:46:26 【问题描述】:我制作了一个需要互联网连接的应用程序,以便我可以在我的应用程序中显示一些数据。
但是当我在诺基亚 c1-01 中测试我的那个应用程序时,它无法从我的服务器获取数据,同时如果我在任何其他设备上检查我的应用程序,它们很容易连接到互联网,我可以看到我的应用程序.
这是我的代码:
HttpConnection httpConn = null;
InputStream is = null;
OutputStream os = null;
StringBuffer sb = new StringBuffer();
try
// Open an HTTP Connection object
httpConn = (HttpConnection) Connector.open(url);
// Setup HTTP Request to POST
httpConn.setRequestMethod(HttpConnection.POST);
httpConn.setRequestProperty("User-Agent",
"Profile/MIDP-2.0 Confirguration/CLDC-1.1");
httpConn.setRequestProperty("Accept_Language", "en-US");
//Content-Type is must to pass parameters in POST Request
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
os = httpConn.openOutputStream();
os.write(params.getBytes());
/**Caution: os.flush() is controversial. It may create unexpected behavior
on certain mobile devices. Try it out for your mobile device **/
//os.flush();
// Read Response from the Server
//StringBuffer sb = new StringBuffer();
is = httpConn.openDataInputStream();
int chr;
while ((chr = is.read()) != -1)
sb.append((char) chr);
finally
if (is != null)
is.close();
if (os != null)
os.close();
if (httpConn != null)
httpConn.close();
我必须对我的代码进行哪些更改才能在我的诺基亚 C1-01 上运行?
【问题讨论】:
【参考方案1】:我想到了两件事。
第一个是微不足道的,与手机上的互联网设置有关。我不具体了解诺基亚 C1,但我知道许多设备都有设备的 Internet 设置 + Java 的另一个 Internet 设置。确保 Java 的 Internet 设置正确。仅仅因为您可以在手机上使用浏览器,并不意味着 Internet 连接适用于 Java MIDlet。
您可以研究的第二件事与 Content-Type 属性有关。
我在开发一款通过服务器上的 php 检索并发送高分到我的网络服务器的游戏时遇到了这个问题。我发现它在我们的大多数测试手机上都可以正常工作,而其中一些有问题,这很奇怪。
输出手机收到的数据显示 404 回复(或类似的东西,已经有一段时间了)。
在咨询了另一位 JavaME 开发人员后,我了解到:
一些设备向网络服务器发送特定指令:“你好。请给我一些来自 data.php 的 text/plain 类型的数据”。 如果 data.php 包含标题('Content-type: text/plain'),那么一切都很好。如果不是,那么服务器会回复:“对不起,伙计,我在那个地址没有任何文本/简单的东西”。
这只发生在某些设备上,因为只有某些设备会发送特定的请求。
因此,您在 JavaME 部分的 setRequestProperty() 中定义的任何 Content-Type 都必须在服务器端脚本中相同。
希望这两件事中的一件有所帮助。 :-)
【讨论】:
非常感谢您的回答。但是我使用下面显示的代码通过 php 从服务器获取数据: 那么你能告诉我我必须在我的 php 页面中添加什么吗?。以上是关于诺基亚 c1-01 中的 J2ME-App 无法连接到互联网的主要内容,如果未能解决你的问题,请参考以下文章
诺基亚6300手机如何格机,诺基亚手机反复重启,无法开机怎么办
J2ME“notifyDestroyed()”在诺基亚 501 上无法正常工作