1

我在 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;
}

}

4

1 回答 1

5

您可以走 Java 路线并使用普通线程。但是请注意,您将需要一个Handler(位于 Android SDK 中的类)来将您的更改传播到 UI。
更类似于 Android 的方式是AsyncTask。它专为必须与 UI 并行运行的任务而设计,并提供了一种回调 UI 的机制,因此您不必自己实现它(如果您决定选择,您将使用处理程序做什么最好的选择)。

于 2013-07-05T19:14:32.103 回答