Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使一个活动在数据库更新之前保持加载,然后再继续下一个活动?_Android - Fatal编程技术网

Android 如何使一个活动在数据库更新之前保持加载,然后再继续下一个活动?

Android 如何使一个活动在数据库更新之前保持加载,然后再继续下一个活动?,android,Android,现在的情况就是这样。我有两个应用程序共享同一个MySQL数据库。一个是给用户的,另一个是给我自己的。在用户提交请求后,用户的应用程序必须一直加载,直到我从我的应用程序中按“接受”,这将更新数据库中的一列,然后用户才能继续进行下一个活动 下面是用户应用程序上的代码。我现在是这样做的,但它不是有效的,也不是正确的解决方案。我为它设置了一个计时器,这意味着我需要在这段时间内快速更新数据库 final Runnable onUi = new Runnable() { @Overr

现在的情况就是这样。我有两个应用程序共享同一个MySQL数据库。一个是给用户的,另一个是给我自己的。在用户提交请求后,用户的应用程序必须一直加载,直到我从我的应用程序中按“接受”,这将更新数据库中的一列,然后用户才能继续进行下一个活动

下面是用户应用程序上的代码。我现在是这样做的,但它不是有效的,也不是正确的解决方案。我为它设置了一个计时器,这意味着我需要在这段时间内快速更新数据库

final Runnable onUi = new Runnable() {
            @Override
            public void run() {
                // this will run on the main UI thread
                Intent mainIntent = new Intent(SearchRockets.this,RocketFound.class);

                SearchRockets.this.startActivity(mainIntent);
                SearchRockets.this.finish();
            }
        };

        Runnable background = new Runnable() {
            @Override
            public void run() {
                // This is the delay
                try {
                    Thread.sleep(WAIT_TIME);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // This will run on a background thread
                //Simulating a long running task
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println("Going to Profile Data");
                uiHandler.post(onUi);
            }
        };

        new Thread(background).start();

如何使用户的应用程序实时加载,直到我更新列,然后允许用户进行下一个活动?我正在使用PHP for Android与数据库交互。

查看后台运行的任务。但听起来您只是在等待服务器响应时向用户显示。请使用推送通知功能。虽然AsynkTask可以解决您的问题,但您是说除非您批准,否则用户将一直看到ProgressBar。这是一个糟糕的用户体验设计。您是否考虑过这样一种情况:您位于远程位置,并且一次有好几天无法批准。理想情况下,您应该将用户重定向到待审批屏幕,并在批准请求后按notify(通知)用户应用程序,以便导航被解锁。您可以在web请求后更新用户应用程序的数据库,对吗?收到http响应后,更新数据库,然后发送一些广播。