Android json 在不影响 activity 性能的情况下在后台解析

Android json parsing in background without affecting activity performance

我必须解析 Json 数据并将其保存到 Sqlite 数据库中,我想在后台执行此操作,以免影响 activity 性能。

我的数据和UI没有连接。

解析并保存数据后,Sqlite进程应该会自动停止。

试试这个可能会有帮助

private void createHandler() {
    Thread thread = new Thread() {
        public void run() {
            Looper.prepare();

            final Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                   // Do parsing here
                    handler.removeCallbacks(this);
                    Looper.myLooper().quit();
               }
            }, 20);

            Looper.loop();
        }
    };
    thread.start();
}

由于这里没有真正的问题,我会给出一个看起来适合你问题的答案。

首先你需要使用 Asyntasks,然后在你处理响应之后你应该做一些事情,比如获取你的数据库实例并通过将它传递给你的 JSONObject 来调用正确的插入方法.如果它是一个 JSON 数组,那么你应该在数组上循环调用该函数(在循环中传递你所在的对象)。

你也可以有一个对象将你的 JSON 解析成它自己,然后你可以调用适合该对象的插入方法。