java - Android - 如何将 edittext 值传递给后台进程,然后在完成后启动新 Activity

标签 java android mobile

我有一个正在弹出的警告对话框,它允许一个人输入密码,然后选择提交或取消(像往常一样,正负按钮)。目前,当他们点击登录(pos 选项)时,无论他们输入什么,它都会将他们发送到下一页。 (代码粘贴在下面)。

我需要更改的帮助是,我希望将从编辑文本中捕获的密码实际输入到解密位于 Assets 文件夹中的 xml 文件的 Activity 中。捕获的密码是加密的关键。有人可以就如何将我的代码修改为:

a) 捕获密码并将其发送到解密机制(我想这会用 onActivityResult 完成吗?) b) 在后台进行解密(我猜是用进度条还是加载器?我真的是 Android 线程的新手) c) 一旦 xml 被解密,然后传递到新的 Activity ,我的代码可以在其中读取内存中现在解密的 xml。

非常感谢任何帮助!!

.setPositiveButton("登录", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {

                        Intent openBrowsePage = new Intent();
                        openBrowsePage .setClassName("com.myproject.android", "com.myproject.android.BrowsePage");
                        startActivity(openBrowsePage );

                    }
                })

最佳答案

这是 AsyncTask 的经典工作。来自 documentation :

AsyncTask enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.

您不需要为此进行其他 Activity 或服务。

Asynctask 文档有一些示例代码,但简而言之,您将从 AsyncTask 继承并覆盖 doInBackground 方法来执行后台操作(保证在后台线程中运行)。您可能还想从此方法中调用 publishProgress 以指示您的后台操作已取得进展。然后您将从该方法返回计算结果(在您的例子中是一个 XML 缓冲区)。

您可能想要覆盖 OnProgressUpdate 并相应地更新 ProgressBar。此方法将在 UI 线程中运行以响应您的 publishProgress 后台方法调用。

此外,您还希望覆盖保证在主线程上完成后台操作后运行的 onPostExecuteMethod。您将获得 doInBackground 的结果作为此方法的参数。

请注意,此 API 适用于级别 3 (android 1.5) 及更高版本。

关于java - Android - 如何将 edittext 值传递给后台进程,然后在完成后启动新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389046/

相关文章:

java - 使用用户事务在 Tomcat 中实现 Hibernate 持久化

java - 为什么 Eclipse 在接口(interface)方法上提示 @Override?

java - 将一个集合划分为 2 个不同集合的最佳方法是什么?

android - 这里自动完成 : WRITE_EXTERNAL_STORAGE permission

android - 未显示 GCM 通知

javascript - 模仿移动 safari 的默认缩放

android - 错误消息 : emulator-arm. exe 已停止工作

java - 选中 CheckBox 时退出显示 Activity

android - 如何删除 Activity 布局上的 fragment

javascript - 允许 iframe 在移动设备上溢出