如何在Android中的另一个线程中运行方法?

时间:2013-07-05 19:07:05

标签: java android multithreading user-interface methods

我在Android中有一个MainActivity类,可以加载第一个屏幕。启动时,我需要在另一个线程中运行另一个方法,然后显示消息或转到另一个屏幕。用于UI不挂起。 这该怎么做?在哪个代码处?

//更新的代码

import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;

import android.view.Menu;
import android.widget.Toast;


public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Context context=getApplicationContext();
    String Internet=String.valueOf(isNetworkAvailable(this));
    Toast toast = Toast.makeText(this, Internet, Toast.LENGTH_SHORT);
    toast.show();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public static boolean isNetworkAvailable(Context context) 
{
    return ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo() != null;
}

}

1 个答案:

答案 0 :(得分:5)

您可以使用Java路由并使用普通的Thread。但请注意,您需要Handler(位于Android SDK中的类)才能将更改传播到用户界面。
更像Android的方式是AsyncTask。它专门设计用于必须与UI并行运行的任务,并提供一种回调用户界面的机制,因此您不必自己实现(如果您决定,您将使用处理程序完成的操作)选择furst选项。)