标签: android-asynctask

Android引起:java.lang.NullPointerException

我现在编辑了...我检查布局和初始化但仍然是相同的错误..它可能是日食错误?

public class ActivityOwner extends Activity implements OnClickListener {

        EditText ownerUser, ownerPass;
        private Button btnLogin;
        private ProgressDialog pDialog;
        JSONParser jsonParser = new JSONParser();

        private static final String OWNER_LOGIN_URL = "http://192.168.2.5/idot/owner_login.php";

        // ---JSON element ids from response of php script
        private static final String TAG_SUCCESS = "success";
        private static final String TAG_MESSAGE = "message";

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_owner);

            ownerUser = (EditText) findViewById(R.id.owner_login_username);
            ownerPass = (EditText) findViewById(R.id.owner_login_password);

            TextView tvLinkToRegister = (TextView) findViewById(R.id.link_to_register);
            tvLinkToRegister.setOnClickListener(new View.OnClickListener() {

                @Override
                public void …
Run Code Online (Sandbox Code Playgroud)

eclipse android nullpointerexception android-asynctask

0
推荐指数
1
解决办法
4万
查看次数

似乎没有调用onPostExecute

当我运行我的应用程序时,onPostExecute似乎没有被调用.它不像应该的那样填充UI.此外,打开DoInBackground通过for循环的任何日志消息:

for (int i = 0; i < businesses.length(); i++) { }

不显示在该特定for循环中排除日志消息.因此,例如,第二个for循环for(int j = 0; j < businessNames.size(); j++) { }中的日志消息由于某种原因未显示.这是时间问题还是我错过了什么?

但总而言之,我的UI onPostExecute并没有被击中(据我所知).

这是我的代码

public class CoffeeResultActivity extends Activity{

ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> businessNames = new ArrayList<String>();
List<String> businessInfo = new ArrayList<String>();
HashMap<String, List<String>> listDataChild = new HashMap<String, List<String>>();

private int lastExpandedPosition = -1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    expListView = (ExpandableListView) findViewById(R.id.lvExp);

    //Calling AsyncTask
    new RetreiveSearchResults().execute("coffee");

    // …
Run Code Online (Sandbox Code Playgroud)

java android android-asynctask

0
推荐指数
1
解决办法
263
查看次数

Android多个AsyncTasks一个接一个

我正在开发一个Android应用程序,需要在一个活动中一个接一个地多次调用一个asynctask函数,如下所示:

  • ..一些代码
  • new task().execute();
  • ..其他代码
  • new task().execute();
  • ..其他代码
  • new task().execute();

当我执行这种类型的代码时,所有任务大致并行运行,但我需要这个任务一个接一个地运行.如何在不调用onPostExecute()中的下一个任务的情况下执行此操作

android android-asynctask

0
推荐指数
1
解决办法
3971
查看次数

如何支持不同的android OS?

我有一些问题.
我有两种方法,一种用Api 11及以上调用,另一种用于旧api.

我的项目有一些设置:

项目构建目标 - Google API 2.3.3

清单文件:

uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="18" 
Run Code Online (Sandbox Code Playgroud)

我的代码:

abstract class DoAsyncRequest {
    protected abstract void DoRequest(Connection conn) throws Exception;
}

class DoAsyncRequestLegacy extends DoAsyncRequest {
    protected void DoRequest(Connection conn) throws Exception{
        new FetchTask(conn).execute();// FOR OLD API
    }
}


@TargetApi(11) class DoAsyncRequest_SDK11 extends DoAsyncRequest {
    protected void DoRequest(Connection conn) throws Exception{
        new FetchTask(conn).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, null);                    //FOR NEW API, but compiller says, that  THREAD_POOL_EXECUTOR cannot be resolved or is not a field
    }
}
Run Code Online (Sandbox Code Playgroud)

最好的祝福.

java android android-asynctask

0
推荐指数
1
解决办法
180
查看次数

使用asyncTask播放的音乐不会因使用取消而停止

我在我的活动背景中使用音乐.但是当我试图取消它时它不起作用.音乐一直在持续运行,直到它完成.以下是代码:

public class xx extends Activity 
{ BackgroundSound mBackgroundSound = new BackgroundSound();

  @Override
protected void onCreate(Bundle savedInstanceState) 
{ ....
     }

  @Override
protected void onResume() 
{
    super.onResume();
    mBackgroundSound.execute();
}

@Override
protected  void onPause()
  {
      super.onPause();
      mBackgroundSound.cancel(true);
      }
Run Code Online (Sandbox Code Playgroud)

和选项菜单选择:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
         mBackgroundSound.cancel(true);
                NavUtils.navigateUpFromSameTask(this);

                return true;
    case R.id.menu_Add:
        { mBackgroundSound.cancel(true);
            Intent intent = new Intent(xx.this,yy.class);
                intent.putExtra("flag", "add");
                intent.putExtra("AddObj", "mm");

            startActivity(intent);
            break;
        }
    case R.id.menu_list_quote:
        {
            mBackgroundSound.cancel(true);
            Intent intent = new   Intent(xx.this,zz.class);
                intent.putExtra("Obj", "nn");

            startActivity(intent); …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

0
推荐指数
1
解决办法
3868
查看次数

Android asynctask,防止UI冻结

我有这种代码的安静,从一个URL获取一些xml数据.

它确实正常工作,但问题是,当它下载并解析xml时,UI会冻结,这对用户来说可能是一个问题.

这是班级

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.kategoria);

    // getting intent data
    Intent in = getIntent();
    String cat_name = in.getStringExtra("kategoria");
    //Update Textview
    TextView kategoriatw = (TextView)findViewById(R.id.name_of_cat);
    kategoriatw.setText(cat_name);



    // Kategoro URL
    String catUrl = "http://sample.com/xmldata.xml";


    ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
    //MOTHERLAJME MULTIDIMENSIONAl
    final List<HashMap<String, String>> MotherContainer= new ArrayList<HashMap<String, String>>();


    try{ 

        XMLParser parser = new XMLParser();
        String xml   = parser.getXmlFromUrl(catUrl); // getting XML
        Document doc = parser.getDomElement(xml); // getting DOM element


        //ALL
        NodeList forecastW = doc.getElementsByTagName("newsitem");

        for …
Run Code Online (Sandbox Code Playgroud)

xml android android-listview android-asynctask

0
推荐指数
1
解决办法
830
查看次数

AsyncTask-这个类型参数有什么问题?

这是我写的第一个使用AsyncTask练习的程序.我没有解决这个错误,我试图做一些建议的修复,但这带来了前一行的错误.所以如果有人能告诉我这里有什么问题以及如何解决这个问题,我将感激不尽.

package com.example.concurrency;

import java.io.InputStream;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ImageView;

public class UsingAsyncTask extends Activity {
    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.using_asynctask); 
        String spec="http://www.google.com/imgres?imgurl=http%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F7%2F7a%2FBasketball.png&imgrefurl=http%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FFile%3ABasketball.png&h=340&w=340&tbnid=EJmjEDyJzrhAuM%3A&zoom=1&docid=C_hn8nOgsGmuwM&hl=en&ei=Q0o2U93LNcaIygH4mICQBQ&tbm=isch&ved=0CHwQhBwwBg&iact=rc&dur=3875&page=1&start=0&ndsp=14";
        try {URL params= new URL(spec);} catch(Exception e) {}
        Bitmap result;
        new MyTask().execute(params);// ERROR:***** params cannot be resolved to a variable*************
        imageView= new ImageView(null);
    }

    private class MyTask extends AsyncTask<URL, Void, Bitmap> {

        private Bitmap loadImageFromNetwork(String url){
            try {
            Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(url).getContent()); …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

0
推荐指数
1
解决办法
709
查看次数

doInBackground()android出错

我试图从一个Android活动(一个简单的登录表单)做一个http请求/响应,但在我完成代码后它给了我一个错误,因为我必须把它放在一个线程,我不熟悉异步任务但我我试图实现它但是,现在当我运行程序并点击提交时,logcat给了我类似的东西

FATAL EXCEPTION: AsyncTask #1
Process: com.example.httpgetandroidexample, PID: 1131
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6094)
at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:824)
at android.view.View.requestLayout(View.java:16431)
at android.view.View.requestLayout(View.java:16431)
at android.view.View.requestLayout(View.java:16431)
at android.view.View.requestLayout(View.java:16431)
at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:352)
at android.view.View.requestLayout(View.java:16431)
at android.widget.TextView.checkForRelayout(TextView.java:6600)
at android.widget.TextView.setText(TextView.java:3813)
at android.widget.TextView.setText(TextView.java:3671)
at android.widget.TextView.setText(TextView.java:3646)
at com.example.httpgetandroidexample.MainActivity$AsyncTaskRunner.doInBackground(MainActivity.java:87)
at com.example.httpgetandroidexample.MainActivity$AsyncTaskRunner.doInBackground(MainActivity.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237) …
Run Code Online (Sandbox Code Playgroud)

java android android-asynctask

0
推荐指数
1
解决办法
948
查看次数

Android与AsyncTask之间的Android差异

我一直在尝试连接到服务器来检索一些数据.我想到的第一件事就是创建一个异步连接的线程.

new Thread(new Runnable() {
    @Override
    public void run() {
        // retrieve data
    }
}).run();
Run Code Online (Sandbox Code Playgroud)

但奇怪的是,我创建的线程与UI线程同步,我得到了一个网络异常,所以我最终使用了AsyncTask.你们知道什么可能导致线程与UI线程异步工作吗?我的课程延伸到一个片段.

multithreading android fragment android-asynctask

0
推荐指数
1
解决办法
167
查看次数

为什么我的UI仅在AsyncTask完成时显示?

我在我的文件中放了一个名为RetrieveHttpextends 的子类AsycTask,MainActivity它应该在后台进行一些处理.

Activity应该如下工作:显示UI,启动后台任务(检索URL,将内容解析为String数组),当AsyncTask完成时,它应该在UI上创建Toast.

不幸的是,UI正在等待该doInBackground()方法完成的任务.只有在AsyncTask完成后,才会显示用户界面,用户同时只看到黑屏.你能给我一些建议吗,我的代码出了什么问题?

public class Splashscreen extends Activity implements OnClickListener {
private String questions[];
//HTTP-Downloader to InputStream
private RetrieveHttp myHttp = new RetrieveHttp();

@Override
public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    setContentView(R.layout.hauptmenue);

    //..implementing some listeners here, referencing GUI elements

    try {
        questions = myHttp.execute("http://myurl.de").get();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ExecutionException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }   
}



@Override
public …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

0
推荐指数
1
解决办法
34
查看次数