是否需要将内容提供程序代码放在线程中

时间:2015-08-08 11:58:26

标签: android android-contentprovider

我正在使用ContentProvider来访问数据库并构建JSON请求,以便通过我的Service类内的HTTP发送数据。

sudo代码如下

    Cursor cursor = this.getContentResolver().query(
            DB.EMPLOYEE_URI,
            DB.EMPLOYEE.PROJECTION,
            null, null, null);

     while (cursor.moveToNext()) {

        Employee  empInfo= new Employee();

            int id = cursor.getInt(cursor
                    .getColumnIndex(DB.EMPLOYEE.COL._ID));
            String name= cursor.getString(cursor
                    .getColumnIndex(DB.EMPLOYEE.COL.EMPLOYEE_NAME));

       String reqJSON =  getGSON()
                .toJson(empInfo);

     }

所以我需要将它包含在线程或异步任务中的代码之上,以便它不会中断主线程,因为我不确定getContentResolver是否是非阻塞操作。

1 个答案:

答案 0 :(得分:0)

不,但我会,如果你必须过滤,你不会想要阻止UI线程。只需使用ASyncTask,因此您不需要处理线程的生命周期。