MySQL datenbank verbinden und lesen

  • Antworten:20
Alexander R.
  • Forum-Beiträge: 1.148

21.11.2010, 13:29:13 via Website

Hallo Androiden,

ich versuche gerade eine MySQL verbindung aufzubauen und die Daten auszulesen.

Leider bekomme ich immer nur einnen weissen Bildschirm:

1package de.Rocky.Test;
2
3import java.io.BufferedReader;
4import java.io.InputStream;
5import java.io.InputStreamReader;
6import java.util.ArrayList;
7
8import org.apache.http.HttpEntity;
9import org.apache.http.HttpResponse;
10import org.apache.http.NameValuePair;
11import org.apache.http.client.HttpClient;
12import org.apache.http.client.entity.UrlEncodedFormEntity;
13import org.apache.http.client.methods.HttpPost;
14import org.apache.http.impl.client.DefaultHttpClient;
15import org.apache.http.message.BasicNameValuePair;
16import org.json.JSONArray;
17import org.json.JSONException;
18import org.json.JSONObject;
19
20import android.app.Activity;
21import android.app.AlertDialog;
22import android.content.DialogInterface;
23import android.os.Bundle;
24import android.util.Log;
25import android.view.Menu;
26import android.view.MenuInflater;
27import android.view.MenuItem;
28
29public class Test extends Activity {
30 private InputStream is;
31 private static final int BEENDEN = 0;
32 /** Called when the activity is first created. */
33 @Override
34 public void onCreate(Bundle savedInstanceState) {
35 super.onCreate(savedInstanceState);
36 setContentView(R.layout.main);
37
38 String result = "";
39 //the year data to send
40 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
41 nameValuePairs.add(new BasicNameValuePair("birthyear","1994"));
42 //http post
43 try{
44 HttpClient httpclient = new DefaultHttpClient();
45 HttpPost httppost = new HttpPost("http://rocky.bplaced.net/get.php");
46 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
47 HttpResponse response = httpclient.execute(httppost);
48 HttpEntity entity = response.getEntity();
49 InputStream is = entity.getContent();
50 }catch(Exception e){
51 Log.e("log_tag", "Error in http connection "+e.toString());
52 }
53 //convert response to string
54 try{
55 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
56 StringBuilder sb = new StringBuilder();
57 String line = null;
58 while ((line = reader.readLine()) != null) {
59 sb.append(line + "n");
60 }
61 is.close();
62 result=sb.toString();
63 }catch(Exception e){
64 Log.e("log_tag", "Error converting result "+e.toString());
65 }
66 //parse json data
67 try{
68 JSONArray jArray = new JSONArray(result);
69 for(int i=0;i<jArray.length();i++){
70 JSONObject json_data = jArray.getJSONObject(i);
71 Log.i("log_tag","id: "+json_data.getInt("id")+
72 ", name: "+json_data.getString("name")+
73 ", sex: "+json_data.getInt("sex")+
74 ", birthyear: "+json_data.getInt("birthyear")
75 );
76 }
77 }
78 catch(JSONException f){
79 Log.e("log_tag", "Error parsing data "+f.toString());
80 }
81 }
82
83 //Menü
84 @Override
85 public boolean onCreateOptionsMenu(Menu menu) {
86 super.onCreateOptionsMenu(menu);
87 menu.add(0, BEENDEN, 0, "Beenden").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
88 return true;
89 }
90 //Menü
91
92
93 //Menü aktionen
94 @Override
95 public boolean onOptionsItemSelected(MenuItem item) {
96 switch (item.getItemId()) {
97 case BEENDEN:
98 AlertDialog.Builder builder = new AlertDialog.Builder(this);
99 builder.setTitle("Beenden");
100 builder.setMessage("Möchtest du die App beenden?")
101 .setCancelable(false)
102 .setPositiveButton("Ja", new DialogInterface.OnClickListener() {
103 public void onClick(DialogInterface dialog, int id) {
104 System.exit(0);
105 }
106 })
107 .setNegativeButton("Nein", new DialogInterface.OnClickListener() {
108 public void onClick(DialogInterface dialog, int id) {
109 dialog.cancel();
110 }
111 });
112 AlertDialog alert = builder.create();
113 alert.show();
114 break;
115 }
116 return false;
117 }
118 //Menü aktionen
119}

Als Layout habe ich eine einfache Webview:
1<?xml version="1.0" encoding="UTF-8" ?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent">
6
7<WebView android:id="@+id/View"
8 android:layout_width="fill_parent"
9 android:layout_height="fill_parent" />
10</LinearLayout>

Hoffe ihr könnt mir helfen

— geändert am 21.11.2010, 13:38:11

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

21.11.2010, 16:01:45 via Website

Hallo Alexander,

wenn DU nicht gerade eine "unknown Host" exception geworfen bekommst ... weil Du die Permission android.permission.INTERNET im Manifest nicht gesetzt hast, wirst Du mit Sicherheit eine NullPointer Exception bekommen in der Zeile 55 Deines Listings.

Das ist deswegen so, weil du zuvor die Warnung deines Eclipse in Zeile 49: The local variable is is never read nicht beachtet hast.

Ich hoffe Dich auf die richtige Spur gebracht zu haben.

lg Voss

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

21.11.2010, 16:12:31 via Website

Habe es nun folgendermassen geändert:

1package de.Rocky.Test;
2
3import java.io.BufferedReader;
4import java.io.InputStream;
5import java.io.InputStreamReader;
6import java.util.ArrayList;
7
8import org.apache.http.HttpEntity;
9import org.apache.http.HttpResponse;
10import org.apache.http.NameValuePair;
11import org.apache.http.client.HttpClient;
12import org.apache.http.client.entity.UrlEncodedFormEntity;
13import org.apache.http.client.methods.HttpPost;
14import org.apache.http.impl.client.DefaultHttpClient;
15import org.apache.http.message.BasicNameValuePair;
16import org.json.JSONArray;
17import org.json.JSONException;
18import org.json.JSONObject;
19
20import android.app.Activity;
21import android.app.AlertDialog;
22import android.content.DialogInterface;
23import android.os.Bundle;
24import android.util.Log;
25import android.view.Menu;
26import android.view.MenuItem;
27
28public class Test extends Activity {
29 private static final int BEENDEN = 0;
30 InputStream is;
31 /** Called when the activity is first created. */
32 @Override
33 public void onCreate(Bundle savedInstanceState) {
34 super.onCreate(savedInstanceState);
35 setContentView(R.layout.main);
36
37 String result = "";
38 //the year data to send
39 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
40 nameValuePairs.add(new BasicNameValuePair("birtyear","1994"));
41 //http post
42 try{
43 HttpClient httpclient = new DefaultHttpClient();
44 HttpPost httppost = new HttpPost("http://rocky.bplaced.net/get.php");
45 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
46 HttpResponse response = httpclient.execute(httppost);
47 HttpEntity entity = response.getEntity();
48 is = entity.getContent();
49 }catch(Exception e){
50 Log.e("log_tag", "Error in http connection "+e.toString());
51 }
52 //convert response to string
53 try{
54 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
55 StringBuilder sb = new StringBuilder();
56 String line = null;
57 while ((line = reader.readLine()) != null) {
58 sb.append(line + "n");
59 }
60 is.close();
61 result=sb.toString();
62 }catch(Exception e){
63 Log.e("log_tag", "Error converting result "+e.toString());
64 }
65 //parse json data
66 try{
67 JSONArray jArray = new JSONArray(result);
68 for(int i=0;i<jArray.length();i++){
69 JSONObject json_data = jArray.getJSONObject(i);
70 Log.i("log_tag","id: "+json_data.getInt("id")+
71 ", name: "+json_data.getString("name")+
72 ", sex: "+json_data.getInt("sex")+
73 ", birthyear: "+json_data.getInt("birthyear")
74 );
75 }
76 }
77 catch(JSONException f){
78 Log.e("log_tag", "Error parsing data "+f.toString());
79 }
80 }
81
82 //Menü
83 @Override
84 public boolean onCreateOptionsMenu(Menu menu) {
85 super.onCreateOptionsMenu(menu);
86 menu.add(0, BEENDEN, 0, "Beenden").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
87 return true;
88 }
89 //Menü
90
91
92 //Menü aktionen
93 @Override
94 public boolean onOptionsItemSelected(MenuItem item) {
95 switch (item.getItemId()) {
96 case BEENDEN:
97 AlertDialog.Builder builder = new AlertDialog.Builder(this);
98 builder.setTitle("Beenden");
99 builder.setMessage("Möchtest du die App beenden?")
100 .setCancelable(false)
101 .setPositiveButton("Ja", new DialogInterface.OnClickListener() {
102 public void onClick(DialogInterface dialog, int id) {
103 System.exit(0);
104 }
105 })
106 .setNegativeButton("Nein", new DialogInterface.OnClickListener() {
107 public void onClick(DialogInterface dialog, int id) {
108 dialog.cancel();
109 }
110 });
111 AlertDialog alert = builder.create();
112 alert.show();
113 break;
114 }
115 return false;
116 }
117 //Menü aktionen
118}

nun gibt es keinen Fehler mehr, aber es wird immernoch nur noch ein weisser Bildschirm gezeigt

— geändert am 21.11.2010, 16:17:28

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

21.11.2010, 16:44:52 via Website

Wie wäre es denn mal mit der Angabe irgendwelcher Logausgaben ? Ich mein, Du schmeißt der Community hier irgendwelchen Code hin und erwartest Dir Antworten ..

Was sollte denn, außer einem weißen Bildschirm, überhaupt passieren? In der Activitiy jedenfalls genau gar nix ...

lg Voss

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

21.11.2010, 17:04:10 via Website

Hallo Jörg,
die App soll mithilfe eines PHP-Scriptes das auf meinem Webspace liegt daten aus einer MySQL-Datenbank auslesen und anzeigen.

LogCat gibt folgendes aus:
111-21 15:57:31.008: DEBUG/AndroidRuntime(720): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
211-21 15:57:31.027: DEBUG/AndroidRuntime(720): CheckJNI is ON
311-21 15:57:31.566: DEBUG/HomeLoaders(629): application intent received: android.intent.action.PACKAGE_REMOVED, replacing=true
411-21 15:57:31.578: DEBUG/HomeLoaders(629): --> package:de.Rocky.Test
511-21 15:57:31.587: DEBUG/HomeLoaders(629): application intent received: android.intent.action.PACKAGE_ADDED, replacing=true
611-21 15:57:31.596: DEBUG/HomeLoaders(629): --> package:de.Rocky.Test
711-21 15:57:31.618: DEBUG/HomeLoaders(629): --> update package de.Rocky.Test
811-21 15:57:31.618: DEBUG/HomeLoaders(629): --> starting applications loader
911-21 15:57:31.618: DEBUG/HomeLoaders(629): --> wait for applications loader
1011-21 15:57:31.667: DEBUG/AndroidRuntime(720): --- registering native functions ---
1111-21 15:57:33.577: INFO/ActivityManager(577): Starting activity: Intent { action=android.intent.action.MAIN categories={android.intent.category.LAUNCHER} flags=0x10000000 comp={de.Rocky.Test/de.Rocky.Test.Test} }
1211-21 15:57:33.697: DEBUG/AndroidRuntime(720): Shutting down VM
1311-21 15:57:33.706: DEBUG/dalvikvm(720): DestroyJavaVM waiting for non-daemon threads to exit
1411-21 15:57:33.720: DEBUG/dalvikvm(720): DestroyJavaVM shutting VM down
1511-21 15:57:33.727: DEBUG/dalvikvm(720): HeapWorker thread shutting down
1611-21 15:57:33.727: DEBUG/dalvikvm(720): HeapWorker thread has shut down
1711-21 15:57:33.727: DEBUG/jdwp(720): JDWP shutting down net...
1811-21 15:57:33.777: DEBUG/dalvikvm(720): VM cleaning up
1911-21 15:57:33.917: DEBUG/dalvikvm(720): LinearAlloc 0x0 used 637060 of 4194304 (15%)
2011-21 15:57:33.986: INFO/jdwp(660): received file descriptor 25 from ADB
2111-21 15:57:34.036: WARN/System.err(660): Can't dispatch DDM chunk 46454154: no handler defined
2211-21 15:57:34.036: WARN/System.err(660): Can't dispatch DDM chunk 4d505251: no handler defined
2311-21 15:57:34.067: INFO/jdwp(673): received file descriptor 32 from ADB
2411-21 15:57:34.127: INFO/ActivityManager(577): Start proc de.Rocky.Test for activity de.Rocky.Test/.Test: pid=729 uid=10023 gids={}
2511-21 15:57:34.216: INFO/jdwp(684): received file descriptor 34 from ADB
2611-21 15:57:34.246: WARN/System.err(673): Can't dispatch DDM chunk 46454154: no handler defined
2711-21 15:57:34.246: WARN/System.err(673): Can't dispatch DDM chunk 4d505251: no handler defined
2811-21 15:57:34.356: INFO/jdwp(693): received file descriptor 27 from ADB
2911-21 15:57:34.366: WARN/System.err(684): Can't dispatch DDM chunk 46454154: no handler defined
3011-21 15:57:34.366: WARN/System.err(684): Can't dispatch DDM chunk 4d505251: no handler defined
3111-21 15:57:34.476: INFO/jdwp(729): received file descriptor 10 from ADB
3211-21 15:57:34.497: WARN/System.err(693): Can't dispatch DDM chunk 46454154: no handler defined
3311-21 15:57:34.497: WARN/System.err(693): Can't dispatch DDM chunk 4d505251: no handler defined
3411-21 15:57:34.646: WARN/System.err(729): Can't dispatch DDM chunk 46454154: no handler defined
3511-21 15:57:34.666: WARN/System.err(729): Can't dispatch DDM chunk 4d505251: no handler defined
3611-21 15:57:36.306: DEBUG/dalvikvm(629): GC freed 3242 objects / 164072 bytes in 513ms
3711-21 15:57:36.647: INFO/InetAddress(729): Unknown host rocky.bplaced.net, throwing UnknownHostException
3811-21 15:57:36.657: ERROR/log_tag(729): Error in http connection java.net.SocketException: Permission denied (maybe missing INTERNET permission)
3911-21 15:57:36.657: ERROR/log_tag(729): Error converting result java.lang.NullPointerException
4011-21 15:57:36.667: ERROR/log_tag(729): Error parsing data org.json.JSONException: A JSONArray text must start with '[' at character 0 of
4111-21 15:57:37.167: INFO/ActivityManager(577): Displayed activity de.Rocky.Test/.Test: 3580 ms
4211-21 15:57:37.646: WARN/ResourceType(629): Failure getting entry for 0x7f020000 (t=1 e=0) in package 0: 0xffffffb5
4311-21 15:57:37.677: WARN/PackageManager(629): Failure retrieving icon 0x7f020000 in package de.Rocky.AppWunsch
4411-21 15:57:37.677: WARN/PackageManager(629): android.content.res.Resources$NotFoundException: Resource ID #0x7f020000
4511-21 15:57:37.677: WARN/PackageManager(629): at android.content.res.Resources.getValue(Resources.java:846)
4611-21 15:57:37.677: WARN/PackageManager(629): at android.content.res.Resources.getDrawable(Resources.java:534)
4711-21 15:57:37.677: WARN/PackageManager(629): at android.app.ApplicationContext$ApplicationPackageManager.getDrawable(ApplicationContext.java:1923)
4811-21 15:57:37.677: WARN/PackageManager(629): at android.content.pm.ComponentInfo.loadIcon(ComponentInfo.java:88)
4911-21 15:57:37.677: WARN/PackageManager(629): at com.android.launcher.LauncherModel.updateApplicationInfoTitleAndIcon(LauncherModel.java:452)
5011-21 15:57:37.677: WARN/PackageManager(629): at com.android.launcher.LauncherModel.makeAndCacheApplicationInfo(LauncherModel.java:433)
5111-21 15:57:37.677: WARN/PackageManager(629): at com.android.launcher.LauncherModel.access$300(LauncherModel.java:49)
5211-21 15:57:37.677: WARN/PackageManager(629): at com.android.launcher.LauncherModel$ApplicationsLoader.run(LauncherModel.java:497)
5311-21 15:57:37.677: WARN/PackageManager(629): at java.lang.Thread.run(Thread.java:1058)
5411-21 15:57:37.716: WARN/ResourceType(629): Failure getting entry for 0x7f020001 (t=1 e=1) in package 0: 0xffffffb5
5511-21 15:57:37.757: WARN/PackageManager(629): Failure retrieving icon 0x7f020001 in package de.Rocky.Test
5611-21 15:57:37.757: WARN/PackageManager(629): android.content.res.Resources$NotFoundException: Resource ID #0x7f020001
5711-21 15:57:37.757: WARN/PackageManager(629): at android.content.res.Resources.getValue(Resources.java:846)
5811-21 15:57:37.757: WARN/PackageManager(629): at android.content.res.Resources.getDrawable(Resources.java:534)
5911-21 15:57:37.757: WARN/PackageManager(629): at android.app.ApplicationContext$ApplicationPackageManager.getDrawable(ApplicationContext.java:1923)
6011-21 15:57:37.757: WARN/PackageManager(629): at android.content.pm.ComponentInfo.loadIcon(ComponentInfo.java:88)
6111-21 15:57:37.757: WARN/PackageManager(629): at com.android.launcher.LauncherModel.updateApplicationInfoTitleAndIcon(LauncherModel.java:452)
6211-21 15:57:37.757: WARN/PackageManager(629): at com.android.launcher.LauncherModel.makeAndCacheApplicationInfo(LauncherModel.java:433)
6311-21 15:57:37.757: WARN/PackageManager(629): at com.android.launcher.LauncherModel.access$300(LauncherModel.java:49)
6411-21 15:57:37.757: WARN/PackageManager(629): at com.android.launcher.LauncherModel$ApplicationsLoader.run(LauncherModel.java:497)
6511-21 15:57:37.757: WARN/PackageManager(629): at java.lang.Thread.run(Thread.java:1058)
6611-21 15:57:39.016: WARN/KeyCharacterMap(729): No keyboard for id 0
6711-21 15:57:39.047: WARN/KeyCharacterMap(729): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
6811-21 15:57:39.617: INFO/ARMAssembler(577): generated scanline__00000177:03515104_00001A01_00000000 [ 64 ipp] (89 ins) at [0x1fd9e0:0x1fdb44] in 2905676 ns
6911-21 15:57:39.697: INFO/ARMAssembler(577): generated scanline__00000177:03515104_00000A01_00000000 [ 46 ipp] (70 ins) at [0x1fdf90:0x1fe0a8] in 983645 ns
7011-21 15:57:42.227: INFO/ARMAssembler(577): generated scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at [0x1ffbc8:0x1ffc6c] in 1231162 ns
7111-21 15:57:42.286: INFO/ARMAssembler(577): generated scanline__00000077:03515104_00001001_00000000 [ 64 ipp] (84 ins) at [0x1ffc98:0x1ffde8] in 1806654 ns
7211-21 15:57:42.937: INFO/AndroidRuntime(729): AndroidRuntime onExit calling exit(0)
7311-21 15:57:42.976: INFO/ActivityManager(577): Process de.Rocky.Test (pid 729) has died.
7411-21 15:57:43.017: INFO/WindowManager(577): WIN DEATH: Window{436b1510 de.Rocky.Test/de.Rocky.Test.Test paused=false}
7511-21 15:57:43.027: INFO/WindowManager(577): WIN DEATH: Window{436df6a0 de.Rocky.Test/de.Rocky.Test.Test paused=false}
7611-21 15:57:43.377: WARN/InputManagerService(577): Got RemoteException sending setActive(false) notification to pid 729 uid 10023

Das PHP-Script sieht folgendermassen aus:
1<?php
2mysql_connect("localhost","BENUTZER","PASSWORT");
3mysql_select_db("DATENBANK");
4$q=mysql_query("SELECT * FROM people WHERE birthyear>'".$_REQUEST['year']."'");
5while($e=mysql_fetch_assoc($q))
6$output[]=$e;
7print(json_encode($output));
8mysql_close();
9?>

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

21.11.2010, 18:14:04 via Website

Alexander ... LIES mal mein ersten Post ..

Und dann studiere einmal genauestens deine Logcatausgabe ...

Der Fehler den DU machst steht EXPLIZIT in Deiner Logcat ausgabe drinnen !!!!!

lg Voss

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

21.11.2010, 18:20:54 via Website

Hallo Jörg,
er kann die Adresse nicht finden^^
13711-21 15:57:36.647: INFO/InetAddress(729): Unknown host rocky.bplaced.net, throwing UnknownHostException
23811-21 15:57:36.657: ERROR/log_tag(729): Error in http connection java.net.SocketException: Permission denied (maybe missing INTERNET permission)

Die Permission ist aber eindeutig gegeben
1<uses-permission android:name="android.permission.INTERNET" />

Kann es daran liegen dass ich eine TextView im Layout verwende?
1<?xml version="1.0" encoding="UTF-8" ?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent">
6
7<TextView android:id="@+id/tv"
8 android:layout_width="fill_parent"
9 android:layout_height="fill_parent" />
10</LinearLayout>

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

21.11.2010, 19:41:50 via Website

Vermutlich hast Du den uses-Permission Tag an der falschen Stelle im Manifest eingebaut,

Die Permissions gehören in den Äusseren Zweig des Manifest.

Setzt das am besten als allerletztes Statement, direkt vor dem schließenden </manifest>

Die Permission wird DEFINITIV nicht erkannt so wie Du sie offensichtlich implementiert hast.

lg Voss

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

21.11.2010, 19:53:28 via Website

Hier mal die aktuellen Programmelemente und die Logcat

Test.java
1package de.Rocky.Test;
2
3import java.io.BufferedReader;
4import java.io.InputStream;
5import java.io.InputStreamReader;
6import java.util.ArrayList;
7
8import org.apache.http.HttpEntity;
9import org.apache.http.HttpResponse;
10import org.apache.http.NameValuePair;
11import org.apache.http.client.HttpClient;
12import org.apache.http.client.entity.UrlEncodedFormEntity;
13import org.apache.http.client.methods.HttpPost;
14import org.apache.http.impl.client.DefaultHttpClient;
15import org.apache.http.message.BasicNameValuePair;
16import org.json.JSONArray;
17import org.json.JSONException;
18import org.json.JSONObject;
19
20import android.app.Activity;
21import android.app.AlertDialog;
22import android.content.DialogInterface;
23import android.os.Bundle;
24import android.util.Log;
25import android.view.Menu;
26import android.view.MenuItem;
27import android.webkit.WebView;
28
29public class Test extends Activity {
30 private static final int BEENDEN = 0;
31 InputStream is;
32 WebView webview;
33 /** Called when the activity is first created. */
34 @Override
35 public void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState);
37 setContentView(R.layout.main);
38
39 String result = "";
40 //the year data to send
41 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
42 nameValuePairs.add(new BasicNameValuePair("birtyear","1994"));
43 //http post
44 try{
45 HttpClient httpclient = new DefaultHttpClient();
46 HttpPost httppost = new HttpPost("http://rocky.bplaced.net/get.php");
47 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
48 HttpResponse response = httpclient.execute(httppost);
49 HttpEntity entity = response.getEntity();
50 is = entity.getContent();
51 }catch(Exception e){
52 Log.e("log_tag", "Error in http connection "+e.toString());
53 }
54 //convert response to string
55 try{
56 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
57 StringBuilder sb = new StringBuilder();
58 String line = null;
59 while ((line = reader.readLine()) != null) {
60 sb.append(line + "n");
61 }
62 is.close();
63 result=sb.toString();
64 }catch(Exception e){
65 Log.e("log_tag", "Error converting result "+e.toString());
66 }
67 //parse json data
68 try{
69 JSONArray jArray = new JSONArray(result);
70 for(int i=0;i<jArray.length();i++){
71 JSONObject json_data = jArray.getJSONObject(i);
72 Log.i("log_tag","id: "+json_data.getInt("id")+
73 ", name: "+json_data.getString("name")+
74 ", sex: "+json_data.getInt("sex")+
75 ", birthyear: "+json_data.getInt("birthyear")
76 );
77 }
78 }
79 catch(JSONException e){
80 Log.e("log_tag", "Error parsing data "+e.toString());
81 }
82 }
83
84 //Menü
85 @Override
86 public boolean onCreateOptionsMenu(Menu menu) {
87 super.onCreateOptionsMenu(menu);
88 menu.add(0, BEENDEN, 0, "Beenden").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
89 return true;
90 }
91 //Menü
92
93
94 //Menü aktionen
95 @Override
96 public boolean onOptionsItemSelected(MenuItem item) {
97 switch (item.getItemId()) {
98 case BEENDEN:
99 AlertDialog.Builder builder = new AlertDialog.Builder(this);
100 builder.setTitle("Beenden");
101 builder.setMessage("Möchtest du die App beenden?")
102 .setCancelable(false)
103 .setPositiveButton("Ja", new DialogInterface.OnClickListener() {
104 public void onClick(DialogInterface dialog, int id) {
105 System.exit(0);
106 }
107 })
108 .setNegativeButton("Nein", new DialogInterface.OnClickListener() {
109 public void onClick(DialogInterface dialog, int id) {
110 dialog.cancel();
111 }
112 });
113 AlertDialog alert = builder.create();
114 alert.show();
115 break;
116 }
117 return false;
118 }
119 //Menü aktionen
120}

Android Manifest.xml
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="de.Rocky.Test"
4 android:versionCode="1"
5 android:versionName="1.0">
6 <application android:icon="@drawable/icon" android:label="@string/app_name">
7 <activity android:name=".Test"
8 android:label="@string/app_name">
9 <intent-filter>
10 <action android:name="android.intent.action.MAIN" />
11 <category android:name="android.intent.category.LAUNCHER" />
12 </intent-filter>
13 </activity>
14
15 </application>
16 <uses-sdk android:minSdkVersion="3" />
17
18<uses-permission android:name="android.permission.INTERNET" />
19</manifest>

Layout.xml
1<?xml version="1.0" encoding="UTF-8" ?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical" android:layout_width="fill_parent"
4 android:layout_height="fill_parent">
5
6 <TextView android:id="@+id/tv" android:layout_width="fill_parent"
7 android:layout_height="fill_parent" />
8</LinearLayout>

LogCat
111-21 18:50:08.123: DEBUG/PackageManager(577): New package installed in /data/app/de.Rocky.Test.apk
211-21 18:50:08.135: DEBUG/MediaScannerService(687): done scanning volume external
311-21 18:50:08.164: DEBUG/HomeLoaders(629): --> starting applications loader
411-21 18:50:08.204: INFO/ActivityManager(577): Stopping service: com.android.providers.media/.MediaScannerService
511-21 18:50:08.693: DEBUG/AndroidRuntime(644): Shutting down VM
611-21 18:50:08.704: DEBUG/dalvikvm(644): DestroyJavaVM waiting for non-daemon threads to exit
711-21 18:50:08.724: DEBUG/ActivityManager(577): Uninstalling process de.Rocky.Test
811-21 18:50:08.756: DEBUG/dalvikvm(644): DestroyJavaVM shutting VM down
911-21 18:50:08.766: DEBUG/dalvikvm(644): HeapWorker thread shutting down
1011-21 18:50:08.766: DEBUG/dalvikvm(644): HeapWorker thread has shut down
1111-21 18:50:08.784: DEBUG/jdwp(644): JDWP shutting down net...
1211-21 18:50:08.794: DEBUG/dalvikvm(644): VM cleaning up
1311-21 18:50:08.854: DEBUG/dalvikvm(644): LinearAlloc 0x0 used 627404 of 4194304 (14%)
1411-21 18:50:09.414: DEBUG/dalvikvm(577): GC freed 4425 objects / 254168 bytes in 530ms
1511-21 18:50:09.685: DEBUG/dalvikvm(577): GC freed 1 objects / 48 bytes in 269ms
1611-21 18:50:10.034: DEBUG/HomeLoaders(629): application intent received: android.intent.action.PACKAGE_REMOVED, replacing=true
1711-21 18:50:10.054: DEBUG/HomeLoaders(629): --> package:de.Rocky.Test
1811-21 18:50:10.075: DEBUG/HomeLoaders(629): application intent received: android.intent.action.PACKAGE_ADDED, replacing=true
1911-21 18:50:10.083: DEBUG/HomeLoaders(629): --> package:de.Rocky.Test
2011-21 18:50:10.083: DEBUG/HomeLoaders(629): --> update package de.Rocky.Test
2111-21 18:50:10.095: DEBUG/HomeLoaders(629): --> starting applications loader
2211-21 18:50:10.103: DEBUG/HomeLoaders(629): --> wait for applications loader
2311-21 18:50:10.265: WARN/ResourceType(577): No package identifier when getting value for resource number 0x7f060000
2411-21 18:50:10.315: WARN/ResourceType(577): No package identifier when getting value for resource number 0x7f060001
2511-21 18:50:10.324: WARN/ResourceType(577): No package identifier when getting value for resource number 0x7f060000
2611-21 18:50:10.354: WARN/ResourceType(577): No package identifier when getting value for resource number 0x7f060001
2711-21 18:50:10.715: DEBUG/AndroidRuntime(712): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
2811-21 18:50:10.715: DEBUG/AndroidRuntime(712): CheckJNI is ON
2911-21 18:50:11.224: DEBUG/dalvikvm(629): GC freed 3543 objects / 197048 bytes in 338ms
3011-21 18:50:11.685: INFO/ActivityManager(577): Stopping service: com.android.providers.downloads/.DownloadService
3111-21 18:50:11.724: DEBUG/AndroidRuntime(712): --- registering native functions ---
3211-21 18:50:13.304: INFO/ActivityManager(577): Starting activity: Intent { action=android.intent.action.MAIN categories={android.intent.category.LAUNCHER} flags=0x10000000 comp={de.Rocky.Test/de.Rocky.Test.Test} }
3311-21 18:50:13.425: DEBUG/AndroidRuntime(712): Shutting down VM
3411-21 18:50:13.425: DEBUG/dalvikvm(712): DestroyJavaVM waiting for non-daemon threads to exit
3511-21 18:50:13.435: DEBUG/dalvikvm(712): DestroyJavaVM shutting VM down
3611-21 18:50:13.435: DEBUG/dalvikvm(712): HeapWorker thread shutting down
3711-21 18:50:13.445: DEBUG/dalvikvm(712): HeapWorker thread has shut down
3811-21 18:50:13.445: DEBUG/jdwp(712): JDWP shutting down net...
3911-21 18:50:13.445: DEBUG/dalvikvm(712): VM cleaning up
4011-21 18:50:13.494: INFO/ActivityManager(577): Start proc de.Rocky.Test for activity de.Rocky.Test/.Test: pid=720 uid=10023 gids={3003}
4111-21 18:50:13.663: DEBUG/dalvikvm(712): LinearAlloc 0x0 used 637060 of 4194304 (15%)
4211-21 18:50:13.784: WARN/System.err(654): Can't dispatch DDM chunk 46454154: no handler defined
4311-21 18:50:13.794: WARN/System.err(654): Can't dispatch DDM chunk 4d505251: no handler defined
4411-21 18:50:13.904: INFO/jdwp(674): received file descriptor 25 from ADB
4511-21 18:50:13.964: WARN/System.err(674): Can't dispatch DDM chunk 46454154: no handler defined
4611-21 18:50:13.964: WARN/System.err(674): Can't dispatch DDM chunk 4d505251: no handler defined
4711-21 18:50:13.975: INFO/jdwp(687): received file descriptor 32 from ADB
4811-21 18:50:14.075: INFO/jdwp(720): received file descriptor 13 from ADB
4911-21 18:50:14.085: WARN/System.err(687): Can't dispatch DDM chunk 46454154: no handler defined
5011-21 18:50:14.085: WARN/System.err(687): Can't dispatch DDM chunk 4d505251: no handler defined
5111-21 18:50:14.195: WARN/System.err(720): Can't dispatch DDM chunk 46454154: no handler defined
5211-21 18:50:14.195: WARN/System.err(720): Can't dispatch DDM chunk 4d505251: no handler defined
5311-21 18:50:14.885: DEBUG/InetAddress(720): rocky.bplaced.net: 178.63.25.142 (family 2, proto 6)
5411-21 18:50:15.074: WARN/ResourceType(629): Failure getting entry for 0x7f020000 (t=1 e=0) in package 0: 0xffffffb5
5511-21 18:50:15.084: WARN/PackageManager(629): Failure retrieving icon 0x7f020000 in package de.Rocky.AppWunsch
5611-21 18:50:15.084: WARN/PackageManager(629): android.content.res.Resources$NotFoundException: Resource ID #0x7f020000
5711-21 18:50:15.084: WARN/PackageManager(629): at android.content.res.Resources.getValue(Resources.java:846)
5811-21 18:50:15.084: WARN/PackageManager(629): at android.content.res.Resources.getDrawable(Resources.java:534)
5911-21 18:50:15.084: WARN/PackageManager(629): at android.app.ApplicationContext$ApplicationPackageManager.getDrawable(ApplicationContext.java:1923)
6011-21 18:50:15.084: WARN/PackageManager(629): at android.content.pm.ComponentInfo.loadIcon(ComponentInfo.java:88)
6111-21 18:50:15.084: WARN/PackageManager(629): at com.android.launcher.LauncherModel.updateApplicationInfoTitleAndIcon(LauncherModel.java:452)
6211-21 18:50:15.084: WARN/PackageManager(629): at com.android.launcher.LauncherModel.makeAndCacheApplicationInfo(LauncherModel.java:433)
6311-21 18:50:15.084: WARN/PackageManager(629): at com.android.launcher.LauncherModel.access$300(LauncherModel.java:49)
6411-21 18:50:15.084: WARN/PackageManager(629): at com.android.launcher.LauncherModel$ApplicationsLoader.run(LauncherModel.java:497)
6511-21 18:50:15.084: WARN/PackageManager(629): at java.lang.Thread.run(Thread.java:1058)
6611-21 18:50:15.114: WARN/ResourceType(629): Failure getting entry for 0x7f020001 (t=1 e=1) in package 0: 0xffffffb5
6711-21 18:50:15.145: WARN/PackageManager(629): Failure retrieving icon 0x7f020001 in package de.Rocky.Test
6811-21 18:50:15.145: WARN/PackageManager(629): android.content.res.Resources$NotFoundException: Resource ID #0x7f020001
6911-21 18:50:15.145: WARN/PackageManager(629): at android.content.res.Resources.getValue(Resources.java:846)
7011-21 18:50:15.145: WARN/PackageManager(629): at android.content.res.Resources.getDrawable(Resources.java:534)
7111-21 18:50:15.145: WARN/PackageManager(629): at android.app.ApplicationContext$ApplicationPackageManager.getDrawable(ApplicationContext.java:1923)
7211-21 18:50:15.145: WARN/PackageManager(629): at android.content.pm.ComponentInfo.loadIcon(ComponentInfo.java:88)
7311-21 18:50:15.145: WARN/PackageManager(629): at com.android.launcher.LauncherModel.updateApplicationInfoTitleAndIcon(LauncherModel.java:452)
7411-21 18:50:15.145: WARN/PackageManager(629): at com.android.launcher.LauncherModel.makeAndCacheApplicationInfo(LauncherModel.java:433)
7511-21 18:50:15.145: WARN/PackageManager(629): at com.android.launcher.LauncherModel.access$300(LauncherModel.java:49)
7611-21 18:50:15.145: WARN/PackageManager(629): at com.android.launcher.LauncherModel$ApplicationsLoader.run(LauncherModel.java:497)
7711-21 18:50:15.145: WARN/PackageManager(629): at java.lang.Thread.run(Thread.java:1058)
7811-21 18:50:16.543: DEBUG/KeyguardViewMediator(577): pokeWakelock(5000)
7911-21 18:50:16.944: INFO/log_tag(720): id: 3, name: Test3, sex: 0, birthyear: 1996
8011-21 18:50:16.964: INFO/log_tag(720): id: 2, name: Test2, sex: 0, birthyear: 1995
8111-21 18:50:16.974: INFO/log_tag(720): id: 1, name: Test1, sex: 0, birthyear: 1994
8211-21 18:50:17.123: INFO/ARMAssembler(577): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x1ffeb0:0x1fff7c] in 22184383 ns
8311-21 18:50:17.494: INFO/ActivityManager(577): Start proc com.android.inputmethod.latin for service com.android.inputmethod.latin/.LatinIME: pid=728 uid=10003 gids={3003}
8411-21 18:50:17.765: INFO/ActivityManager(577): Displayed activity de.Rocky.Test/.Test: 4453 ms
8511-21 18:50:17.914: INFO/jdwp(728): received file descriptor 20 from ADB
8611-21 18:50:18.134: WARN/System.err(728): Can't dispatch DDM chunk 46454154: no handler defined
8711-21 18:50:18.144: WARN/System.err(728): Can't dispatch DDM chunk 4d505251: no handler defined
8811-21 18:50:18.704: DEBUG/dalvikvm(728): Trying to load lib /system/lib/libjni_latinime.so 0x43598880
8911-21 18:50:18.724: DEBUG/dalvikvm(728): Added shared lib /system/lib/libjni_latinime.so 0x43598880
9011-21 18:50:23.364: DEBUG/dalvikvm(626): GC freed 3977 objects / 224736 bytes in 426ms
9111-21 18:50:28.335: DEBUG/dalvikvm(654): GC freed 2862 objects / 162792 bytes in 489ms
9211-21 18:50:33.355: DEBUG/dalvikvm(674): GC freed 1244 objects / 79808 bytes in 483ms
9311-21 18:50:38.414: DEBUG/dalvikvm(687): GC freed 3364 objects / 201328 bytes in 522ms
9411-21 18:50:43.354: DEBUG/dalvikvm(629): GC freed 3309 objects / 221664 bytes in 445ms

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

21.11.2010, 20:37:57 via App

Na dann passt ja jetzt alles, wunderbar!

lg Voss

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

21.11.2010, 20:49:29 via Website

Naja ansich ist kein Fehler mehr drin aber die daten bekomme ich leider nicht angezeigt sondern lediglich einen Weissen/Schwarzen Bildschirm, und ich weiss nicht wieso...

Hoffe du hast einen Tipp für mich

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

21.11.2010, 21:37:11 via Website

Wo sollte denn da irgendetwas angezeigt bzw. auf dem Bildschirn ausgegeben werden Deiner Meinung nach.

lg Voss

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

22.11.2010, 12:45:47 via App

Bisher werden dire Daten also nur geladen wenn ich das richtig verstehe.
Nun müsste ich das also noch über eine TextView oder Listview anzeigen lassen oder?

Gruß Alexander

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

22.11.2010, 12:57:44 via Website

Alexander R.
Bisher werden dire Daten also nur geladen wenn ich das richtig verstehe.
Nun müsste ich das also noch über eine TextView oder Listview anzeigen lassen oder?

Genau ...

lg Voss

Antworten
L3322
  • Forum-Beiträge: 467

27.11.2010, 14:24:55 via Website

hi ich bekomm eine NullPointerException bei dem untenstehende textview.
1try{
2 JSONArray jArray = new JSONArray(result);
3 for(int i=0;i<jArray.length();i++){
4 JSONObject json_data = jArray.getJSONObject(i);
5 tv.setText(Integer.toString(json_data.getInt("id")));

also ist das Objekt: json_data.getInt("id")) = null!

die datenbank die mit der php file
1HttpPost httppost = new HttpPost("http://tapps.de.im/test.php/");
1<?php
2mysql_connect("localhost","user","passwort");
3mysql_select_db("db1143232-mydb");
4
5$q=mysql_query("SELECT * FROM people WHERE birthyear>'".$_REQUEST['year']."'");
6while($e=mysql_fetch_assoc($q))
7 $output[]=$e;
8
9print(json_encode($output));
10
11mysql_close();
12?>

ist nicht leer!

Also gehe ich davon aus das die php file (http://tapps.de.im/test.php/) nicht geladen wird!
abe wieso haut es mir dann nichts in meine Log?
ich bin ratlos...

Ich habe mir einfach einen ftp server und mysql datenbank bei kilu.de eingerichtet! nur zum probieren...

Danke

— geändert am 27.11.2010, 14:25:26

"Hard work beats talent, when talent fails to work hard"

Antworten
L3322
  • Forum-Beiträge: 467

27.11.2010, 17:41:48 via Website

Okay hier mein ganzer Code:
1resulttv = new TextView(this);
2 setContentView(resulttv);
3 resulttv.setTextColor(Color.WHITE);
4 getData();
5 }
6
7 private void getData() {
8 pd = ProgressDialog.show(this, "Working..", "get Data", true,
9 false);
10
11 Thread thread = new Thread(this);
12 thread.start();
13 }
14
15 public void run() {
16 String result = "";
17 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
18
19 try{
20 HttpClient httpclient = new DefaultHttpClient();
21 HttpPost httppost = new HttpPost("http://tapps.de.im/test.php");
22 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
23 HttpResponse response = httpclient.execute(httppost);
24 HttpEntity entity = response.getEntity();
25 is = entity.getContent();
26 }catch(Exception e){
27 Log.e("log_tag", "Error in http connection "+e.toString());
28 }
29
30 try{
31 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
32 StringBuilder sb = new StringBuilder();
33 String line = null;
34 while ((line = reader.readLine()) != null) {
35 sb.append(line + "n");
36 }
37 is.close();
38 result=sb.toString();
39 }catch(Exception e){
40 Log.e("log_tag", "Error converting result "+e.toString());
41 }
42
43 try{
44 JSONArray jArray = new JSONArray(result);
45 for(int i=0;i<jArray.length();i++){
46 JSONObject json_data = jArray.getJSONObject(i);
47
48 }
49 }
50 catch(JSONException e){
51 Log.e("log_tag", "Error parsing data "+e.toString());
52 }
53 handler.sendEmptyMessage(0);
54 }
55
56 private Handler handler = new Handler() {
57 @Override
58 public void handleMessage(Message msg) {
59 pd.dismiss();
60 }};
61}

php:
1<?php
2mysql_connect("localhost","USER","PASSWORT");
3mysql_select_db("db1143232-mydb");
4
5$q=mysql_query("SELECT * FROM user");
6while($e=mysql_fetch_assoc($q))
7 $output[]=$e;
8
9print(json_encode($output));
10
11mysql_close();
12?>

Der Php code ruft aber auch die richtigen daten der Datanbank auf! daran kanns nicht liegen!!

und zum schluss die Logcat:
111-27 17:32:17.271: ERROR/log_tag(22366): Error in http connection java.net.UnknownHostException: tapps.de.im
211-27 17:32:17.271: ERROR/log_tag(22366): Error converting result java.lang.NullPointerException
311-27 17:32:17.271: ERROR/log_tag(22366): Error parsing data org.json.JSONException: End of input at character 0 of

"Hard work beats talent, when talent fails to work hard"

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

28.11.2010, 15:43:35 via Website

Hallo,
ich habe mir mal dein Tutorial zugrunde gelegt, um an die Datenbank Daten ran zu kommen etc.
Klappt auch alles wunderbar nur habe ich ein MENÜ in einer externen Datei, die ich über

1public class AppWunsch extends MenuActivity implements Runnable extends ListActivity{

aufrufe und nun kann ich kein extends ListActivity mehr machen hat da jemand eine lösung?

Gruß Alexander

Antworten
L3322
  • Forum-Beiträge: 467

28.11.2010, 15:59:28 via Website

bau in dein Layout halt einfach eine ListView ein!!

"Hard work beats talent, when talent fails to work hard"

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

28.11.2010, 16:18:08 via Website

Ich habe im Layout nun folgendes:

1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 android:background="#D9D9D9"
7 >
8<ListView
9 android:id="@+id/lv"
10 android:layout_width="fill_parent"
11 android:layout_height="wrap_content"
12 android:textColor="#000000"/>
13</LinearLayout>

und das aktiviere ich dann über
1ListView lv = (ListView)findViewById(R.id.lv);

oder??

Nun gibt er mir hier
1protected void filllist() {
2 try{
3 this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results));
4 }
5 catch(Exception e){
6 Log.e("log_tag", "Fehler bei erstellung der Filelist "+e.toString());
7 }
8 }

den Fehler:
1... setListAdapter is undefinded for the type *.java

Gruß Alexander

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

28.11.2010, 16:40:38 via App

Hey,
vielleicht
1lv.setListAd...
?
Lg Ansgar
P.S. Dafür müsstest du deine Variable lv aber schon „ganz oben vorstellen“ :grin:

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

28.11.2010, 16:48:01 via Website

danke für die Info...

Dann gehts aber über
1lv.setAdapter

Nur leider schafft er es nun nichtmehr die FileList zu erstellen...

1package de.Rocky.AppWunsch;
2
3import java.io.BufferedReader;
4import java.io.InputStream;
5import java.io.InputStreamReader;
6import java.util.ArrayList;
7
8import org.apache.http.HttpEntity;
9import org.apache.http.HttpResponse;
10import org.apache.http.NameValuePair;
11import org.apache.http.client.HttpClient;
12import org.apache.http.client.entity.UrlEncodedFormEntity;
13import org.apache.http.client.methods.HttpPost;
14import org.apache.http.impl.client.DefaultHttpClient;
15import org.json.JSONArray;
16import org.json.JSONException;
17import org.json.JSONObject;
18
19import android.app.ProgressDialog;
20import android.os.Bundle;
21import android.os.Handler;
22import android.os.Message;
23import android.util.Log;
24import android.widget.ArrayAdapter;
25import android.widget.ListView;
26
27public class AppWunsch extends MenuActivity implements Runnable{
28 private ProgressDialog pd;
29 InputStream is;
30 ArrayList<String> results = new ArrayList<String>();
31 JSONObject json_data;
32 private ListView lv;
33 /** Called when the activity is first created. */
34 @Override
35 public void onCreate(Bundle savedInstanceState) {
36 super.onCreate(savedInstanceState);
37 getData();
38 }
39
40 private void getData() {
41 pd = ProgressDialog.show(this, "Laden...", "Hole Daten...", true,
42 true);
43
44 Thread thread = new Thread(this);
45 thread.start();
46 }
47
48 public void run() {
49 String result = "";
50 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
51
52 try{
53 HttpClient httpclient = new DefaultHttpClient();
54 HttpPost httppost = new HttpPost("http://url/zur/datei.php");
55 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
56 HttpResponse response = httpclient.execute(httppost);
57 HttpEntity entity = response.getEntity();
58 is = entity.getContent();
59 }catch(Exception e){
60 Log.e("log_tag", "Fehler in http-Connection "+e.toString());
61 }
62
63 try{
64 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
65 StringBuilder sb = new StringBuilder();
66 String line = null;
67 while ((line = reader.readLine()) != null) {
68 sb.append(line + "n");
69 }
70 is.close();
71 result=sb.toString();
72 }catch(Exception e){
73 Log.e("log_tag", "Fehler bei Result-Convertierung "+e.toString());
74 }
75
76 try{
77 JSONArray jArray = new JSONArray(result);
78 for(int i=0;i<jArray.length();i++){
79 json_data = jArray.getJSONObject(i);
80 results.add((String) json_data.get("id") + " "+ json_data.get("title") + " "+ json_data.get("message") + " "+ json_data.get("rating"));
81 }
82 }
83 catch(JSONException e){
84 Log.e("log_tag", "Fehler beim Daten bekommen "+e.toString());
85 }
86 handler.sendEmptyMessage(0);
87 }
88
89 private Handler handler = new Handler() {
90 @Override
91 public void handleMessage(Message msg) {
92 pd.dismiss();
93 filllist();
94 }};
95
96 protected void filllist() {
97 try{
98 lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results));
99 }
100 catch(Exception e){
101 Log.e("log_tag", "Fehler bei erstellung der Filelist "+e.toString());
102 }
103 }
104}

11-28 16:22:58.812: ERROR/log_tag(732): Fehler bei erstellung der Filelist java.lang.NullPointerException

— geändert am 28.11.2010, 17:24:07

Gruß Alexander

Antworten