2 myq 26 myq_26 于 2013.06.17 13:26 提问

AsyncTask 不能在 4.0.4 上运行

我创建了一个类,这个类连接互联网,然后发送一个请求到php script。我创建的就像 AsyncTask一样,不在主线程中,为了能在4.0.4中执行。但是当我测试时,不能运行。程序可以在2.2上执行。问题出在哪里呢?

class download extends AsyncTask {
    protected String doInBackground(String s1, String s2) {
        String result = "";
        //http post
        ArrayList nameValuePairs = new ArrayList();
        nameValuePairs.add(new BasicNameValuePair("Vreme",s1));
        nameValuePairs.add(new BasicNameValuePair("Datum",s2));
        InputStream is=null;
        try{
                String adresa="http://senzori.open.telekom.rs/script.php";
                HttpPost httppost = new HttpPost(adresa);
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpClient httpclient = new DefaultHttpClient();
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
        }catch(Exception e){
                Log.e("log_tag", "Error in http connection "+e.toString());
        }
        //convert response to string
        try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                }
                is.close();
                result=sb.toString();
        }catch(Exception e){
                Log.e("log_tag", "Error converting result "+e.toString());
        }
        return result;
    }
    @Override
    protected String doInBackground(String... params) {
        // TODO Auto-generated method stub
        return null;
    }
}

1个回答

cj6585256
cj6585256   2013.06.17 13:30
已采纳

doInBackground(String... params) 怎么不是用的这个可变参数的方法,覆写应该是覆写这个方法啊

 @Override
    protected String doInBackground(String... params) {
        // TODO Auto-generated method stub
        return null;
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
AsyncTask 坑(一) 哪些线程可以调用AsyncTask
看到很多文章说,只有主线程(UI线程)可以创建AsyncTask。个人觉得这个说法不对。从AsyncTask的角度讲,任何线程都可以创建并且使用AsyncTask。之所以会有主线程才能创建AsyncTask的说法,我想无非是onPostExecute, onProgressUpdate等回调里面想操作UI吧。假如一个后台线程创建了一个AsyncTask对象,并且使用它,那么当任务完成后,通过han
为什么 AsyncTask 实例必须在UI线程里创建?
从AsyncTask源码的角度,代领读者一步步的分析执行过程,详细的分析了,为什么AsyncTask实例的创建和execute方法的调用需要在UI线程中进行? 进而更好的使用AsyncTask,轻量级的开发应用程序。
Android AsyncTask的doInBackground不执行问题
今天在写一个小程序的时候,遇到一个问题:一个activity页面的AsyncTask的doInBackground不执行。试着在doInBackground里面打印了下log,确认是走不到doInBackground里面: @Override protected Result<JokeInfo> doInBackground(Integer... params) {
android Asynctask的优缺点?能否同时并发100+asynctask呢?
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 优点: 简单,快捷 l 过程可控 使用的缺点: l 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来. Handler异步实现的原理和适用的优缺点
AsyncTask引发的一个问题:doInBackground()未及时执行
在公司实习时遇到一个很奇怪的问题,doInBackground()未及时执行,也就是它并没有在#execute()调用之后马上执行,而是等待了很久才得以执行。 查资料了解到:因为是4.0平台,所以所有 的AsyncTask并不都会运行在单独的线程中,而是被SERIAL_EXECUTOR顺序的使用线程执行。因为我的应用中还有其他地方使用 AsyncTask,所以到网络取图片的AsyncTask也许
在Android Service中使用AsyncTask执行任务
public class MyService extends Service { @Override public void onCreate() { super.onCreate(); Log.i("Service","Service onCreate"); } @Nullable @Override public IBi
K3客户端和中间层组件不能在同一台计算机上解决办法
金蝶运行终端服务时,客户端和中间层组件不能在同一台计算机上解决办法.doc
有关myeclipse上的web项目不能在eclipse上运行的相关
从网上下载了一个大神的项目,但是大神是用myeclipse写的,直接导入该项目的话,无法直接用Tomcat启动运行该项目。 怎么办呢? 最容易想到的方法就是 eclipse 中新建一个dynamic Web project,然后把项目目录中的一些相关jar包,配置文件和文件 拷过来,一些路径还有什么别的改一改就行了。但是 有没有偷懒的办法呢? 右键单击项目,properties–>Proje
AsyncTask中执行完doInBackground不执行onPostExecute
在项目中遇到一个很奇怪的问题, 在做软件升级检查的时候,调用到AsynTask,在android2.3,android2.2  ....(小于android2.3版本系统) 发现跑完doInBackground回调函数之后, 程序不再往下运行onPostExecute了; 但是如果程序运行在android4.0以后的版本上面, 是可以正常运行onPostExecute回调函数的。 在网上看了半天
android 取消AsyncTask继续运行的解决方案
问题 当进入一个详细页面,这时程序会弹出一个对话框加载网络数据,可是发现用户经常因为数据加载慢,就快速的退出这个页面,这样反复来回几次后,发现AsyncTask不再继续加载,而是慢慢的等待,查了下个数,是前几个没有及时的关闭,导致当前的异步任务一直在等待。 所以想请教如何在退出一个页面后,也同时关闭对应的异步任务? 初步解决代码方案: public class Task