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

View File

@@ -2,7 +2,6 @@ package org.deke.risk.riskahead;
import android.graphics.Color;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.Menu;
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.AppController;
import org.deke.risk.riskahead.helper.BaseActivity;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
@@ -63,15 +65,20 @@ public class ReportActivity extends BaseActivity {
private int year, month, day;
private int hour, minute;
public HashMap<String, String[]> categories;
public ArrayList<String> incidentCategoryList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
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);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
// ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, incidentCategories, android.R.layout.simple_spinner_item);
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
getCategories();
final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
@@ -90,13 +97,13 @@ public class ReportActivity extends BaseActivity {
restoreSharedPreferences();
if(txtDay.getText().toString() == "") {
if(txtDay.getText().toString().equals("")) {
txtDay.setText(new StringBuilder()
.append(year).append("-").append(month + 1).append("-")
.append(day).append(" "));
}
if(txtTime.getText().toString() == "") {
if(txtTime.getText().toString().equals("")) {
txtTime.setText(new StringBuilder().append(hour)
.append(":").append(minute).append(" "));
}
@@ -131,7 +138,7 @@ public class ReportActivity extends BaseActivity {
@Override
public void onClick(View v) {
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);
}
});
@@ -191,7 +198,6 @@ public class ReportActivity extends BaseActivity {
showMessage("Report added!");
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.clear();
editor.commit();
editor.apply();
gotoMapActivity();
} else {
@@ -310,4 +316,76 @@ public class ReportActivity extends BaseActivity {
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
if (!error) {
JSONArray incidents = jObj.getJSONArray("message");
resultList = new ArrayList<JSONObject>();
resultList = new ArrayList<>();
for(int i=0;i<incidents.length();i++){
JSONObject incident = incidents.getJSONObject(i);

View File

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

View File

@@ -6,7 +6,6 @@ import android.location.Geocoder;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
@@ -55,17 +54,7 @@ public class ViewReportActivity extends BaseActivity {
txtPosition = (EditText) findViewById(R.id.input_viewreport_position);
txtPositionDetail = (TextView) findViewById(R.id.lbl_viewreport_position_detail);
Spinner spinner = (Spinner) findViewById(R.id.dd_viewreport_category);
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);
getIncident();
findViewById(R.id.btn_viewreport_upvote).setOnClickListener(new View.OnClickListener() {
@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.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.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.SubscriptionsActivity;
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.Map;
public abstract class BaseActivity extends AppCompatActivity {

View File

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

View File

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

View File

@@ -75,7 +75,7 @@ public class SessionManager {
* Getting user data from database
* */
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_USERNAME, userdata.getString(KEY_USERNAME, null));