DT @1.11.2015: An incidentCategories gearbeitet. Werden beim Report nun vorher aus der mySQL Datenbank ausgelesen.

This commit is contained in:
Dennis Thießen
2015-11-01 15:02:28 +01:00
parent 7a41b99ccd
commit cfc99d216c
11 changed files with 116 additions and 43 deletions

View File

@@ -4,7 +4,6 @@ import android.app.SearchManager;
import android.app.SearchableInfo; import android.app.SearchableInfo;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
@@ -50,7 +49,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
private static GoogleMap mMap; private static GoogleMap mMap;
Marker mMarker; Marker mMarker;
HashMap<String, String> markerIDs = new HashMap<String, String>(); HashMap<String, String> markerIDs = new HashMap<>();
private LatLng myLocation; private LatLng myLocation;
private LatLng markedLocation; private LatLng markedLocation;

View File

@@ -2,7 +2,6 @@ package org.deke.risk.riskahead;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log; import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;

View File

@@ -26,10 +26,12 @@ import com.android.volley.toolbox.StringRequest;
import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppConfig;
import org.deke.risk.riskahead.helper.AppController; import org.deke.risk.riskahead.helper.AppController;
import org.deke.risk.riskahead.helper.BaseActivity; import org.deke.risk.riskahead.helper.BaseActivity;
import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -63,15 +65,20 @@ public class ReportActivity extends BaseActivity {
private int year, month, day; private int year, month, day;
private int hour, minute; private int hour, minute;
public HashMap<String, String[]> categories;
public ArrayList<String> incidentCategoryList;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
userHasToBeLoggedIn(); userHasToBeLoggedIn();
Spinner spinner = (Spinner) findViewById(R.id.dd_report_category);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.incident_categories, android.R.layout.simple_spinner_item); // ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, incidentCategories, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter); getCategories();
final Calendar c = Calendar.getInstance(); final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR); year = c.get(Calendar.YEAR);
@@ -90,13 +97,13 @@ public class ReportActivity extends BaseActivity {
restoreSharedPreferences(); restoreSharedPreferences();
if(txtDay.getText().toString() == "") { if(txtDay.getText().toString().equals("")) {
txtDay.setText(new StringBuilder() txtDay.setText(new StringBuilder()
.append(year).append("-").append(month + 1).append("-") .append(year).append("-").append(month + 1).append("-")
.append(day).append(" ")); .append(day).append(" "));
} }
if(txtTime.getText().toString() == "") { if(txtTime.getText().toString().equals("")) {
txtTime.setText(new StringBuilder().append(hour) txtTime.setText(new StringBuilder().append(hour)
.append(":").append(minute).append(" ")); .append(":").append(minute).append(" "));
} }
@@ -131,7 +138,7 @@ public class ReportActivity extends BaseActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
String tag_string_req = "addincidentwithposition"; String tag_string_req = "addincidentwithposition";
StringRequest strReq = getStringRequestAddIncidentWithPosition(txtTitle.getText().toString(), txtDescription.getText().toString(), txtCrimeCategory.getSelectedItemPosition(), latitude, longitude, 10, 1, txtDay.getText().toString(), txtTime.getText().toString()); StringRequest strReq = getStringRequestAddIncidentWithPosition(txtTitle.getText().toString(), txtDescription.getText().toString(), Integer.valueOf(categories.get(txtCrimeCategory.getSelectedItem().toString())[0]), latitude, longitude, 10, 1, txtDay.getText().toString(), txtTime.getText().toString());
AppController.getInstance().addToRequestQueue(strReq, tag_string_req); AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
} }
}); });
@@ -191,7 +198,6 @@ public class ReportActivity extends BaseActivity {
showMessage("Report added!"); showMessage("Report added!");
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.clear(); editor.clear();
editor.commit();
editor.apply(); editor.apply();
gotoMapActivity(); gotoMapActivity();
} else { } else {
@@ -310,4 +316,76 @@ public class ReportActivity extends BaseActivity {
editor.apply(); editor.apply();
} }
public void getCategories(){
String tag_string_req = "getincidentcategories";
StringRequest strReq = getStringRequestGetIncidentCategories();
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
private StringRequest getStringRequestGetIncidentCategories() {
return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, "Incident categories response: " + response);
hideDialog();
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
// Check for error node in json
if (!error) {
JSONArray jsoncategories = jObj.getJSONArray("msg");
categories = new HashMap<>();
incidentCategoryList = new ArrayList<>();
for(int i=0;i<jsoncategories.length();i++){
JSONObject category = jsoncategories.getJSONObject(i);
String tmp[] = {category.getString("uid"),category.getString("description")};
categories.put(category.getString("name"),tmp);
incidentCategoryList.add(category.getString("name"));
}
ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplicationContext(),android.R.layout.simple_spinner_dropdown_item,incidentCategoryList);
Spinner spinner = (Spinner) findViewById(R.id.dd_report_category);
spinner.setAdapter(adapter);
} else {
// Error in login. Get the error message
String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
// JSON error
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Report Error: " + error.getMessage());
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_LONG).show();
hideDialog();
}
}) {
@Override
protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<>();
params.put("tag", "getincidentcategories");
params.put("uid", user.get("uid"));
params.put("token", user.get("token"));
return params;
}
};
}
} }

View File

@@ -90,7 +90,7 @@ public class ReportlistActivity extends BaseActivity {
// Check for error node in json // Check for error node in json
if (!error) { if (!error) {
JSONArray incidents = jObj.getJSONArray("message"); JSONArray incidents = jObj.getJSONArray("message");
resultList = new ArrayList<JSONObject>(); resultList = new ArrayList<>();
for(int i=0;i<incidents.length();i++){ for(int i=0;i<incidents.length();i++){
JSONObject incident = incidents.getJSONObject(i); JSONObject incident = incidents.getJSONObject(i);

View File

@@ -151,7 +151,7 @@ public class SettingsActivity extends BaseActivity {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
// Posting params to register url // Posting params to register url
Map<String, String> params = new HashMap<String, String>(); Map<String, String> params = new HashMap<>();
params.put("tag", "updateuser"); params.put("tag", "updateuser");
params.put("uid", user.get("uid")); params.put("uid", user.get("uid"));
params.put("token", user.get("token")); params.put("token", user.get("token"));
@@ -180,7 +180,6 @@ public class SettingsActivity extends BaseActivity {
if (!error) { if (!error) {
// do nothing actually // do nothing actually
} else { } else {
// Error occurred in registration. Get the error // Error occurred in registration. Get the error
// message // message
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
@@ -204,8 +203,7 @@ public class SettingsActivity extends BaseActivity {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
// Posting params to register url Map<String, String> params = new HashMap<>();
Map<String, String> params = new HashMap<String, String>();
params.put("tag", "requestpwreset"); params.put("tag", "requestpwreset");
params.put("email", email); params.put("email", email);

View File

@@ -6,7 +6,6 @@ import android.location.Geocoder;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
@@ -55,17 +54,7 @@ public class ViewReportActivity extends BaseActivity {
txtPosition = (EditText) findViewById(R.id.input_viewreport_position); txtPosition = (EditText) findViewById(R.id.input_viewreport_position);
txtPositionDetail = (TextView) findViewById(R.id.lbl_viewreport_position_detail); txtPositionDetail = (TextView) findViewById(R.id.lbl_viewreport_position_detail);
Spinner spinner = (Spinner) findViewById(R.id.dd_viewreport_category); getIncident();
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.incident_categories, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Intent intent = getIntent();
String uid = intent.getStringExtra(BaseActivity.EXTRA_MESSAGE);
String tag_string_req = "getincidentwithpositionfromid";
StringRequest strReq = getStringRequestGetIncidentWithPositionFromID(uid);
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
findViewById(R.id.btn_viewreport_upvote).setOnClickListener(new View.OnClickListener() { findViewById(R.id.btn_viewreport_upvote).setOnClickListener(new View.OnClickListener() {
@Override @Override
@@ -160,4 +149,13 @@ public class ViewReportActivity extends BaseActivity {
}; };
} }
public void getIncident() {
Intent intent = getIntent();
String uid = intent.getStringExtra(BaseActivity.EXTRA_MESSAGE);
String tag_string_req = "getincidentwithpositionfromid";
StringRequest strReq = getStringRequestGetIncidentWithPositionFromID(uid);
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
} }

View File

@@ -20,6 +20,10 @@ import android.widget.ArrayAdapter;
import android.widget.ListView; import android.widget.ListView;
import android.widget.Toast; import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.beardedhen.androidbootstrap.TypefaceProvider; import com.beardedhen.androidbootstrap.TypefaceProvider;
import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.LatLng;
@@ -33,8 +37,14 @@ import org.deke.risk.riskahead.ReportlistActivity;
import org.deke.risk.riskahead.SettingsActivity; import org.deke.risk.riskahead.SettingsActivity;
import org.deke.risk.riskahead.SubscriptionsActivity; import org.deke.risk.riskahead.SubscriptionsActivity;
import org.deke.risk.riskahead.ViewReportActivity; import org.deke.risk.riskahead.ViewReportActivity;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map;
public abstract class BaseActivity extends AppCompatActivity { public abstract class BaseActivity extends AppCompatActivity {

View File

@@ -28,7 +28,7 @@ public class PlaceJSONParser {
private List<HashMap<String, String>> getPlaces(JSONArray jPlaces){ private List<HashMap<String, String>> getPlaces(JSONArray jPlaces){
int placesCount = jPlaces.length(); int placesCount = jPlaces.length();
List<HashMap<String, String>> placesList = new ArrayList<HashMap<String,String>>(); List<HashMap<String, String>> placesList = new ArrayList<>();
HashMap<String, String> place = null; HashMap<String, String> place = null;
/** Taking each place, parses and adds to list object */ /** Taking each place, parses and adds to list object */
@@ -49,7 +49,7 @@ public class PlaceJSONParser {
/** Parsing the Place JSON object */ /** Parsing the Place JSON object */
private HashMap<String, String> getPlace(JSONObject jPlace){ private HashMap<String, String> getPlace(JSONObject jPlace){
HashMap<String, String> place = new HashMap<String, String>(); HashMap<String, String> place = new HashMap<>();
String id=""; String id="";
String reference=""; String reference="";

View File

@@ -16,8 +16,8 @@ public class PlaceJSONParserDetail {
Double lng = Double.valueOf(0); Double lng = Double.valueOf(0);
String formattedAddress = ""; String formattedAddress = "";
HashMap<String, String> hm = new HashMap<String, String>(); HashMap<String, String> hm = new HashMap<>();
List<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>(); List<HashMap<String, String>> list = new ArrayList<>();
try { try {
lat = (Double)jObject.getJSONObject("result").getJSONObject("geometry").getJSONObject("location").get("lat"); lat = (Double)jObject.getJSONObject("result").getJSONObject("geometry").getJSONObject("location").get("lat");

View File

@@ -112,7 +112,6 @@ public class PlaceProvider extends ContentProvider {
} }
} catch (JSONException e) { } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
c = mCursor; c = mCursor;
@@ -141,7 +140,6 @@ public class PlaceProvider extends ContentProvider {
mCursor.addRow(new String[] { Integer.toString(i), hMap.get("description"), hMap.get("reference") }); mCursor.addRow(new String[] { Integer.toString(i), hMap.get("description"), hMap.get("reference") });
} }
} catch (JSONException e) { } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
c = mCursor; c = mCursor;
@@ -156,7 +154,6 @@ public class PlaceProvider extends ContentProvider {
try { try {
detailsList = detailsParser.parse(new JSONObject(jsonPlaceDetails)); detailsList = detailsParser.parse(new JSONObject(jsonPlaceDetails));
} catch (JSONException e) { } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
@@ -172,32 +169,26 @@ public class PlaceProvider extends ContentProvider {
@Override @Override
public int delete(Uri uri, String selection, String[] selectionArgs) { public int delete(Uri uri, String selection, String[] selectionArgs) {
// TODO Auto-generated method stub
return 0; return 0;
} }
@Override @Override
public String getType(Uri uri) { public String getType(Uri uri) {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public Uri insert(Uri uri, ContentValues values) { public Uri insert(Uri uri, ContentValues values) {
// TODO Auto-generated method stub
return null; return null;
} }
@Override @Override
public boolean onCreate() { public boolean onCreate() {
// TODO Auto-generated method stub
return false; return false;
} }
@Override @Override
public int update(Uri uri, ContentValues values, String selection, public int update(Uri uri, ContentValues values, String selection,String[] selectionArgs) {
String[] selectionArgs) {
// TODO Auto-generated method stub
return 0; return 0;
} }

View File

@@ -75,7 +75,7 @@ public class SessionManager {
* Getting user data from database * Getting user data from database
* */ * */
public HashMap<String, String> getUserDetails() { public HashMap<String, String> getUserDetails() {
HashMap<String, String> user = new HashMap<String, String>(); HashMap<String, String> user = new HashMap<>();
user.put(KEY_UID, userdata.getString(KEY_UID, null)); user.put(KEY_UID, userdata.getString(KEY_UID, null));
user.put(KEY_USERNAME, userdata.getString(KEY_USERNAME, null)); user.put(KEY_USERNAME, userdata.getString(KEY_USERNAME, null));