我如何从android中的数组contentvalue获取(键,值)

时间:2013-04-26 16:00:48

标签: java android arrays android-asynctask threadpool

我说一点英语,对不起,如果它难以阅读。

这是我的问题。我做了一个扩展Asyntask的类来为数据库设置值。 但我在泛型类型中设置的参数是ContentValues。

class putInformationToDB extends AsyncTask<ContentValues, Integer, Integer>

然后当我调用execute方法来运行它时,我设置了我之前创建的contentvalues来获取注册表和对话框中的所有值。 但现在在方法中:

protected Integer doInBackground(ContentValues... params)

我有问题。 paremeter是一个数组内容值,我不知道如何取值/键。如果它是contentvalues,我会用迭代器和map来取回值。但我不知道如何首先在内容值中对其进行转换。 : - (

我正在考虑传递另一种类似String的参数,然后通过循环获取它并将其放在ContentValues中。

3 个答案:

答案 0 :(得分:3)

您可以简单地遍历数组:

for(ContentValues c : params){
    //do something with c
}

或者如果你确定数组中只有一个元素,你可以直接访问它:

ContentValues c = params[0];

答案 1 :(得分:1)

如果您已通过数组。你可以简单地使用它  `ContentValues [] arr = params [0];

答案 2 :(得分:0)

要从ContentValues获取密钥,请使用for获取每个密钥集:

    ContentValues c = new ContentValues();
    ...
    ...
    for(String key : response.keySet()){
       System.out.println("key : " + key);       
    }

但是,如果要将每个键的值放入ContentValue中,请使用方法get(String key)

    for(String key : response.keySet()){
       System.out.println("key : " + key + " value: " + response.get(key));       
    }