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 }
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.