首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Callable和Networkmainthread错误

Callable和Networkmainthread错误
EN

Stack Overflow用户
提问于 2013-03-28 00:13:28
回答 1查看 64关注 0票数 0

我正在做一些网络操作,正如你所知道的,对于honeycomb,它们应该在另一个线程上完成,而不是UIthread,否则它会给出networkmainthread错误。在我的例子中,我必须从api获取返回值,并对其执行一些操作,所以我决定使用Callable。我发送了一个请求,并在call()方法中获得了响应,但最后它仍然给出了networkmainthread错误。我应该在哪里犯错误?任何建议都将不胜感激。

代码语言:javascript
复制
    private static <T> T getReader(String url, List<NameValuePair> params, final Class<T> classOfT, final Context _context) {

    T result = null;
    RestApiHelper apiHelper = new RestApiHelper(url, params, _context);
    ExecutorService executor = Executors.newFixedThreadPool(10);
    Future<Reader> futureSubmit = executor.submit(apiHelper);

    try {
        Reader reader = futureSubmit.get();
        if (reader != null){
            result = new Gson().fromJson(reader, classOfT);   //I'm getting the exception at this line. 
            .
            .
            .   


//*********************************************
//call method of RestApiHelper class which implemented Callable
//*********************************************
@Override
public Reader call() throws Exception {
    Reader reader = null;
    if(fileUri==null)
        reader = executeNormalPost();
    else
        reader = executeSendFilePost();

    return reader;   
}
EN

回答 1

Stack Overflow用户

发布于 2013-03-28 00:51:49

如果您正在进行网络操作,我建议您使用AsyncTask。最好是处理网络操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15663737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档