因此,我使用HTTPConnection类,如下所示:
HttpConnection c =
(HttpConnection)Connector.open("http://147.117.66.165:8000/eggs.3gp");在Blackberry JDE API中遵循看似正确的方法。
然而,如果我试图对变量'c‘做任何事情,我的代码就会崩溃。
.getType()
.getInputStream()
.getStatus()所有这些都会导致它崩溃。
但是,我可以从它获取URL,并且我可以查看变量'c‘本身,知道它确实是创建的。
我是否成功创建了断开的连接?我是否需要做一些其他的事情才能真正使用这个连接呢?在什么情况下会发生这种情况(我知道链接是好的,我可以使用黑莓的浏览器访问它)。
我是不是用错了HttpConnection?我该如何做正确的事情呢?
发布于 2009-09-03 15:19:09
通过查找一些使用HttpConnection的示例代码,我发现了问题所在(至少,我认为我现在可以访问所有这些变量了)。以前,我从来没有将其转换为“流连接”(我看到的示例将其从连接器转换为HTTPConnection)。
StreamConnection s = null;
s = (StreamConnection)Connector.open("http://10.252.9.15/eggs.3gp");
HttpConnection c = (HttpConnection)s;
InputStream i = c.openInputStream();
System.out.println("~~~~~I have a connection?~~~~~~" + c);
System.out.println("~~~~~I have a URL?~~~~" + c.getURL());
System.out.println("~~~~~I have a type?~~~~" + c.getType());
System.out.println("~~~~~I have a status?~~~~~~" + c.getResponseCode());
System.out.println("~~~~~I have a stream?~~~~~~" + i);
player = Manager.createPlayer(i, c.getType());尽管现在已经成功创建了流,但我仍然在使用它时遇到问题,但这可能是因为我的连接速度太慢了。
发布于 2009-09-02 21:42:38
HttpConnection的API文档建议第一个调用应该是对c.getResponseCode()的调用,试试这个。
发布于 2009-09-02 23:22:14
当它崩溃时会抛出什么错误?您可能想尝试将"Connector.READ_WRITE“作为第二个参数添加到您的open调用中-即使它只是一个像GET这样的”只读“连接,一些OSes,如4.6,将会throw an exception,除非您以读/写模式打开它。
https://stackoverflow.com/questions/1369785
复制相似问题