vali k
- Forum-Beiträge: 10
15.12.2012, 13:10:17 via Website
15.12.2012 13:10:17 via Website
Ich versuche gerade ein längeres Arry mithilfe eines JSONObjektes zu übermitteln bekomme aber immer eine
Fehlermeldung:
12-15 11:55:12.691: E/Buffer Error(778): Error converting result java.lang.NullPointerException
12-15 11:55:12.699: E/JSON Parser(778): Error parsing data org.json.JSONException: End of input at character 0 of
Java
PHP
Fehlermeldung:
12-15 11:55:12.691: E/Buffer Error(778): Error converting result java.lang.NullPointerException
12-15 11:55:12.699: E/JSON Parser(778): Error parsing data org.json.JSONException: End of input at character 0 of
Java
1public class AntragAufBeurlaubung extends Activity {
2
3 private TextView textViewError;
4 private EditText editTextGrundDerAbwesenheit;
5 private EditText editTextTan;
6 private EditText editTextTage;
7 private EditText editTextStunden;
8 private EditText editTextAbUhrzeit;
9 private EditText editTextBisUhrzeit;
10 private Button buttonUebernehmen;
11 private DatePicker datePickerAmVomDatum;
12 private DatePicker datePickerVorraussichtlichBisZumDatum;
13 private CheckBox checkBoxNofallout;
14
15 // JSON Response node names
16 private static String KEY_SUCCESS = "success";
17 private static String KEY_ERROR = "error";
18 private static String KEY_ERROR_MSG = "error_msg";
19 private static String KEY_VONDATUM = "vonDatum";
20 private static String KEY_BISDATUM = "bisDatum";
21 private static String KEY_ABZEIT = "abZeit";
22 private static String KEY_BISZEIT = "bisZeit";
23 private static String KEY_STUNDENZAHL = "stundenZahl";
24 private static String KEY_TAGEANZ = "tageanz";
25 private static String KEY_GRUND = "grund";
26 private static String KEY_TAN = "tan";
27 private static String KEY_MELDUNG = "meldung";
28
29 @Override
30 public void onCreate(Bundle savedInstanceState) {
31 super.onCreate(savedInstanceState);
32 setContentView(R.layout.antragaufbeurlaubung);
33
34 textViewError = (TextView) this
35 .findViewById(R.id.textViewErrorAntragAufBeurlaubung);
36 editTextGrundDerAbwesenheit = (EditText) this
37 .findViewById(R.id.editTextGrundDerAbwesenheit1);
38 editTextTan = (EditText) this.findViewById(R.id.editTextTan1);
39 editTextTage = (EditText) this.findViewById(R.id.editTextTage1);
40 editTextStunden = (EditText) this.findViewById(R.id.editTextStunden1);
41 editTextAbUhrzeit = (EditText) this
42 .findViewById(R.id.editTextAbUhrzeit1);
43 editTextBisUhrzeit = (EditText) this
44 .findViewById(R.id.editTextBisUhrzeit1);
45 buttonUebernehmen = (Button) this.findViewById(R.id.buttonUebernehmen1);
46 datePickerAmVomDatum = (DatePicker) findViewById(R.id.datePickerVonDatum1);
47 datePickerVorraussichtlichBisZumDatum = (DatePicker) findViewById(R.id.datePickerBisZumDatum1);
48 checkBoxNofallout = (CheckBox) findViewById(R.id.checkBoxKeinAusfallAntragAufBeurlaubung);
49
50 buttonUebernehmen.setOnClickListener(new OnClickListener() {
51
52 public void onClick(View v) {
53 String grund = editTextGrundDerAbwesenheit.getText().toString();
54 String tan = editTextTan.getText().toString();
55 String tage = editTextTage.getText().toString();
56 String stunden = editTextStunden.getText().toString();
57 String abUhrzeit = editTextAbUhrzeit.getText().toString();
58 String bisUhrzeit = editTextBisUhrzeit.getText().toString();
59 String nofallout = checkCheckBoxSend();
60
61 String amVomDatum = "";
62 String bisZumDatum = "";
63
64 Integer datVomYear = datePickerAmVomDatum.getYear();
65 Integer datVomMothFalse = datePickerAmVomDatum.getMonth();
66 Integer datVomDate = datePickerAmVomDatum.getDayOfMonth();
67
68 Integer datVomMoth = datVomMothFalse + 1;
69
70 StringBuilder vom = new StringBuilder();
71 vom.append(datVomYear.toString()).append(datVomMoth.toString())
72 .append(datVomDate.toString());
73 amVomDatum = vom.toString();
74
75 Log.d("NEUEKRANKMELDUNG_VONDATUM", amVomDatum);
76
77 Integer datBisYear = datePickerVorraussichtlichBisZumDatum
78 .getYear();
79 Integer datBisMothFalse = datePickerVorraussichtlichBisZumDatum
80 .getMonth();
81 Integer datBisDate = datePickerVorraussichtlichBisZumDatum
82 .getDayOfMonth();
83
84 Integer datBisMoth = datBisMothFalse + 1;
85
86 StringBuilder bis = new StringBuilder();
87 bis.append(datBisYear.toString()).append(datBisMoth.toString())
88 .append(datBisDate.toString());
89 bisZumDatum = bis.toString();
90
91 Log.d("NEUEKRANKMELDUNG_BISDATUM", bisZumDatum);
92
93 UserFunctions userFunctions = new UserFunctions();
94 JSONObject jsonAddBeurlaubung = userFunctions.addBeurlaubung(
95 amVomDatum, bisZumDatum, abUhrzeit, bisUhrzeit,
96 stunden, tage, grund, tan, nofallout);
97
98 Log.d("JSON-AddBeurlaubung", jsonAddBeurlaubung.toString());
99
100 try {
101 if (jsonAddBeurlaubung.getString(KEY_SUCCESS) != null) {
102 // Close all views before launching Dashboard
103 Intent main = new Intent(getApplicationContext(),
104 Main.class);
105 startActivity(main);
106 main.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
107 } else if (jsonAddBeurlaubung.getString(KEY_ERROR) != null) {
108 textViewError.setTextColor(Color.RED);
109 textViewError.setText(jsonAddBeurlaubung
110 .getString(KEY_MELDUNG));
111 }
112
113 } catch (JSONException e) {
114 e.printStackTrace();
115 }
116 }
117 });
118 }
119
120 public String checkCheckBoxSend() {
121 boolean checked = ((CheckBox) checkBoxNofallout).isChecked();
122
123 if (checked) {
124 Log.d("ANTRAGAUFBEURLAUBUNG_CHECKBOX", "1");
125 return "1";
126 } else {
127 Log.d("ANTRAGAUFBEURLAUBUNG_CHECKBOX", "0");
128 return "0";
129 }
130 }
131}
2
3 private TextView textViewError;
4 private EditText editTextGrundDerAbwesenheit;
5 private EditText editTextTan;
6 private EditText editTextTage;
7 private EditText editTextStunden;
8 private EditText editTextAbUhrzeit;
9 private EditText editTextBisUhrzeit;
10 private Button buttonUebernehmen;
11 private DatePicker datePickerAmVomDatum;
12 private DatePicker datePickerVorraussichtlichBisZumDatum;
13 private CheckBox checkBoxNofallout;
14
15 // JSON Response node names
16 private static String KEY_SUCCESS = "success";
17 private static String KEY_ERROR = "error";
18 private static String KEY_ERROR_MSG = "error_msg";
19 private static String KEY_VONDATUM = "vonDatum";
20 private static String KEY_BISDATUM = "bisDatum";
21 private static String KEY_ABZEIT = "abZeit";
22 private static String KEY_BISZEIT = "bisZeit";
23 private static String KEY_STUNDENZAHL = "stundenZahl";
24 private static String KEY_TAGEANZ = "tageanz";
25 private static String KEY_GRUND = "grund";
26 private static String KEY_TAN = "tan";
27 private static String KEY_MELDUNG = "meldung";
28
29 @Override
30 public void onCreate(Bundle savedInstanceState) {
31 super.onCreate(savedInstanceState);
32 setContentView(R.layout.antragaufbeurlaubung);
33
34 textViewError = (TextView) this
35 .findViewById(R.id.textViewErrorAntragAufBeurlaubung);
36 editTextGrundDerAbwesenheit = (EditText) this
37 .findViewById(R.id.editTextGrundDerAbwesenheit1);
38 editTextTan = (EditText) this.findViewById(R.id.editTextTan1);
39 editTextTage = (EditText) this.findViewById(R.id.editTextTage1);
40 editTextStunden = (EditText) this.findViewById(R.id.editTextStunden1);
41 editTextAbUhrzeit = (EditText) this
42 .findViewById(R.id.editTextAbUhrzeit1);
43 editTextBisUhrzeit = (EditText) this
44 .findViewById(R.id.editTextBisUhrzeit1);
45 buttonUebernehmen = (Button) this.findViewById(R.id.buttonUebernehmen1);
46 datePickerAmVomDatum = (DatePicker) findViewById(R.id.datePickerVonDatum1);
47 datePickerVorraussichtlichBisZumDatum = (DatePicker) findViewById(R.id.datePickerBisZumDatum1);
48 checkBoxNofallout = (CheckBox) findViewById(R.id.checkBoxKeinAusfallAntragAufBeurlaubung);
49
50 buttonUebernehmen.setOnClickListener(new OnClickListener() {
51
52 public void onClick(View v) {
53 String grund = editTextGrundDerAbwesenheit.getText().toString();
54 String tan = editTextTan.getText().toString();
55 String tage = editTextTage.getText().toString();
56 String stunden = editTextStunden.getText().toString();
57 String abUhrzeit = editTextAbUhrzeit.getText().toString();
58 String bisUhrzeit = editTextBisUhrzeit.getText().toString();
59 String nofallout = checkCheckBoxSend();
60
61 String amVomDatum = "";
62 String bisZumDatum = "";
63
64 Integer datVomYear = datePickerAmVomDatum.getYear();
65 Integer datVomMothFalse = datePickerAmVomDatum.getMonth();
66 Integer datVomDate = datePickerAmVomDatum.getDayOfMonth();
67
68 Integer datVomMoth = datVomMothFalse + 1;
69
70 StringBuilder vom = new StringBuilder();
71 vom.append(datVomYear.toString()).append(datVomMoth.toString())
72 .append(datVomDate.toString());
73 amVomDatum = vom.toString();
74
75 Log.d("NEUEKRANKMELDUNG_VONDATUM", amVomDatum);
76
77 Integer datBisYear = datePickerVorraussichtlichBisZumDatum
78 .getYear();
79 Integer datBisMothFalse = datePickerVorraussichtlichBisZumDatum
80 .getMonth();
81 Integer datBisDate = datePickerVorraussichtlichBisZumDatum
82 .getDayOfMonth();
83
84 Integer datBisMoth = datBisMothFalse + 1;
85
86 StringBuilder bis = new StringBuilder();
87 bis.append(datBisYear.toString()).append(datBisMoth.toString())
88 .append(datBisDate.toString());
89 bisZumDatum = bis.toString();
90
91 Log.d("NEUEKRANKMELDUNG_BISDATUM", bisZumDatum);
92
93 UserFunctions userFunctions = new UserFunctions();
94 JSONObject jsonAddBeurlaubung = userFunctions.addBeurlaubung(
95 amVomDatum, bisZumDatum, abUhrzeit, bisUhrzeit,
96 stunden, tage, grund, tan, nofallout);
97
98 Log.d("JSON-AddBeurlaubung", jsonAddBeurlaubung.toString());
99
100 try {
101 if (jsonAddBeurlaubung.getString(KEY_SUCCESS) != null) {
102 // Close all views before launching Dashboard
103 Intent main = new Intent(getApplicationContext(),
104 Main.class);
105 startActivity(main);
106 main.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
107 } else if (jsonAddBeurlaubung.getString(KEY_ERROR) != null) {
108 textViewError.setTextColor(Color.RED);
109 textViewError.setText(jsonAddBeurlaubung
110 .getString(KEY_MELDUNG));
111 }
112
113 } catch (JSONException e) {
114 e.printStackTrace();
115 }
116 }
117 });
118 }
119
120 public String checkCheckBoxSend() {
121 boolean checked = ((CheckBox) checkBoxNofallout).isChecked();
122
123 if (checked) {
124 Log.d("ANTRAGAUFBEURLAUBUNG_CHECKBOX", "1");
125 return "1";
126 } else {
127 Log.d("ANTRAGAUFBEURLAUBUNG_CHECKBOX", "0");
128 return "0";
129 }
130 }
131}
PHP
1if ($tag == 'alleAbsenzen') {
2 $schid = $_POST['schid'];
3 $list = $db->alleAbsenzen($schid);
4 $response['tag'] = $tag;
5 $response['success'] = 1;
6 $response['liste'] = $list;
7 //echo $list;
8 echo json_encode($response);
9 unset($response);
10}
2 $schid = $_POST['schid'];
3 $list = $db->alleAbsenzen($schid);
4 $response['tag'] = $tag;
5 $response['success'] = 1;
6 $response['liste'] = $list;
7 //echo $list;
8 echo json_encode($response);
9 unset($response);
10}
1public function alleAbsenzen($schid) {
2 $response['daten'] = array();
3 //$list[] = array('art', 'amvom','bis', 'tage', 'stunden', 'grund', 'BU-Status', 'erfasst_genehmigt', 'erfasst_am', 'vervollst./bearbeitet', 'maz', 'tan');
4 $sqlpre = "abs_";
5 $neuabfrage = "SELECT * FROM " . $sqlpre . "schueler WHERE id ='" . $schid . "'";
6 $ergebnis = mysql_query($neuabfrage);
7 $row = mysql_fetch_object($ergebnis);
8
9
10
11 $abfrage = "SELECT * FROM " . $sqlpre . "absenzen WHERE schuelerid ='" . $schid . "' ORDER by amvondatum";
12 $ergebnis = mysql_query($abfrage);
13
14 $i = 0;
15 WHILE ($row = mysql_fetch_object($ergebnis)) {
16
17 $i++;
18 $list['art'] = $row->absart;
19 $absid = $row->id;
20 if (empty($row->fertigdatum) && ($row->absart == "AB")) {
21 $list['amvom'] = sql2datumuhrzeitmp($row->amvondatum);
22 } else if (empty($row->fertigdatum) && ($row->absart == "LM")) {
23 $list['amvom'] = sql2datumuhrzeitmp($row->amvondatum);
24 } else {
25 $list['amvom'] = sql2datumuhrzeitmp($row->amvondatum);
26 }
27
28
29 if (!empty($row->bisdatum)) {
30 $list['bis'] = sql2datumuhrzeitmp($row->bisdatum);
31 } else {
32
33 }
34 $list['tage'] = $row->tageanz;
35 $list['stunden'] = $row->stundenanz;
36 if (!empty($row->grundablehnung)) {
37 if ($row->bustatus == "2") {
38 $list['grund'] = $row->grund . $row->grundablehnung . " bitte um Rücksprache!";
39 } else {
40 $list['grund'] = $row->grund . $row->grundablehnung;
41 }
42 } else {
43 $list['grund'] = $row->grund;
44 }
45 switch ($row->bustatus) {
46 case "0": $bustatus = "unbearbeitet";
47 break;
48 case "1": $bustatus = "abgelehnt";
49 break;
50 case "2": $bustatus = "noch offen";
51 break;
52 case "3": $bustatus = "genehmigt";
53 break;
54 default: $bustatus = "";
55 }
56 $list['BU-Status'] = $bustatus;
57
58 if (!empty($row->genehmigtvon)) {
59 $list['erfasst_genehmigt'] = $row->genehmigtvon;
60 } else {
61 $list['erfasst_genehmigt'] = $row->erfasstvon;
62 }
63 if (!empty($row->fassdatum)) {
64 $list['erfasst_am'] = sql2datumuhrzeitmp($row->fassdatum);
65 } else {
66 $list['erfasst_am'] = "";
67 }
68 if (empty($row->fertigdatum) && !($row->absart == "BU")) {
69 $list['vervollst./bearbeitet'] = "UNENTSCHULDIGT";
70 } else if ($row->nachweis > 0) {
71 $list['vervollst./bearbeitet'] = "Nachweis fehlt, somit noch unentschuldigt";
72 } else {
73 $list['vervollst./bearbeitet'] = sql2datumuhrzeitmp($row->fertigdatum);
74 }
75 $list['maz'] = $row->mahnanz;
76 $list['tan'] = $row->tan;
77 $list['absid'] = $row->id;
78 array_push($response["daten"], $list);
79
80 //echo "\t" . $list[$i]['art'];
81 }
82 //ECHO $response['daten'];
83 //echo $list;
84 return $response['daten'];
85 }
2 $response['daten'] = array();
3 //$list[] = array('art', 'amvom','bis', 'tage', 'stunden', 'grund', 'BU-Status', 'erfasst_genehmigt', 'erfasst_am', 'vervollst./bearbeitet', 'maz', 'tan');
4 $sqlpre = "abs_";
5 $neuabfrage = "SELECT * FROM " . $sqlpre . "schueler WHERE id ='" . $schid . "'";
6 $ergebnis = mysql_query($neuabfrage);
7 $row = mysql_fetch_object($ergebnis);
8
9
10
11 $abfrage = "SELECT * FROM " . $sqlpre . "absenzen WHERE schuelerid ='" . $schid . "' ORDER by amvondatum";
12 $ergebnis = mysql_query($abfrage);
13
14 $i = 0;
15 WHILE ($row = mysql_fetch_object($ergebnis)) {
16
17 $i++;
18 $list['art'] = $row->absart;
19 $absid = $row->id;
20 if (empty($row->fertigdatum) && ($row->absart == "AB")) {
21 $list['amvom'] = sql2datumuhrzeitmp($row->amvondatum);
22 } else if (empty($row->fertigdatum) && ($row->absart == "LM")) {
23 $list['amvom'] = sql2datumuhrzeitmp($row->amvondatum);
24 } else {
25 $list['amvom'] = sql2datumuhrzeitmp($row->amvondatum);
26 }
27
28
29 if (!empty($row->bisdatum)) {
30 $list['bis'] = sql2datumuhrzeitmp($row->bisdatum);
31 } else {
32
33 }
34 $list['tage'] = $row->tageanz;
35 $list['stunden'] = $row->stundenanz;
36 if (!empty($row->grundablehnung)) {
37 if ($row->bustatus == "2") {
38 $list['grund'] = $row->grund . $row->grundablehnung . " bitte um Rücksprache!";
39 } else {
40 $list['grund'] = $row->grund . $row->grundablehnung;
41 }
42 } else {
43 $list['grund'] = $row->grund;
44 }
45 switch ($row->bustatus) {
46 case "0": $bustatus = "unbearbeitet";
47 break;
48 case "1": $bustatus = "abgelehnt";
49 break;
50 case "2": $bustatus = "noch offen";
51 break;
52 case "3": $bustatus = "genehmigt";
53 break;
54 default: $bustatus = "";
55 }
56 $list['BU-Status'] = $bustatus;
57
58 if (!empty($row->genehmigtvon)) {
59 $list['erfasst_genehmigt'] = $row->genehmigtvon;
60 } else {
61 $list['erfasst_genehmigt'] = $row->erfasstvon;
62 }
63 if (!empty($row->fassdatum)) {
64 $list['erfasst_am'] = sql2datumuhrzeitmp($row->fassdatum);
65 } else {
66 $list['erfasst_am'] = "";
67 }
68 if (empty($row->fertigdatum) && !($row->absart == "BU")) {
69 $list['vervollst./bearbeitet'] = "UNENTSCHULDIGT";
70 } else if ($row->nachweis > 0) {
71 $list['vervollst./bearbeitet'] = "Nachweis fehlt, somit noch unentschuldigt";
72 } else {
73 $list['vervollst./bearbeitet'] = sql2datumuhrzeitmp($row->fertigdatum);
74 }
75 $list['maz'] = $row->mahnanz;
76 $list['tan'] = $row->tan;
77 $list['absid'] = $row->id;
78 array_push($response["daten"], $list);
79
80 //echo "\t" . $list[$i]['art'];
81 }
82 //ECHO $response['daten'];
83 //echo $list;
84 return $response['daten'];
85 }