Я извлекаю HashMap из JSONArray и отправляю его в SQLite. Это дает мне. java.lang.ClassCastException: java.lang.Integer
нельзя передать в java.lang.String. Ошибка преобразования HashMap.Ошибка Java HashMap: java.lang.ClassCastException: java.lang.Integer нельзя передать в java.lang.String
Тип HashMap>.
for(int i=0;i<adsarray.length();i++){
JSONObject obj=adsarray.getJSONObject(i);
HashMap mapReceivedAdDetails=new HashMap();
HashMap mapBusinessInfo=new HashMap();
//mapBusinessInfo.put
mapReceivedAdDetails.put("RecAdId", obj.getInt("received_ad_id"));
mapReceivedAdDetails.put("RecBusinessId",obj.getInt("business_id"));
mapReceivedAdDetails.put("RecBusinessId",obj.getInt("user_id"));
mapReceivedAdDetails.put("RecAdtitle",obj.getString("received_ad_title"));
mapReceivedAdDetails.put("RecAdDetail",obj.getString("received_ad_detail"));
mapReceivedAdDetails.put("RecBusinessZip",obj.getString("business_zip"));
mapReceivedAdDetails.put("RecBusinessCountry", obj.getString("business_country"));
mapReceivedAdDetails.put("AdCreated", obj.getString("adreceived_created"));
mapReceivedAd.put(i, mapReceivedAdDetails);
//Log.i("ReceivedId",mapReceivedAd.toString());
mapBusinessInfo.put("BusinessId",obj.getInt("business_id"));
mapBusinessInfo.put("BusUserId",obj.getInt("user_id"));
mapBusinessInfo.put("BusName",obj.getString("business_name"));
mapBusinessInfo.put("BusSt1",obj.getString("business_street1"));
mapBusinessInfo.put("BusSt2",obj.getString("business_street2"));
mapBusinessInfo.put("BusCity",obj.getString("business_city"));
mapBusinessInfo.put("BusState",obj.getString("business_state"));
mapBusinessInfo.put("BusCountry",obj.getString("business_country"));
mapBusinessInfo.put("BusZip",obj.getString("business_zip"));
mapBusinessInfo.put("BusContactNo",obj.getString("business_contactno"));
mapBusinessInfo.put("BusWebsite",obj.getString("business_website"));
mapBusinessInfo.put("BusCreated",obj.getString("business_created"));
mapBusinessDetail.put(i,mapBusinessInfo);
// Log.i("BusinessDetail",mapBusinessDetail.toString());
/* ad_business_id=obj.getInt("business_id");
ad_user_id=obj.getInt("user_id");
receive_ad_title=obj.getString("received_ad_title");
receive_ad_detail=obj.getString("received_ad_detail");
ad_business_zip=obj.getString("business_zip");
ad_business_country=obj.getString("business_country");*/
//ad_date_created=obj.getString("date_created");
//Log.i("+ad_business_id+"+"+ad_user_id+" "+receive_ad_title+" "+receive_ad_detail+" "+ad_business_zip+" "+ad_business_country+" ");
}
SQLITE код
while(i<mapBusinessInfo.size())
{
insert.bindLong(1, Integer.parseInt(mapBusinessInfo.get(i).get("BusUserId")));
insert.bindLong(2, Integer.parseInt(mapBusinessInfo.get(i).get("BusinessId")));
insert.bindString(3, mapBusinessInfo.get(i).get("BusName"));
insert.bindString(4, mapBusinessInfo.get(i).get("BusSt1"));
insert.bindString(5, mapBusinessInfo.get(i).get("BusSt2"));
insert.bindString(6, mapBusinessInfo.get(i).get("BusCity"));
insert.bindString(7, mapBusinessInfo.get(i).get("BusState"));
insert.bindString(8, mapBusinessInfo.get(i).get("BusCountry"));
insert.bindString(9, mapBusinessInfo.get(i).get("BusZip"));
insert.bindString(10, mapBusinessInfo.get(i).get("BusContactNo"));
insert.bindString(11, mapBusinessInfo.get(i).get("BusWebsite"));
insert.bindLong(12, Long.parseLong(mapBusinessInfo.get(i).get("BusCreated")));
insert.execute();
i++;
}
db.setTransactionSuccessful();
Log.i("Transaction", "Successful");
}
Ошибка по адресу:
insert.bindLong(1, Integer.parseInt(mapBusinessInfo.get(i).get("BusUserId")));
Ниже приведен Logcat: 03-13 09: 05: 23,034 18810-18866 /? W/System.err: java.lang.ClassCastException: java.lang.Integer не может быть добавлен в java.lang.String 03-13 09: 05: 23.034 18810-18866 /? W/System.err: at com.example.SQLITEDatabase.DatabaseHandle.InserBusinessInfo (DatabaseHandle.java:143) 03-13 09: 05: 23.042 18810-18866 /? W/System.err: at com.example.deals.NewUserDetailPage $ fetchadvertisements.doInBackground (NewUserDetailPage.java:283) 03-13 09: 05: 23.042 18810-18866 /? W/System.err: at com.example.deals.NewUserDetailPage $ fetchadvertisements.doInBackground (NewUserDetailPage.java:255) 03-13 09: 05: 23.046 18810-18866 /? W/System.err: at android.os.AsyncTask $ 2.call (AsyncTask.java:287) 03-13 09: 05: 23.062 18810-18866 /? W/System.err: at java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:305) 03-13 09: 05: 23.062 18810-18866 /? W/System.err: at java.util.concurrent.FutureTask.run (FutureTask.java:137) 03-13 09: 05: 23.066 18810-18866 /? W/System.err: at android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java:230) 03-13 09: 05: 23.070 18810-18866 /? W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1076) 03-13 09: 05: 23.070 18810-18866 /? W/System.err: at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:569) 03-13 09: 05: 23.086 18810-18866 /? W/System.err: at java.lang.Thread.run (Thread.java:856) 03-13 09: 05: 23.138 18810-18866 /? W/System.err: java.lang.RuntimeException: не удается создать обработчик внутри потока, который не вызвал Looper.prepare() 03-13 09: 05: 23.170 18810-18866 /? W/System.err: at android.os.Handler. (Handler.java:121) 03-13 09: 05: 23.170 18810-18866 /? W/System.err: at android.widget.Toast $ TN. (Toast.java:322) 03-13 09: 05: 23.174 18810-18866 /? W/System.err: at android.widget.Toast. (Toast.java:91) 03-13 09: 05: 23.186 18810-18866 /? W/System.err: at android.widget.Toast.makeText (Toast.java:238) 03-13 09: 05: 23.186 18810-18866 /? W/System.err: at com.example.deals.NewUserDetailPage $ fetchadvertisements.doInBackground (NewUserDetailPage.java:285) 03-13 09: 05: 23.194 18810-18866 /? W/System.err: at com.example.deals.NewUserDetailPage $ fetchadvertisements.doInBackground (NewUserDetailPage.java:255) 03-13 09: 05: 23.206 18810-18866 /? W/System.err: at android.os.AsyncTask $ 2.call (AsyncTask.java:287) 03-13 09: 05: 23.214 18810-18866 /? W/System.err: at java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:305) 03-13 09: 05: 23.218 18810-18866 /? W/System.err: at java.util.concurrent.FutureTask.run (FutureTask.java:137) 03-13 09: 05: 23.222 18810-18866 /? W/System.err: at android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java:230) 03-13 09: 05: 23.254 18810-18866 /? W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1076) 03-13 09: 05: 23.274 18810-18866 /? W/System.err: at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:569) 03-13 09: 05: 23.282 18810-18866 /? W/System.err: at java.lang.Thread.run (Thread.java:856) 03-13 09: 05: 23.454 320-320 /?W/InputMethodManagerService: окно уже целенаправленный, игнорируя усиление фокусировки: [email protected] атрибута = NULL
Где ошибка происходит в вашем коде? Опубликовать всю трассировку стека. –