Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.77 KB | None | 0 0
  1. java.lang.IllegalArgumentException: One or more of the DataSet Entry arrays are longer than the x-values array of this ChartData object.
  2.  
  3. <com.github.mikephil.charting.charts.BarChart
  4. android:id="@+id/statistik_chart"
  5. android:layout_width="match_parent"
  6. android:layout_height="550px"
  7. android:layout_marginTop="16dp" />
  8.  
  9. private FirebaseAuth firebaseAuth;
  10. private FirebaseAuth.AuthStateListener authStateListener;
  11. private DatabaseReference referenceTicket;
  12.  
  13. public class HistoryActivity extends AppCompatActivity {
  14.  
  15. private String uid;
  16. private Long now_ms;
  17. private BarChart chart;
  18.  
  19. private ArrayList < BarEntry > entries;
  20. private ArrayList < String > labels;
  21. private BarDataSet barDataSet;
  22. private BarData barData;
  23.  
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.activity_history);
  28.  
  29. firebaseAuth = FirebaseAuth.getInstance();
  30. uid = firebaseAuth.getUid();
  31.  
  32. entries = new ArrayList < > ();
  33. labels = new ArrayList < > ();
  34.  
  35. chart = findViewById(R.id.statistik_chart);
  36. String myDate = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date()) + " 23:59:59";
  37. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  38. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
  39. SimpleDateFormat format_tanggal = new SimpleDateFormat("yyyy-MM-dd");
  40.  
  41. Date date = null;
  42. try {
  43. date = sdf.parse(myDate);
  44. } catch (ParseException e) {
  45. e.printStackTrace();
  46. }
  47.  
  48. now_ms = date.getTime();
  49. referenceTicket = FirebaseDatabase.getInstance().getReference("log");
  50. Query query_ticket = referenceTicket.orderByChild("created_date").endAt(now_ms);
  51. query_ticket.addValueEventListener(new ValueEventListener() {
  52. @Override
  53. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  54. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  55. total_pengunjung_today.setText(String.valueOf(total_pengunjung));
  56. }
  57.  
  58. @Override
  59. public void onCancelled(@NonNull DatabaseError databaseError) {
  60.  
  61. }
  62. });
  63.  
  64. labels.add("Jan");
  65. labels.add("Feb");
  66. labels.add("Mar");
  67. labels.add("Apr");
  68. labels.add("May");
  69. labels.add("Jun");
  70.  
  71. try {
  72. String current_date_time = new SimpleDateFormat("2019-01-01", Locale.getDefault()).format(new Date()) + " 08:00:00";
  73. Date date_current = sdf.parse(current_date_time);
  74. Date convertedDate = dateFormat.parse(current_date_time);
  75. Calendar last_day_current_cal = Calendar.getInstance();
  76. last_day_current_cal.setTime(convertedDate);
  77. last_day_current_cal.set(Calendar.DAY_OF_MONTH, last_day_current_cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  78. String last_day_current_string = format_tanggal.format(last_day_current_cal.getTime()) + " 18:00:00";
  79. Date last_day_current_date = sdf.parse(last_day_current_string);
  80. final long current_start_ms = date_current.getTime();
  81. final long current_last_ms = last_day_current_date.getTime();
  82. Query query_ticket_filter = referenceTicket.orderByChild("created_date").startAt(current_start_ms).endAt(current_last_ms);
  83. query_ticket_filter.addValueEventListener(new ValueEventListener() {
  84. @Override
  85. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  86. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  87. int i = 0;
  88. AddValuesToEntry(total_pengunjung, i);
  89. }
  90.  
  91. @Override
  92. public void onCancelled(@NonNull DatabaseError databaseError) {}
  93. });
  94.  
  95. } catch (ParseException e) {
  96. e.printStackTrace();
  97. }
  98.  
  99. try {
  100. String current_date_time = new SimpleDateFormat("2019-02-01", Locale.getDefault()).format(new Date()) + " 08:00:00";
  101. Date date_current = sdf.parse(current_date_time);
  102. Date convertedDate = dateFormat.parse(current_date_time);
  103. Calendar last_day_current_cal = Calendar.getInstance();
  104. last_day_current_cal.setTime(convertedDate);
  105. last_day_current_cal.set(Calendar.DAY_OF_MONTH, last_day_current_cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  106. String last_day_current_string = format_tanggal.format(last_day_current_cal.getTime()) + " 18:00:00";
  107. Date last_day_current_date = sdf.parse(last_day_current_string);
  108. final long current_start_ms = date_current.getTime();
  109. final long current_last_ms = last_day_current_date.getTime();
  110. Query query_ticket_filter = referenceTicket.orderByChild("created_date").startAt(current_start_ms).endAt(current_last_ms);
  111. query_ticket_filter.addValueEventListener(new ValueEventListener() {
  112. @Override
  113. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  114. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  115. int i = 1;
  116. AddValuesToEntry(total_pengunjung, i);
  117. }
  118.  
  119. @Override
  120. public void onCancelled(@NonNull DatabaseError databaseError) {}
  121. });
  122.  
  123. } catch (ParseException e) {
  124. e.printStackTrace();
  125. }
  126.  
  127. try {
  128. String current_date_time = new SimpleDateFormat("2019-03-01", Locale.getDefault()).format(new Date()) + " 08:00:00";
  129. Date date_current = sdf.parse(current_date_time);
  130. Date convertedDate = dateFormat.parse(current_date_time);
  131. Calendar last_day_current_cal = Calendar.getInstance();
  132. last_day_current_cal.setTime(convertedDate);
  133. last_day_current_cal.set(Calendar.DAY_OF_MONTH, last_day_current_cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  134. String last_day_current_string = format_tanggal.format(last_day_current_cal.getTime()) + " 18:00:00";
  135. Date last_day_current_date = sdf.parse(last_day_current_string);
  136. final long current_start_ms = date_current.getTime();
  137. final long current_last_ms = last_day_current_date.getTime();
  138. Query query_ticket_filter = referenceTicket.orderByChild("created_date").startAt(current_start_ms).endAt(current_last_ms);
  139. query_ticket_filter.addValueEventListener(new ValueEventListener() {
  140. @Override
  141. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  142. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  143. int i = 1;
  144. AddValuesToEntry(total_pengunjung, i);
  145. }
  146.  
  147. @Override
  148. public void onCancelled(@NonNull DatabaseError databaseError) {}
  149. });
  150.  
  151. } catch (ParseException e) {
  152. e.printStackTrace();
  153. }
  154.  
  155. try {
  156. String current_date_time = new SimpleDateFormat("2019-04-01", Locale.getDefault()).format(new Date()) + " 08:00:00";
  157. Date date_current = sdf.parse(current_date_time);
  158. Date convertedDate = dateFormat.parse(current_date_time);
  159. Calendar last_day_current_cal = Calendar.getInstance();
  160. last_day_current_cal.setTime(convertedDate);
  161. last_day_current_cal.set(Calendar.DAY_OF_MONTH, last_day_current_cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  162. String last_day_current_string = format_tanggal.format(last_day_current_cal.getTime()) + " 18:00:00";
  163. Date last_day_current_date = sdf.parse(last_day_current_string);
  164. final long current_start_ms = date_current.getTime();
  165. final long current_last_ms = last_day_current_date.getTime();
  166. Query query_ticket_filter = referenceTicket.orderByChild("created_date").startAt(current_start_ms).endAt(current_last_ms);
  167. query_ticket_filter.addValueEventListener(new ValueEventListener() {
  168. @Override
  169. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  170. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  171. int i = 1;
  172. AddValuesToEntry(total_pengunjung, i);
  173. }
  174.  
  175. @Override
  176. public void onCancelled(@NonNull DatabaseError databaseError) {}
  177. });
  178.  
  179. } catch (ParseException e) {
  180. e.printStackTrace();
  181. }
  182.  
  183. try {
  184. String current_date_time = new SimpleDateFormat("2019-05-01", Locale.getDefault()).format(new Date()) + " 08:00:00";
  185. Date date_current = sdf.parse(current_date_time);
  186. Date convertedDate = dateFormat.parse(current_date_time);
  187. Calendar last_day_current_cal = Calendar.getInstance();
  188. last_day_current_cal.setTime(convertedDate);
  189. last_day_current_cal.set(Calendar.DAY_OF_MONTH, last_day_current_cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  190. String last_day_current_string = format_tanggal.format(last_day_current_cal.getTime()) + " 18:00:00";
  191. Date last_day_current_date = sdf.parse(last_day_current_string);
  192. final long current_start_ms = date_current.getTime();
  193. final long current_last_ms = last_day_current_date.getTime();
  194. Query query_ticket_filter = referenceTicket.orderByChild("created_date").startAt(current_start_ms).endAt(current_last_ms);
  195. query_ticket_filter.addValueEventListener(new ValueEventListener() {
  196. @Override
  197. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  198. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  199. int i = 1;
  200. AddValuesToEntry(total_pengunjung, i);
  201. }
  202.  
  203. @Override
  204. public void onCancelled(@NonNull DatabaseError databaseError) {}
  205. });
  206.  
  207. } catch (ParseException e) {
  208. e.printStackTrace();
  209. }
  210.  
  211. try {
  212. String current_date_time = new SimpleDateFormat("2019-06-01", Locale.getDefault()).format(new Date()) + " 08:00:00";
  213. Date date_current = sdf.parse(current_date_time);
  214. Date convertedDate = dateFormat.parse(current_date_time);
  215. Calendar last_day_current_cal = Calendar.getInstance();
  216. last_day_current_cal.setTime(convertedDate);
  217. last_day_current_cal.set(Calendar.DAY_OF_MONTH, last_day_current_cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  218. String last_day_current_string = format_tanggal.format(last_day_current_cal.getTime()) + " 18:00:00";
  219. Date last_day_current_date = sdf.parse(last_day_current_string);
  220. final long current_start_ms = date_current.getTime();
  221. final long current_last_ms = last_day_current_date.getTime();
  222. Query query_ticket_filter = referenceTicket.orderByChild("created_date").startAt(current_start_ms).endAt(current_last_ms);
  223. query_ticket_filter.addValueEventListener(new ValueEventListener() {
  224. @Override
  225. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  226. int total_pengunjung = (int) dataSnapshot.getChildrenCount();
  227. int i = 1;
  228. AddValuesToEntry(total_pengunjung, i);
  229. }
  230.  
  231. @Override
  232. public void onCancelled(@NonNull DatabaseError databaseError) {}
  233. });
  234.  
  235. } catch (ParseException e) {
  236. e.printStackTrace();
  237. }
  238.  
  239. }
  240.  
  241. public void AddValuesToEntry(int val, int x) {
  242. entries.add(new BarEntry(val, x));
  243. barDataSet = new BarDataSet(entries, "12 Bulan");
  244. barData = new BarData(labels, barDataSet);
  245. chart.notifyDataSetChanged();
  246. chart.setData(barData);
  247. chart.animateY(3000);
  248. }
  249.  
  250. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement