Android 进度条不显示

2024-02-03

private Handler handler = new Handler()
{
    @Override
    public void handleMessage(Message msg)
    {
        removeDialog(0);
        switch (msg.what)
        {
            case SUCCESS:
                Log.i("LoginActivity", "Got inputstream");
                final InputStream is = (InputStream)msg.obj;
                if (is != null)
                {
                    //TODO: examine the input stream, etc...
                }
                break;
            case FAILURE:
                Log.i("LoginActivity", "Login failed");
                //TODO: Failure handling
                break;
            default:
                break;
        }
    }
};

@Override
protected Dialog onCreateDialog(int id)
{
    switch (id)
    {
        case 0:
        {
            dialog = new ProgressDialog(this);
            dialog.setMessage("Please wait...");
            dialog.setIndeterminate(true);
            dialog.setCancelable(true);
            return dialog;
        }
    }
    return null;
}

public void loginRequest(String name,String password)
{   
    showDialog(0);
    loginThread thread = new loginThread(serverURL, name, password,getMyIMENumber(), handler);
    thread.start();
}

............

public class loginThread extends Thread {

String name;
String password;
InputStream is;
String Url;
String ime;

private final Handler handler;

   public loginThread(String Url,String name,String password,String ime,final Handler handler) {
       this.name = name;
       this.Url = Url;
       this.password = password;
       this.ime = ime;
       this.handler = handler;         
   }


   public void run() {
          try{
                  HttpClient httpClient = new DefaultHttpClient();
                  String loginURL = Url+"member/login";
                  HttpPost httppost = new HttpPost(loginURL);
                  HttpParams httpParameters = new BasicHttpParams();
                  List<NameValuePair> pairs = new ArrayList<NameValuePair>();
                  if(name.contentEquals(""))
                  {
                      pairs.add(new BasicNameValuePair("ime", ime));
                  }
                  else
                  {
                      pairs.add(new BasicNameValuePair("userName", name));
                      pairs.add(new BasicNameValuePair("password", password));                            
                  }                  


                  int timeoutConnection = 3000;
                  HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
                  // Set the default socket timeout (SO_TIMEOUT) 
                  // in milliseconds which is the timeout for waiting for data.
                  httppost.setEntity(new UrlEncodedFormEntity(pairs));
                  HttpResponse response = httpClient.execute(httppost);                           
                  HttpEntity entity = response.getEntity();
                  final InputStream is = entity.getContent();

                  Message message = new Message();
                  message.obj = is;
                  message.what = server.SUCCESS;
                  handler.sendMessage(message);
          }catch(Exception e){  
              Log.e("log_tag", "Error in http connection " + e.toString(), e);
              handler.sendEmptyMessage(server.FAILURE);
          }           

   }

}

进度对话框没有显示我在这里做错了什么!请帮我..

......................

// 从 DexFile.java 编译(版本 1.5:49.0,超级位) 公共最终类 dalvik.system.DexFile {

// 方法描述符 #8 (Ljava/io/File;)V // 堆栈:3,局部变量:2 public DexFile(java.io.File file) 抛出 java.io.IOException; 0 aload_0 [这个] 1 调用特殊 java.lang.Object() [1] 4 新的java.lang.RuntimeException [2] 7 重复 8 最不发达国家 [3] 10 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 13 投掷 行号: [pc:0,行:4] 局部变量表: [pc: 0, pc: 14] 本地:此索引:0 类型:dalvik.system.DexFile [pc: 0, pc: 14] 本地:文件索引:1 类型:java.io.File

// 方法描述符 #18 (Ljava/lang/String;)V // 堆栈:3,局部变量:2 public DexFile(java.lang.String fileName) 抛出 java.io.IOException; 0 aload_0 [这个] 1 调用特殊 java.lang.Object() [1] 4 新的java.lang.RuntimeException [2] 7 重复 8 最不发达国家 [3] 10 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 13 投掷 行号: [pc:0,行:5] 局部变量表: [pc: 0, pc: 14] 本地:此索引:0 类型:dalvik.system.DexFile [pc: 0, pc: 14] 本地:文件名索引:1 类型:java.lang.String

// 方法描述符 #22 (Ljava/lang/String;Ljava/lang/String;I)Ldalvik/system/DexFile; // 堆栈:3,局部变量:3 public static dalvik.system.DexFile loadDex(java.lang.String sourcePathName, java.lang.String outputPathName, int flags) 抛出 java.io.IOException; 0 新的 java.lang.RuntimeException [2] 3 重复 4 最不发达国家 [3] 6 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 9 投掷 行号: [pc:0,行:6] 局部变量表: [pc: 0, pc: 10] 本地:sourcePathName 索引:0 类型:java.lang.String [pc: 0, pc: 10] 本地:outputPathName 索引:1 类型:java.lang.String [pc: 0, pc: 10] 本地:标志索引:2 类型:int

// 方法描述符 #28 ()Ljava/lang/String; // 堆栈:3,局部变量:1 公共 java.lang.String getName(); 0 新的 java.lang.RuntimeException [2] 3 重复 4 最不发达国家 [3] 6 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 9 投掷 行号: [pc:0,行:7] 局部变量表: [pc: 0, pc: 10] 本地:此索引:0 类型:dalvik.system.DexFile

// 方法描述符 #30 ()V // 堆栈:3,局部变量:1 public void close() 抛出 java.io.IOException; 0 新的 java.lang.RuntimeException [2] 3 重复 4 最不发达国家 [3] 6 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 9 投掷 行号: [pc:0,行:8] 局部变量表: [pc: 0, pc: 10] 本地:此索引:0 类型:dalvik.system.DexFile

// 方法描述符 #32 (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class; // 堆栈:3,局部变量:3 public java.lang.Class loadClass(java.lang.String name, java.lang.ClassLoader 加载器); 0 新的 java.lang.RuntimeException [2] 3 重复 4 最不发达国家 [3] 6 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 9 投掷 行号: [PC:0,行:9] 局部变量表: [pc: 0, pc: 10] 本地:此索引:0 类型:dalvik.system.DexFile [pc: 0, pc: 10] 本地:名称索引:1 类型:java.lang.String [pc: 0, pc: 10] 本地:加载器索引:2 类型:java.lang.ClassLoader

// 方法描述符 #37 ()Ljava/util/Enumeration; // 签名: ()Ljava/util/Enumeration; // 堆栈:3,局部变量:1 公共java.util.Enumeration条目(); 0 新的 java.lang.RuntimeException [2] 3 重复 4 最不发达国家 [3] 6 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 9 投掷 行号: [pc:0,行:10] 局部变量表: [pc: 0, pc: 10] 本地:此索引:0 类型:dalvik.system.DexFile

// 方法描述符 #30 ()V // 堆栈:3,局部变量:1 protected void Finalize() 抛出 java.io.IOException; 0 新的 java.lang.RuntimeException [2] 3 重复 4 最不发达国家 [3] 6 调用特殊 java.lang.RuntimeException(java.lang.String) [4] 9 投掷 行号: [PC:0,行:11] 局部变量表: [pc: 0, pc: 10] 本地:此索引:0 类型:dalvik.system.DexFile

// 方法描述符 #42 (Ljava/lang/String;)Z public static native boolean isDexOptNeeded(java.lang.String arg0) 抛出 java.io.FileNotFoundException, java.io.IOException; }


不要打电话thread.run() but thread.start().

run()调用函数run()在同一个线程上。start()将在新线程中调用它。目前,GUI 线程被阻塞,因为它执行应在后台线程中完成的操作。

您可以通过以下方式调用线程:

Thread thread = new Thread(new loginThread(serverURL, name, password,getMyIMENumber()));
thread.start();

或者让你的登录线程extend线程而不是实现 Runnable。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 进度条不显示 的相关文章

  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • StrictMode 策略违规:我的应用程序中存在 android.os.strictmode.LeakedClosableViolation?

    Android 开发新手 第一次在我的应用程序上尝试 StrictMode 我注意到以下内容 并想知道这是否是我的应用程序或库中的问题 我不太清楚 谢谢你 D StrictMode StrictMode policy violation a
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 进度条没有进展

    我有一个正在更新 sqlserver 中的表的程序 我有一个表单 我想显示其进度 进度条正在递增 但没有显示 我需要为此使用后台工作者吗 我正在做什么的例子 public void updateTable string tableName
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript

随机推荐