2010-04-20 212 views
1

我正在处理的应用程序有一个自包含的数据库。我需要HTTP请求的唯一时间是用户第一次加载应用程序的时间。黑莓异步HTTP请求 - 如何?

我通过调用验证本地数据库是否存在一类,如果没有,创建一个具有以下要求做到这一点:

HttpRequest data = new HttpRequest("http://www.somedomain.com/xml", "GET", this); data.start(); 

这个XML返回的内容的列表,所有这一切我想在原始请求完成并存储之后获取图像。

因此,像这样将无法工作:

HttpRequest data = new HttpRequest("http://www.somedomain.com/xml", "GET", this); data.start(); 
HttpRequest images = new HttpRequest("http://www.somedomain.com/xmlImages", "GET", this); images.start(); 

既然不会把这个像一个异步请求。 我还没有找到关于向httpRequest添加回调的更多信息,或者我可以使用任何其他方法来确保在操作1完成之前操作2不会执行。

任何帮助,将不胜感激。 谢谢

回答

1

J2ME中没有内置的异步HTTP请求。你只需do it manually与线程。 特别看看异步消息传递链接末尾的示例。

1

谢谢。链接很模糊,并不完全是我所期待的,但它确实帮助我走上了一条有效的道路。不知道如何有效的它,但是这是基本的结果:

HttpRequest data = new HttpRequest("http://www.somedomain.com/xml", "GET", this); 
    data.start(); 
    HttpRequest images = new HttpRequest("http://www.somedomain.com/xmlImages", "GET", this); 
    images.start(); 
    try { 
     data.join(); 
     images.join(); 
    } catch (InterruptedException e) { 

    } 

也,数据库类,存储从http请求的结果的方法是同步的,对任何人都可能有这个问题。