I have 2 json array, in one is name for image and bitmap formatted in string. In the other is strings with some data from user. How to pass that data to laravel site?
JSONArray jsonImage = new JSONArray();
for(int i=0; i<imageList.size(); i++){
JSONObject imgObj = new JSONObject();
String imageBitmap = imageList.get(i).getimageBitmap();
String imageName = imageList.get(i).getImage_name();
imgObj.put("imageName",imageName);
imgObj.put("imageBitmap", imageBitmap);
jsonImage.put(imgObj);
}
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
}
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
Calendar calendar = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = format.format(calendar.getTime());
final String jsonStringArray = jsonArray.toString();
final String jsonImageString= jsonImage.toString();
URL url = new URL(AppState.DEV_URL + AppState.DEV_API + "storeAnswer");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type","application/json");
conn.connect();
JSONObject data = new JSONObject();
data.put("token", Uri.encode(UserLocalStore.userLocalStore.getToken()));
data.put("latitude", Uri.encode(String.valueOf(latitude)));
data.put("longitude",Uri.encode(String.valueOf(longitude)));
data.put("answers", Uri.encode(jsonStringArray));
data.put("images", Uri.encode(jsonImageString));
data.put("time", Uri.encode(formattedDate));
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
out.write(data.toString());
out.close();