如何在检查服务器连接时显示android进度条 我想在检查服务器连接时显示进度条,在系统检查连接时,包含进度条以避免空白屏幕。我写的代码如下所示,但它仍然不是我想要的东西。我已经尝试了很多方法,但都没有成功,如何才能做到正确?请问我的密码怎么了 public class MainActivity extends Activity { private Handler handler; private ProgressDialog progress; private Context context; ProgressBar progressBar; public class BackgroundAsyncTask extends AsyncTask<Void, Integer, Void> { int myProgress; @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onPostExecute", Toast.LENGTH_LONG).show(); } @Override protected void onPreExecute() { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onPreExecute", Toast.LENGTH_LONG).show(); myProgress = 0; } @Override protected Void doInBackground(Void... params) { // TODO Auto-generated method stub while (myProgress < 100) { myProgress++; publishProgress(myProgress); SystemClock.sleep(100); } return null; } @Override protected void onProgressUpdate(Integer... values) { // TODO Auto-generated method stub progressBar.setProgress(values[0]); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (IsReachable(this)) { progressBar = (ProgressBar) findViewById(R.id.progressBar); progressBar.setProgress(0); new BackgroundAsyncTask().execute(); Toast.makeText(this, "Server on ", Toast.LENGTH_SHORT).show(); Intent i = new Intent(MainActivity.this, Seconde.class); startActivity(i); } else { Toast.makeText(this, "server off ", Toast.LENGTH_SHORT).show(); Intent intent = new Intent("android.net.vpn.SETTINGS"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } } public static boolean IsReachable(Context context) { // First, check we have any sort of connectivity final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo netInfo = connMgr.getActiveNetworkInfo(); boolean isReachable = false; if (netInfo != null && netInfo.isConnected()) { // Some sort of connection is open, check if server is reachable try { URL url = new URL("http://google.com");//test HttpURLConnection urlc = (HttpURLConnection) url.openConnection(); urlc.setRequestProperty("User-Agent", "Android Application"); urlc.setRequestProperty("Connection", "close"); urlc.setConnectTimeout(2 * 1000); urlc.connect(); isReachable = (urlc.getResponseCode() == 200); } catch (IOException e) { //Log.e(TAG, e.getMessage()); } } return isReachable; } } 公共类MainActivity扩展活动{ 私人经办人; 私人进展对话进展; 私人语境; ProgressBar ProgressBar; 公共类BackgroundAsyncTask扩展 异步任务{ int-myProgress; @凌驾 受保护的void onPostExecute(void结果){ //TODO自动生成的方法存根 Toast.makeText(MainActivity.this, “onPostExecute”,Toast.LENGTH_LONG.show(); } @凌驾 受保护的void onPreExecute(){ //TODO自动生成的方法存根 Toast.makeText(MainActivity.this, “onPreExecute”,Toast.LENGTH\u LONG.show(); myProgress=0; } @凌驾 受保护的Void doInBackground(Void…参数){ //TODO自动生成的方法存根 而(我的进度

如何在检查服务器连接时显示android进度条 我想在检查服务器连接时显示进度条,在系统检查连接时,包含进度条以避免空白屏幕。我写的代码如下所示,但它仍然不是我想要的东西。我已经尝试了很多方法,但都没有成功,如何才能做到正确?请问我的密码怎么了 public class MainActivity extends Activity { private Handler handler; private ProgressDialog progress; private Context context; ProgressBar progressBar; public class BackgroundAsyncTask extends AsyncTask<Void, Integer, Void> { int myProgress; @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onPostExecute", Toast.LENGTH_LONG).show(); } @Override protected void onPreExecute() { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "onPreExecute", Toast.LENGTH_LONG).show(); myProgress = 0; } @Override protected Void doInBackground(Void... params) { // TODO Auto-generated method stub while (myProgress < 100) { myProgress++; publishProgress(myProgress); SystemClock.sleep(100); } return null; } @Override protected void onProgressUpdate(Integer... values) { // TODO Auto-generated method stub progressBar.setProgress(values[0]); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (IsReachable(this)) { progressBar = (ProgressBar) findViewById(R.id.progressBar); progressBar.setProgress(0); new BackgroundAsyncTask().execute(); Toast.makeText(this, "Server on ", Toast.LENGTH_SHORT).show(); Intent i = new Intent(MainActivity.this, Seconde.class); startActivity(i); } else { Toast.makeText(this, "server off ", Toast.LENGTH_SHORT).show(); Intent intent = new Intent("android.net.vpn.SETTINGS"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } } public static boolean IsReachable(Context context) { // First, check we have any sort of connectivity final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo netInfo = connMgr.getActiveNetworkInfo(); boolean isReachable = false; if (netInfo != null && netInfo.isConnected()) { // Some sort of connection is open, check if server is reachable try { URL url = new URL("http://google.com");//test HttpURLConnection urlc = (HttpURLConnection) url.openConnection(); urlc.setRequestProperty("User-Agent", "Android Application"); urlc.setRequestProperty("Connection", "close"); urlc.setConnectTimeout(2 * 1000); urlc.connect(); isReachable = (urlc.getResponseCode() == 200); } catch (IOException e) { //Log.e(TAG, e.getMessage()); } } return isReachable; } } 公共类MainActivity扩展活动{ 私人经办人; 私人进展对话进展; 私人语境; ProgressBar ProgressBar; 公共类BackgroundAsyncTask扩展 异步任务{ int-myProgress; @凌驾 受保护的void onPostExecute(void结果){ //TODO自动生成的方法存根 Toast.makeText(MainActivity.this, “onPostExecute”,Toast.LENGTH_LONG.show(); } @凌驾 受保护的void onPreExecute(){ //TODO自动生成的方法存根 Toast.makeText(MainActivity.this, “onPreExecute”,Toast.LENGTH\u LONG.show(); myProgress=0; } @凌驾 受保护的Void doInBackground(Void…参数){ //TODO自动生成的方法存根 而(我的进度,android,progress-bar,Android,Progress Bar,连接到服务器时,实际上不可能计算时间百分比,因为谁知道服务器将响应多长时间。我建议显示一个不确定的进度条(只在循环中设置动画,不显示任何百分比的进度)。你唯一能有效使用进度条的时间是下载一个文件——因为你知道文件的总长度,并且可以根据当前的下载速度进行预测(或者只显示百分比).连接到服务器时,实际上不可能计算时间百分比,因为谁知道服务器将响应多长时间。我建议显示一个不确定的进度条(只在循环中设置动画,不显示任何百分比的进度)。唯一可以有效使用进度条的其他时间是下载文件,因为您知道文件的总长度,并

连接到服务器时,实际上不可能计算时间百分比,因为谁知道服务器将响应多长时间。我建议显示一个不确定的进度条(只在循环中设置动画,不显示任何百分比的进度)。你唯一能有效使用进度条的时间是下载一个文件——因为你知道文件的总长度,并且可以根据当前的下载速度进行预测(或者只显示百分比).

连接到服务器时,实际上不可能计算时间百分比,因为谁知道服务器将响应多长时间。我建议显示一个不确定的进度条(只在循环中设置动画,不显示任何百分比的进度)。唯一可以有效使用进度条的其他时间是下载文件,因为您知道文件的总长度,并且可以根据当前下载速度(或仅显示百分比)进行预测。

在布局中,添加进度条

<ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleInverse"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@android:color/transparent"
        android:visibility="gone" />
然后,在检查完服务器后,将进度条设置为gone

mProgressBar.setVisibility(View.GONE);

注意:进度条的样式取决于应用程序主题样式在布局中添加进度条

<ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleInverse"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@android:color/transparent"
        android:visibility="gone" />
然后,在检查完服务器后,将进度条设置为gone

mProgressBar.setVisibility(View.GONE);

注意:进度条的样式取决于您的应用程序主题样式

我如何显示不确定的进度条?我想设置不确定(true)。我怎样才能显示一个不确定的进度条呢?我想设置不确定(true)。Fuyuba我照你说的做了,但我得到一个空白屏幕这是不确定的进度条,所以你不再需要设置进度(),我只想在空白活动旁边显示一个简单的进度条Fuyuba我照你说的做了,但我得到一个空白屏幕这是不确定的进度条,所以你不需要设置进度()总之,我只想在空白活动旁边显示一个简单的进度条