Need a help in appactivity crash issue My code is:
package wallet.ask.com.abcd;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.utils.ColorTemplate;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
String[] stringArray1, stringArray2;
ArrayList<String> arrayListString1, arrayListString2;
List<ChartPojo> list;
ChartPojo object;
ArrayList<BarEntry> valueSet1 = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new ArrayList<ChartPojo>();
new LoadDataAsyncTask().execute();
arrayListString1 = new ArrayList<String>();
arrayListString2 = new ArrayList<String>();
stringArray1 = new String[arrayListString1.size()];
stringArray2 = new String[arrayListString2.size()];
BarChart chart = (BarChart) findViewById(R.id.chart);
BarData data = new BarData(arrayListString1, getDataSet());
chart.setData(data);
chart.setDescription("My Chart");
chart.animateXY(2000, 2000);
chart.invalidate();
}
private ArrayList<BarDataSet> getDataSet() {
ArrayList<BarDataSet> dataSets = null;
BarEntry v1e1 = new BarEntry(new float[stringArray2.length], stringArray1.length); // Jan
valueSet1.add(v1e1);
BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Brand 1");
barDataSet1.setColor(Color.rgb(0, 155, 0));
dataSets = new ArrayList<>();
dataSets.add(barDataSet1);
return dataSets;
}
private ArrayList<String> getXAxisValues() {
ArrayList<String> xAxis = new ArrayList<>();
xAxis.add("JAN");
xAxis.add("FEB");
xAxis.add("MAR");
xAxis.add("APR");
xAxis.add("MAY");
xAxis.add("JUN");
return xAxis;
}
class LoadDataAsyncTask extends AsyncTask<String, String, String> {
private ProgressDialog dialog;
String response = "";
private JSONObject res;
String runtime;
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(MainActivity.this);
dialog.setMessage("Please Wait..");
dialog.setCancelable(false);
dialog.show();
}
@Override
protected String doInBackground(String... params) {
try {
JSONObject vehicle_json = new JSONObject();
vehicle_json.put("pAccountId", "2");
vehicle_json.put("unitId", "160323132");
vehicle_json.put("startDate", "2017-07-22 11:23:12");
vehicle_json.put("endDate", "2017-07-29 11:23:12");
// vehicle_json.put("minSpeed",speed);
// Log.d("stopstop123456", AccountId + " " + unitId + " " + fromDate + toDate);
res = CustomHttpClient.postJsonObject("http://", vehicle_json, MainActivity.this);
String resData = res.getString("ResponseData");
Log.d("stopstop12345", resData);
// JSONObject jres = new JSONObject(resData);
JSONArray array1 = new JSONArray(resData);
//JSONArray array=new JSONArray(array1.get(0).toString());
//JSONObject jobj=array1.get(0);
JSONArray array = new JSONArray(array1.get(0).toString());
for (int i = 0; i < array.length(); i++) {
JSONObject jsonVehicleObj = new JSONObject(array.get(i).toString());
ChartPojo p = new ChartPojo();
p.setStrDate(jsonVehicleObj.getString("date"));
p.setStrDistance(jsonVehicleObj.getString("distance"));
p.setStrRunTime(jsonVehicleObj.getString("run_time"));
list.add(p);
}
} catch (Exception e) {
Log.d("errorrrr", e.toString());
}
for (int j = 0; j < list.size(); j++) {
object = list.get(j);
arrayListString1.add(object.getStrDate());
stringArray2 = arrayListString1.toArray(stringArray1);
arrayListString2.add(object.getStrRunTime());
stringArray2 = arrayListString2.toArray(stringArray2);
}
return response;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (dialog.isShowing()) {
dialog.dismiss();
}}
}}
0 Answer(s)