从 sqlite 获取数据时的 Android 进度对话框

标签 android multithreading json http-post progressdialog

我尝试从网络上的示例中实现线程、异步任务,但没有一个以我想要的方式运行。

我有一个类可以将数据发送到网络服务器。 它包含 3 个任务: - 抢一个ID -从sql中获取数据并构建一个json文件 -发送json文件

我想实现一个进度对话框或进度条来向等待的用户显示进度。

我上次测试的显示从 sqlite 抓取数据的进度对话框是基于 Progress Bar Example 的. 问题是,当我尝试生成我的文件超过 2 次时,线程没有启动...

那么在我的情况下最好的做法是什么? 我有一个微调器来选择要发送的内容和一个要发送的按钮。

当按钮被点击时,基本上我有:

HttpResponse response = GetChantier(commentaire);
    //Checking response 
    if( response != null)
    {
        String _response=EntityUtils.toString(response.getEntity());
        int chantier_serveur = Integer.parseInt(_response.replaceAll("[\n\r]", ""))
        String fichier = DonneesToJson(db,chantier, chantier_serveur);
        HttpResponse response = SendJson ( chantier, fichier);
    }

我需要为 DonneesToJson 和 SendJson 实现进度。

DonnesToJson 抓取一个光标,然后在迭代光标的同时构建一个 json 文件。 SendJson 是一个发送文件和 2 个字段的 HttpPost。

我对 Java 编程和线程真的很陌生。 任何帮助表示赞赏。

问候。

最佳答案

使用异步任务来执行后台任务,如下所示。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);  
    new Asyn_Task().execute("name","title");
}


class Asyn_Task extends AsyncTask<Void, Void, Void> {
    private final ProgressDialog dialog = new ProgressDialog(Facebook_Post_View.this);
    // can use UI thread here
    protected void onPreExecute() {
        this.dialog.setMessage("Loading...");
        this.dialog.setCancelable(false);
        this.dialog.show();
    }
    @Override
    protected Void doInBackground(String... param) {
        // TODO Auto-generated method stub
                    name=params[0]; //Like
                    title=params[1];

         // Do your all Stuffs
       return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        if (this.dialog.isShowing()) {
            this.dialog.dismiss();
        }
    }
}

在这些中,位置 0 名称可用,位置 1 标题可用。同样,您可以根据需要传递值。

如需进一步引用,请查看此 Async Task

关于从 sqlite 获取数据时的 Android 进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489242/

相关文章:

android - 将 ListView 中复选框的检查限制为 3

java - 调用 WebService Asp.Net 发送参数 JSON

java - Log4j - 每个线程的文件日志

Java并发: CopyOnWriteArrayList behavior

Android 哪种类型的 feed 渲染速度更快?

NetBeans 上的 Android ActionBarSherlock - 工作但编辑器显示错误

Android setLogo 没有放在 Action Bar 的中心

java - FileReader,如果文件不存在则创建文件

java - 是否保证 ConcurrentHashMap.get() 可以通过不同的线程看到以前的 ConcurrentHashMap.put() ?

java - 使用 java 提取 movie.json.1 (扩展名 (.1) )