Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Hashmap问题_Android_Hashmap_Android Sqlite - Fatal编程技术网

Android Hashmap问题

Android Hashmap问题,android,hashmap,android-sqlite,Android,Hashmap,Android Sqlite,我有一段代码,基本上可以在在线数据库之间同步数据。但是,我在一行特定的代码(map.put(“id”,obj.get(mydb.WEB\u id).toString());)上遇到了一个错误,其中从android sqlite数据库获取了一个整数值并提交到在线数据库。完整cose如下所示: public void updateSQLite(String response){ ArrayList<HashMap<String, String>> syncL;

我有一段代码,基本上可以在在线数据库之间同步数据。但是,我在一行特定的代码(
map.put(“id”,obj.get(mydb.WEB\u id).toString());
)上遇到了一个错误,其中从android sqlite数据库获取了一个整数值并提交到在线数据库。完整cose如下所示:

public void updateSQLite(String response){
    ArrayList<HashMap<String, String>> syncL;
    syncL = new ArrayList<HashMap<String, String>>();
    // Create GSON object
    Gson gson = new GsonBuilder().create();
    try {
        // Extract JSON array from the response
        JSONArray arr = new JSONArray(response);
        System.out.println(arr.length());
        // If no of array elements is not zero
        if(arr.length() != 0){
            // Loop through each array element, get JSON object which has userid and username
            for (int i = 0; i < arr.length(); i++) {
                // Get JSON object
                JSONObject obj = (JSONObject) arr.get(i);
                System.out.println(obj.get("web_id"));
                System.out.println(obj.get("phone_id"));
                System.out.println(obj.get("msg_id"));
                mydb.updateWebSync(obj.get(obj.get("phone_id").toString(), obj.get("msg_id").toString(), obj.get("web_id").toString());

                HashMap<String, String> map = new HashMap<String, String>();
                map.put("id", obj.get(mydb.WEB_ID).toString());
                map.put("p_id", obj.get(mydb.COLUMN_ID).toString());
                map.put("s", "1");
                syncL.add(map);
            }
            updateMySQLSyncSts(gson.toJson(syncL), "syncsts");
            Toast.makeText(getApplicationContext(), "Download Messages success!", Toast.LENGTH_SHORT).show();
        }
    } catch (JSONException e) {
        Toast.makeText(getApplicationContext(), "Download Messages error!", Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    }
}
public void updateSQLite(字符串响应){
阵列同步;
syncL=newarraylist();
//创建GSON对象
Gson Gson=new GsonBuilder().create();
试一试{
//从响应中提取JSON数组
JSONArray arr=新JSONArray(响应);
System.out.println(arr.length());
//如果数组元素的数量不为零
如果(arr.length()!=0){
//循环遍历每个数组元素,获取包含userid和username的JSON对象
对于(int i=0;i
在我的android sqlite数据库中,
mydb.WEB_ID
的值被存储为整数。任何帮助都将不胜感激

Hashmap<String,String>
函数,它会给你错误

试一试

String.ValueOf(obj.get("web_id"))
它会将整数值转换为字符串,您的问题就会得到解决


愉快的编码。
:p

我发现了我的错误…我在
HashMap
中调用数据库列名,这与json变量不同。感谢大家的帮助。

什么样的错误?编译时还是运行时?如果不是
obj.get(mydb.WEB\u ID).toString()会发生什么
您使用的是
String.valueOf(obj.get(“web\u id”))
?错误仍然是一样的。至于是编译时错误还是运行时错误,我真的不知道有什么区别,但错误开始于
13704-13704/?W/System。错误:
只需打印您的(obj.get(“web\u id”))在您的logcat中,并给我该值。尝试使用此代码首先检查您从DB中获得的内容的长度(),如果长度()>0,则将其转换。因此只需添加if((obj.get(“web_id”)).toString().length()>0)
String.ValueOf(obj.get("web_id"))