MySQL to SQLite Probleme

  • Antworten:10
  • Bentwortet
Fiete
  • Forum-Beiträge: 25

22.01.2013, 17:28:41 via Website

Guten Tag,
also ich hab goolge schon benutz und konnte nix passendes für mich finden.

Also ich möchte den Inhalt einer MySQL-DB mit dem einer SQLite-DB auf dem Phone synchronisieren. Soeit sogut, dazu gibts ja massig infos im netz. Soweit auch alles gut gefunden und verarbeitet. So nun läuft der Quelltext soweit durch:

1public void getData()
2 {
3 String result = "";
4
5 //HTTP get
6 try
7 {
8 String link ="--LINK--";
9
10 HttpClient httpclient = new DefaultHttpClient();
11 HttpGet httpget = new HttpGet(link);
12 HttpResponse response = httpclient.execute(httpget);
13 HttpEntity entity = response.getEntity();
14 is = entity.getContent();
15 }
16 catch(Exception e)
17 {
18 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
19 }
20
21 //covert response to string
22 try
23 {
24 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
25 StringBuilder sb = new StringBuilder();
26 String line = null;
27 while ((line = reader.readLine()) != null)
28 {
29 Log.v("Test",line);
30 sb.append(line + "\n");
31 }
32 is.close();
33 result=sb.toString();
34 TextView textView = (TextView) findViewById(R.id.textViewtest);
35 textView.setText(result);
36 }
37 catch(Exception e)
38 {
39 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
40 }
41
42 //parse json data
43 try{
44 JSONArray jArray = new JSONArray(result);
45 for(int i=0;i<jArray.length();i++)
46 {
47 JSONObject json_data = jArray.getJSONObject(i);
48
49 String querylog= "insert or replace into Tutorial(_ID,CATEGORY,NAME,DESCRIPTION,LINK) values('"+json_data.getInt("ID")+"','"+json_data.getString("CATEGORY")+"','"+json_data.getString("NAME")+"','"+json_data.getString("DESCRIPTION")+"','"+json_data.getString("LINK")+"')";
50 mDatenbank.insert(querylog, querylog, null);
51 }
52 }
53 catch(JSONException e)
54 {
55 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
56 }
57 }

Sa das Problem liegt anscheinend beim parse der JSONdaten.
Daraufhin hab ich rumgesucht und dazu sagte das Netz es kann sein das er mein Array nicht als JSON ansieht bzw. der Inhalt nicht JSON-Konform ist.

Aber für mich sieht es gut aus und auf der Seite json online parser klappt auch alles.

1[{"ID":"1","CATEGORY":"Joomla","NAME":"Joomla 1.0","DESCRIPTION":null,"LINK":"rtsp:\/\/v8.cache3.c.youtube.com\/CjYLENy73wIaLQlZXP-ZmMLz7hMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPW6vc3T7bT1UAw=\/0\/0\/0\/video.3gp"},{"ID":"2","CATEGORY":"Joomla","NAME":"Joomla 1.5","DESCRIPTION":null,"LINK":"rtsp:\/\/v8.cache3.c.youtube.com\/CjYLENy73wIaLQlZXP-ZmMLz7hMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPW6vc3T7bT1UAw=\/0\/0\/0\/video.3gp"},{"ID":"3","CATEGORY":"Test","NAME":"Test 1.5","DESCRIPTION":null,"LINK":"rtsp:\/\/v8.cache3.c.youtube.com\/CjYLENy73wIaLQlZXP-ZmMLz7hMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPW6vc3T7bT1UAw=\/0\/0\/0\/video.3gp"}]

So hab das dann auch mal in nem textview ausgeben lassen um zu sehen ob das zeug auch in der app ankommt und das kommt auch an.

So hier auchnochmal meinen DB_Manager:

1package de.mcadd.mcaddtutorialviewer;
2
3import android.content.Context;
4import android.database.sqlite.SQLiteDatabase;
5import android.database.sqlite.SQLiteOpenHelper;
6import android.util.Log;
7
8public class DB_Manager extends SQLiteOpenHelper {
9
10 private static final String DB_NAME = "App_Datenbank.db";
11 private static final int DB_VERSION = 1;
12 private static final String DB_CREATE =
13 "CREATE TABLE Tutorial (" +
14 "_ID INTEGER PRIMARY KEY AUTOINCREMENT," +
15 "CATEGORY TEXT NOT NULL, " +
16 "NAME TEXT NOT NULL, " +
17 "DESCRIPTION Text," +
18 "LINK TEXT NOT NULL" +
19 ")";
20 private static final String DB_DROPE = "DROP TABLR IF EXIST Tutorial";
21
22 // Konstruktor
23 public DB_Manager(Context context)
24 {
25 super(context, DB_NAME, null, DB_VERSION);
26 }
27
28 public void onCreate(SQLiteDatabase db)
29 {
30 try
31 {
32 // Tabelle anlegen
33 db.execSQL(DB_CREATE);
34 }
35 catch(Exception e) {
36 Log.e("Fehler", e.getMessage());
37 }
38 }
39
40 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
41 {
42 // auf Versionswechsel reagieren
43 db.execSQL(DB_DROPE);
44 onCreate(db);
45 }
46
47 }

Dann hab ich via eclipse die DB auf mein pc kopiert und reingeschaut, aber es ist nix drin. Würde mich freuen, wenn ihr mir ein paar denkanstöße geben könntet.

So ich muss auch dazu sagen das ich das erst seit kurzem mache und bitte mir es einfach mal nachzusehen, wenn es ein kleiner dummer fehler ist, den ich nicht finde ;)
Danke;)

— geändert am 22.01.2013, 17:30:23

Antworten
Fiete
  • Forum-Beiträge: 25

22.01.2013, 17:35:53 via Website

ach ja und die Log liefert auch keine Fehler.
Die getData wird in nem neuen Thread aufgerufen.

1Runnable r = new Runnable()
2 {
3 @Override
4 public void run()
5 {
6 //getData() aufrufen
7 getData();
8
9 Log.d("Info", "Runnable");
10 }
11 };
12 Thread t = new Thread(r);
13 t.start();
14 Log.d("Info", "Thread");

— geändert am 22.01.2013, 17:37:07

Antworten
Fiete
  • Forum-Beiträge: 25

23.01.2013, 10:45:02 via Website

Ich hab mein Fehler gefunden...
via:
1Log.i("JSON","ID: "+json_data.getInt("ID")+
2 ", Category: "+json_data.getString("CATEGORY")+
3 ", Name: "+json_data.getString("NAME")+
4 ", Description: "+json_data.getString("DESCRIPTION")+
5 ", Link: "+json_data.getString("LINK"));

gibt er auch alles fein aus....

also liegt es an meinem insert, damit komm ich auch nicht recht klar, und die Referenz verwirrt mich hammer doll:

1String querylog= "insert or replace into Tutorial(_ID,CATEGORY,NAME,DESCRIPTION,LINK) values('"+json_data.getInt("ID")+"','"+json_data.getString("CATEGORY")+"','"+json_data.getString("NAME")+"','"+json_data.getString("DESCRIPTION")+"','"+json_data.getString("LINK")+"')";
2
3 mDatenbank.insert("Tutorial", querylog, null);

mDatenbank.insert("Tutorial", querylog, null);
- Tutorial ist der Tabellenname, querylog das sql-statement.

Was mach ich falsch und wie wende ich das insert richtig an?

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

23.01.2013, 12:36:46 via Website

Dein Aufruf:

1mDatenbank.insert("Tutorial", querylog, null);

Die Methoden-Signatur:

1SQLiteDatabase.insert(String table, String nullColumnHack, ContentValues values)

... und Du erhälst wirklich keinen LogCat Eintrag?


EDIT: Ich nehme das zurück. Zeig mal mDatenbank.

— geändert am 23.01.2013, 12:39:37

Antworten
Fiete
  • Forum-Beiträge: 25

23.01.2013, 12:41:01 via Website

Ja hab da jetzt noch nen bissel dran geändert und das insert angepasst, das erste war ja ganz großer müll, was ich da geschrieben hab:



1package de.mcadd.mcaddtutorialviewer;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.sqlite.SQLiteDatabase;
6import android.database.sqlite.SQLiteOpenHelper;
7import android.database.sqlite.SQLiteStatement;
8import android.util.Log;
9
10public class DB_Manager extends SQLiteOpenHelper {
11
12 private SQLiteDatabase db;
13
14 private static final String DB_NAME = "App_Datenbank.db";
15 private static final String DB_TABLE_NAME = "Tutorial";
16 private static final int DB_VERSION = 1;
17
18 public static final String KEY_ID = "_ID";
19 public static final String KEY_CATEGORY = "CATEGORY";
20 public static final String KEY_NAME = "NAME";
21 public static final String KEY_DESCRIPTION = "DESCRIPTION";
22 public static final String KEY_LINK = "LINK";
23
24 private static final String DB_INSERT = "insert into Tutorial(_ID,CATEGORY,NAME,DESCRIPTION,LINK) values(1,Tom,Fiete,Schöner Link, www.fc-hansa.de)";
25
26 private static final String DB_CREATE =
27 "CREATE TABLE Tutorial (" +
28 "_ID INTEGER PRIMARY KEY AUTOINCREMENT," +
29 "CATEGORY TEXT NOT NULL, " +
30 "NAME TEXT NOT NULL, " +
31 "DESCRIPTION TEXT NOT NULL," +
32 "LINK TEXT NOT NULL" +
33 ")";
34
35 private static final String DB_DROPE = "DROP TABLR IF EXIST Tutorial";
36
37 // Konstruktor
38 public DB_Manager(Context context)
39 {
40 super(context, DB_NAME, null, DB_VERSION);
41 }
42
43 public void onCreate(SQLiteDatabase db)
44 {
45 try
46 {
47 // Tabelle anlegen
48 db.execSQL(DB_CREATE);
49 //db.execSQL(DB_INSERT);
50 }
51 catch(Exception e) {
52 Log.e("Fehler", e.getMessage());
53 }
54
55 }
56
57 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
58 {
59 // auf Versionswechsel reagieren
60 db.execSQL(DB_DROPE);
61 onCreate(db);
62 }
63
64 public long insertData(String id, String category, String name, String description, String link)
65 {
66 ContentValues initialValues = new ContentValues();
67 initialValues.put(KEY_ID, id);
68 initialValues.put(KEY_CATEGORY, category);
69 initialValues.put(KEY_NAME, name);
70 initialValues.put(KEY_DESCRIPTION, description);
71 initialValues.put(KEY_LINK, link);
72 return db.insert(DB_TABLE_NAME, null, initialValues);
73 }
74
75 }


1mHelper = new DB_Manager(this);
2mDatenbank = mHelper.getReadableDatabase();


1try{
2 JSONArray jArray = new JSONArray(result);
3 for(int i=0;i<jArray.length();i++)
4 {
5 JSONObject json_data = jArray.getJSONObject(i);
6 mHelper.insertData
7 (json_data.getString("ID"),
8 json_data.getString("CATEGORY"),
9 json_data.getString("NAME"),
10 json_data.getString("DESCRIPTION"),
11 json_data.getString("LINK"));
12
13 }
14 }
15 catch(JSONException e)
16 {
17 //Gibt Fehlermeldung aus, wenn MySQLtoSQLite fehlschlägt
18 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
19 }

— geändert am 23.01.2013, 12:42:43

Antworten
Fiete
  • Forum-Beiträge: 25

23.01.2013, 12:46:25 via Website

siehe unteren Quellcode also in der Main_Activity

Antworten
Fiete
  • Forum-Beiträge: 25

23.01.2013, 12:58:09 via Website

ja das hab ich nachträglich geändert, weil die Spalte NOT NULL sein soll.
Also hier nochmal der Aktuellste Stand:

Der wichtigste Teil, also der DB-Teil befindet sich im unteren bereich der Main-Activity

MAIN:

1package de.mcadd.mcaddtutorialviewer;
2
3import java.io.BufferedReader;
4import java.io.InputStream;
5import java.io.InputStreamReader;
6
7import org.apache.http.HttpEntity;
8import org.apache.http.HttpResponse;
9import org.apache.http.client.HttpClient;
10import org.apache.http.client.methods.HttpGet;
11import org.apache.http.impl.client.DefaultHttpClient;
12import org.json.JSONArray;
13import org.json.JSONException;
14import org.json.JSONObject;
15
16import android.net.Uri;
17import android.os.Bundle;
18import android.app.Activity;
19import android.app.AlertDialog;
20import android.app.Notification;
21import android.app.NotificationManager;
22import android.app.PendingIntent;
23import android.content.Intent;
24import android.database.sqlite.SQLiteDatabase;
25import android.util.Log;
26import android.view.Menu;
27import android.view.MenuItem;
28import android.view.View;
29import android.widget.EditText;
30import android.widget.TextView;
31import android.widget.Toast;
32
33public class Activity_Main extends Activity
34{
35 // Datenbank
36 private DB_Manager mHelper;
37 private SQLiteDatabase mDatenbank;
38
39 // ID für die Benachrichtigung
40 public static final int NOTIFICATION_ID = 1;
41
42
43
44 @Override
45 protected void onCreate(Bundle savedInstanceState)
46 {
47 super.onCreate(savedInstanceState);
48 setContentView(R.layout.main);
49
50 // DB öffnen
51 mHelper = new DB_Manager(this);
52 mDatenbank = mHelper.getReadableDatabase();
53 Toast.makeText(this, "Datenbank geöffnet", Toast.LENGTH_SHORT).show();
54
55 //Funktion zum Datenbankupdate aufrufen in neuem Thread
56 Runnable r = new Runnable() {
57 @Override
58 public void run() {
59 //getData() aufrufen
60 getData();
61 Log.d("Info", "Runnable");
62 }
63 };
64 Thread t = new Thread(r);
65 t.start();
66 Log.d("Info", "Thread");
67 }
68
69 @Override
70 protected void onStart()
71 {
72 super.onStart();
73
74 //Benachrichtigung
75 NotificationManager nm =
76 (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
77 Notification notification =
78 new Notification(R.drawable.ic_launcher,
79 getResources().getString(R.string.notification_title),
80 System.currentTimeMillis());
81 Intent intent = new Intent(this, Activity_Info.class);
82 PendingIntent pendingIntent =
83 PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);
84 notification.setLatestEventInfo(getApplicationContext(),
85 getResources().getString(R.string.notification_title),
86 getResources().getString(R.string.notification_text),
87 pendingIntent);
88
89 nm.notify(Activity_Main.NOTIFICATION_ID, notification);
90 }
91
92 @Override
93 protected void onDestroy()
94 {
95 super.onDestroy();
96
97 //Benachrichtigung wieder löschen
98 NotificationManager nm =
99 (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
100 nm.cancel(NOTIFICATION_ID);
101
102 //DB schliessen
103 mDatenbank.close();
104 Toast.makeText(this, "Datenbank geschlossen", Toast.LENGTH_SHORT).show();
105 }
106
107
108 // clicken von Buttons
109 public void onButtonClick(View v)
110 {
111 switch(v.getId())
112 {
113 case R.id.button_search:
114 EditText searchField = (EditText) findViewById(R.id.editText_search);
115 String search = searchField.getText().toString();
116 if (search.length() == 0)
117 {
118 new AlertDialog.Builder(this)
119 .setTitle(R.string.error_title)
120 .setIcon(android.R.drawable.ic_dialog_info)
121 .setMessage(R.string.error_search_missing)
122 .setNeutralButton(R.string.error_ok, null)
123 .show();
124 return;
125 }
126 break;
127 case R.id.button_all_videos:
128 Intent intent = new Intent(Activity_Main.this, Activity_List_Category.class);
129 this.startActivity(intent);
130 break;
131 case R.id.button_exit:
132 finish();
133 break;
134 }
135 }
136
137
138
139 //OptionsMenü
140 @Override
141 public boolean onCreateOptionsMenu(Menu menu)
142 {
143 // Inflate the menu; this adds items to the action bar if it is present.
144 getMenuInflater().inflate(R.menu.main, menu);
145 return true;
146 }
147
148 @Override
149 public boolean onOptionsItemSelected(MenuItem item)
150 {
151 switch (item.getItemId())
152 {
153 case R.id.menu_info:
154 Intent info = new Intent(this, Activity_Info.class);
155 startActivity(info);
156 return true;
157 case R.id.menu_shop:
158 //Ist ein geeigneter Webbrowser verfügbar?
159 try
160 {
161 //explizieter Intent (Intent ins Blaue)
162 Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse("LINK"));
163 startActivity(browser);
164 }
165 //Wenn kein geeigneter Webbrowser verfügbar ist.
166 catch (Exception e)
167 {
168 Log.e("Fehler", "Fehler ist aufgetreten "+e.toString());
169
170 new AlertDialog.Builder(this)
171 .setTitle(R.string.error_title)
172 .setIcon(android.R.drawable.ic_dialog_info)
173 .setMessage(R.string.error_browser_missing)
174 .setNeutralButton(R.string.error_ok, null)
175 .show();
176 }
177 return true;
178 case R.id.menu_settings:
179 Intent settings = new Intent(this, Activity_Settings.class);
180 startActivity(settings);
181 return true;
182 case R.id.menu_impressum:
183 Intent impressum = new Intent(this, Activity_Impressum.class);
184 startActivity(impressum);
185 return true;
186 default:
187 return super.onOptionsItemSelected(item);
188 }
189 }
190
191 // MySQL to SQLite
192 InputStream is;
193
194 public void getData()
195 {
196 String result = "";
197
198 //HTTP get
199 try
200 {
201 String link ="LINK";
202
203 HttpClient httpclient = new DefaultHttpClient();
204 HttpGet httpget = new HttpGet(link);
205 HttpResponse response = httpclient.execute(httpget);
206 HttpEntity entity = response.getEntity();
207 is = entity.getContent();
208 }
209 catch(Exception e)
210 {
211 //Gibt Fehlermeldung aus, wenn PHP-Datei nicht aufgerufen werden kann
212 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
213 }
214
215 //covert response to string
216 try
217 {
218 BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
219 StringBuilder sb = new StringBuilder();
220 String line = null;
221 while ((line = reader.readLine()) != null)
222 {
223 Log.v("Test",line);
224 sb.append(line + "\n");
225 }
226 is.close();
227 result=sb.toString();
228 TextView textView = (TextView) findViewById(R.id.textViewtest);
229 textView.setText(result);
230 }
231 catch(Exception e)
232 {
233 //Gibt Fehlermeldung aus, wenn MySQL-Datenbank nicht gelesen werden kann
234 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
235 }
236
237 //parse json data
238 try{
239 JSONArray jArray = new JSONArray(result);
240 for(int i=0;i<jArray.length();i++)
241 {
242 JSONObject json_data = jArray.getJSONObject(i);
243 mHelper.insertData
244 (json_data.getString("ID"),
245 json_data.getString("CATEGORY"),
246 json_data.getString("NAME"),
247 json_data.getString("DESCRIPTION"),
248 json_data.getString("LINK"));
249 }
250 }
251 catch(JSONException e)
252 {
253 //Gibt Fehlermeldung aus, wenn MySQLtoSQLite fehlschlägt
254 Log.e("Fehler", "Fehler ist aufgetreten = "+e.toString());
255 }
256 }
257}

DB_MANAGER:
1package de.mcadd.mcaddtutorialviewer;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.sqlite.SQLiteDatabase;
6import android.database.sqlite.SQLiteOpenHelper;
7import android.database.sqlite.SQLiteStatement;
8import android.util.Log;
9
10public class DB_Manager extends SQLiteOpenHelper {
11
12 private SQLiteDatabase db;
13
14 private static final String DB_NAME = "App_Datenbank.db";
15 private static final String DB_TABLE_NAME = "Tutorial";
16 private static final int DB_VERSION = 1;
17
18 public static final String KEY_ID = "_ID";
19 public static final String KEY_CATEGORY = "CATEGORY";
20 public static final String KEY_NAME = "NAME";
21 public static final String KEY_DESCRIPTION = "DESCRIPTION";
22 public static final String KEY_LINK = "LINK";
23
24 private static final String DB_INSERT = "insert into Tutorial(_ID,CATEGORY,NAME,DESCRIPTION,LINK) values(1,Tom,Fiete,Schöner Link, www.fc-hansa.de)";
25
26 private static final String DB_CREATE =
27 "CREATE TABLE Tutorial (" +
28 "_ID INTEGER PRIMARY KEY AUTOINCREMENT," +
29 "CATEGORY TEXT NOT NULL, " +
30 "NAME TEXT NOT NULL, " +
31 "DESCRIPTION TEXT NOT NULL," +
32 "LINK TEXT NOT NULL" +
33 ")";
34
35 private static final String DB_DROPE = "DROP TABLR IF EXIST Tutorial";
36
37 // Konstruktor
38 public DB_Manager(Context context)
39 {
40 super(context, DB_NAME, null, DB_VERSION);
41 }
42
43 public void onCreate(SQLiteDatabase db)
44 {
45 try
46 {
47 // Tabelle anlegen
48 db.execSQL(DB_CREATE);
49 //db.execSQL(DB_INSERT);
50 }
51 catch(Exception e) {
52 Log.e("Fehler", e.getMessage());
53 }
54
55 }
56
57 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
58 {
59 // auf Versionswechsel reagieren
60 db.execSQL(DB_DROPE);
61 onCreate(db);
62 }
63
64 public long insertData(String id, String category, String name, String description, String link)
65 {
66 ContentValues initialValues = new ContentValues();
67 initialValues.put(KEY_ID, id);
68 initialValues.put(KEY_CATEGORY, category);
69 initialValues.put(KEY_NAME, name);
70 initialValues.put(KEY_DESCRIPTION, description);
71 initialValues.put(KEY_LINK, link);
72 return db.insert(DB_TABLE_NAME, null, initialValues);
73 }
74
75 }

So jetzt wollte ich mal über den Emulator Starten und nun gibt er einen Fehler aus, der jedoch nichts mit der DB zu tun hat, sondern mit dem Thread, auf Handy geht aber alles.

LOG:
101-21 19:00:22.974: D/AndroidRuntime(1855): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
201-21 19:00:22.974: D/AndroidRuntime(1855): CheckJNI is ON
301-21 19:00:23.555: D/AndroidRuntime(1855): Calling main entry com.android.commands.pm.Pm
401-21 19:00:23.575: D/AndroidRuntime(1855): Shutting down VM
501-21 19:00:23.585: D/dalvikvm(1855): GC_CONCURRENT freed 101K, 71% free 297K/1024K, external 0K/0K, paused 1ms+1ms
601-21 19:00:23.585: D/dalvikvm(1855): Debugger has detached; object registry had 1 entries
701-21 19:00:23.595: I/AndroidRuntime(1855): NOTE: attach of thread 'Binder Thread #3' failed
801-21 19:00:23.915: D/AndroidRuntime(1871): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
901-21 19:00:23.915: D/AndroidRuntime(1871): CheckJNI is ON
1001-21 19:00:24.424: D/AndroidRuntime(1871): Calling main entry com.android.commands.am.Am
1101-21 19:00:24.444: I/ActivityManager(74): Force stopping package de.mcadd.mcaddtutorialviewer uid=10034
1201-21 19:00:24.444: I/Process(74): Sending signal. PID: 1813 SIG: 9
1301-21 19:00:24.464: I/WindowManager(74): WIN DEATH: Window{40800f78 de.mcadd.mcaddtutorialviewer/de.mcadd.mcaddtutorialviewer.Activity_Main paused=false}
1401-21 19:00:24.514: I/ActivityManager(74): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=de.mcadd.mcaddtutorialviewer/.Activity_Main } from pid 1871
1501-21 19:00:24.554: D/AndroidRuntime(1871): Shutting down VM
1601-21 19:00:24.574: D/dalvikvm(1871): GC_CONCURRENT freed 102K, 69% free 322K/1024K, external 0K/0K, paused 1ms+1ms
1701-21 19:00:24.574: D/jdwp(1871): Got wake-up signal, bailing out of select
1801-21 19:00:24.574: D/dalvikvm(1871): Debugger has detached; object registry had 1 entries
1901-21 19:00:24.615: I/ActivityManager(74): Start proc de.mcadd.mcaddtutorialviewer for activity de.mcadd.mcaddtutorialviewer/.Activity_Main: pid=1880 uid=10034 gids={3003}
2001-21 19:00:24.625: I/dalvikvm(1871): JNI: AttachCurrentThread (from ???.???)
2101-21 19:00:24.625: I/AndroidRuntime(1871): NOTE: attach of thread 'Binder Thread #3' failed
2201-21 19:00:24.634: W/InputManagerService(74): Got RemoteException sending setActive(false) notification to pid 1813 uid 10034
2301-21 19:00:25.025: W/ActivityThread(1880): Application de.mcadd.mcaddtutorialviewer is waiting for the debugger on port 8100...
2401-21 19:00:25.036: I/System.out(1880): Sending WAIT chunk
2501-21 19:00:25.036: I/dalvikvm(1880): Debugger is active
2601-21 19:00:25.235: I/System.out(1880): Debugger has connected
2701-21 19:00:25.235: I/System.out(1880): waiting for debugger to settle...
2801-21 19:00:25.435: I/System.out(1880): waiting for debugger to settle...
2901-21 19:00:25.635: I/System.out(1880): waiting for debugger to settle...
3001-21 19:00:25.904: I/System.out(1880): waiting for debugger to settle...
3101-21 19:00:26.104: I/System.out(1880): waiting for debugger to settle...
3201-21 19:00:26.305: I/System.out(1880): waiting for debugger to settle...
3301-21 19:00:26.522: I/System.out(1880): waiting for debugger to settle...
3401-21 19:00:26.724: I/System.out(1880): waiting for debugger to settle...
3501-21 19:00:26.940: I/System.out(1880): waiting for debugger to settle...
3601-21 19:00:27.144: I/System.out(1880): waiting for debugger to settle...
3701-21 19:00:27.346: I/System.out(1880): debugger has settled (1302)
3801-21 19:00:27.755: D/dalvikvm(1880): GC_EXTERNAL_ALLOC freed 44K, 53% free 2547K/5379K, external 1625K/2137K, paused 44ms
3901-21 19:00:28.235: D/Info(1880): Thread
4001-21 19:00:29.185: I/ActivityManager(74): Displayed de.mcadd.mcaddtutorialviewer/.Activity_Main: +4s575ms
4101-21 19:00:29.986: V/Test(1880): [{"ID":"1","CATEGORY":"Joomla","NAME":"Joomla 1.0","DESCRIPTION":null,"LINK":"rtsp:\/\/v8.cache3.c.youtube.com\/CjYLENy73wIaLQlZXP-ZmMLz7hMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPW6vc3T7bT1UAw=\/0\/0\/0\/video.3gp"},{"ID":"2","CATEGORY":"Joomla","NAME":"Joomla 1.5","DESCRIPTION":null,"LINK":"rtsp:\/\/v8.cache3.c.youtube.com\/CjYLENy73wIaLQlZXP-ZmMLz7hMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPW6vc3T7bT1UAw=\/0\/0\/0\/video.3gp"},{"ID":"3","CATEGORY":"Test","NAME":"Test 1.5","DESCRIPTION":null,"LINK":"rtsp:\/\/v8.cache3.c.youtube.com\/CjYLENy73wIaLQlZXP-ZmMLz7hMYDSANFEIJbXYtZ29vZ2xlSARSBXdhdGNoYPW6vc3T7bT1UAw=\/0\/0\/0\/video.3gp"}]
4201-21 19:00:30.055: E/Fehler(1880): Fehler ist aufgetreten = android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

— geändert am 23.01.2013, 13:00:57

Antworten
Fiete
  • Forum-Beiträge: 25

24.01.2013, 10:17:06 via Website

Hab mein Fehler gefunden, danke ;)

Antworten