Android app crasht beim Starten immer...?

  • Antworten:5
  • Bentwortet
Kullorki
  • Forum-Beiträge: 55

01.11.2010, 19:10:34 via Website

Hi,
also ich programmiere derzeit an einer App die daten aus dem Internet lädt und in form einer liste anzeigt.
Das Runterladen und in Arrays machen hab ich schon hinbekommen und funktioniert, allerdings komme ich mit dem Layout noch nicht ganz klar.
Ich würde auch gerne mehr über die AndroidManifest erfahren, weil irgendwie blicke ich da nicht durch was auf developer.android.com steht.
bis jetzt sieht meine AndroidManifest so aus , problem ist, das ich die app auf dem Emulator nicht finde....
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="test.apk"
4 android:versionCode="1"
5 android:versionName="1.0" android:installLocation="auto">
6 <application android:icon="@drawable/icon" android:label="@string/app_name" android:name="@string/app_name">
7 </application>
8 <uses-sdk android:minSdkVersion="7" />
9<uses-permission android:name="android.permission.INTERNET"/>
10</manifest>
wenn ich eine activity reinmache finde ich die app zwar aber sie crasht beim starten IMMER...? habe das warscheinlich noch nicht so richtig verstanden:huh:

1.(wichtigste)
Frage: was muss ich ändern damit einer meiner Klassen beim starten ausgeführt wird und das ich das überhaupt auf dem emulator finde und ein UI zu gesicht bekomme?:blink:
weil in der console von eclipse steht
installing....
success!

2. Frage:
Mir ist bewusst das ich ListView verwenden muss, muss ich die liste in der Klasse füllen, in der ich auch die daten in die arrays schreibe?

3.Frage:
Wie fülle ich die Liste mit den Inhalt von mehreren arrays? Muss ich die 4 arrays in einem anderen array zusammenführen?
ich habe insgesamt 8 arrays mit daten... 4 davon sollen in der übersicht mit einbezogen werden und wenn man auf den eintrag klickt, dann öffnet sich eine info seite mit allen 8 infos

4.Frage:
Ich hab ein linear layout das buttons von links nach rechts hat und dann das nächste linear layout und wieder buttons von links nach rechts.
Problem ist , das das so viele buttons sind das das nicht auf ein Bild draufpasst.
Wie mache ich das mit der ScrollView?
ich bekomme dann immer" Illegal State Exception: ScrollView can only host one direct child"
PS: ist meine erste app ... ^^

währe für JEDE hilfe Dankbar! -_-

— geändert am 01.11.2010, 19:34:43

Antworten
tomig
  • Forum-Beiträge: 138

01.11.2010, 19:36:26 via App

Ich vermute die app heißt mainsctivity.
Zu den FC's, wie wäre es mit etwas aus deinem fehlerlog!? So gut sich hier jeder schwer.

PS. Schon mal ein einfaches Hello World zum laufen gebracht?

— geändert am 01.11.2010, 19:37:35

ich muß gar nix... www.tomig.at

Antworten
Kullorki
  • Forum-Beiträge: 55

01.11.2010, 20:38:36 via Website

tomig

PS. Schon mal ein einfaches Hello World zum laufen gebracht?
nein, ich hab jetzt aber versucht 1:1 das tutorial zu machen :
http://developer.android.com/guide/tutorials/hello-world.html
Problem ist das der emulator startet, aber das programm ist niergendswo zu finden.
Obwohl in der Console das hier augegeben wird:
[2010-11-01 20:30:00 - test2] Uploading test2.apk onto device 'emulator-5554'
[2010-11-01 20:30:01 - test2] Installing test2.apk...
[2010-11-01 20:30:07 - test2] Success!
[2010-11-01 20:30:07 - test2] \test2\bin\test2.apk installed on device
[2010-11-01 20:30:07 - test2] Done!

— geändert am 01.11.2010, 20:44:36

Antworten
Dominic Bartl
  • Forum-Beiträge: 180

01.11.2010, 21:49:28 via Website

Hast du was aus deinem Manifest rausgelöscht? Da sollten die Intentfilter theoretisch schon drinnen sein. Aus der letzten Ausgabe "Done" kann man schließen das das "keine App" (grob gesagt) ist.
Weil wenn du in deinem Manifest keine Activity deklariert hast die auf die Folgenden 2 dinge höhrt:
  • android.intent.action.MAIN
  • android.intent.category.LAUNCHER
Wenn ich mich nicht täusche heißen die beiden sachen das hier:
android.intent.action.MAIN = sagt das diese Activity die Hauptactivity ist die beim Icon-Klick gestartet wird
android.intent.category.LAUNCHER = zum auflisten für den Homescreen


das sollte dann circa so aussehen:
1<application android:icon="@drawable/icon" android:label="@string/app_name">
2 <activity android:name=".MainActivity"
3 android:label="@string/app_name">
4 <intent-filter>
5 <action android:name="android.intent.action.MAIN" />
6 <category android:name="android.intent.category.LAUNCHER" />
7 </intent-filter>
8 </activity>
9 </application>

MainActivity mit deiner ersetzen!

und das package Attribut im manifest-Tag hast du auch falsch verstanden. Da soll das so etwas hinein zB "de.kullorki.helloworld" also im Package Exlorer siehst du wie du deine Pakete genannt hasst dann schreibst du die Pakete wo deine MainActivity liegt.

Ich hab keine Ahnung was du da angestellt hast. Am besten du erstellst ein neues Android-Projekt und kopierst dir deine Zeilen rüber.(ausgenommen vom application Teil im Manifest den tu nicht verändern)

Antworten
Kullorki
  • Forum-Beiträge: 55

01.11.2010, 22:24:33 via Website

so ...ich habe dann jetzt diese Klasse
1import de.kullorki.helloworld.R;
2import android.app.Activity;
3import android.os.Bundle;
4
5public class Helloworld extends Activity {
6 /** Called when the activity is first created. */
7 @Override
8 public void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.main);
11 }
12}

und diese manifest

1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="de.kullorki.helloworld"
4 android:versionCode="1"
5 android:versionName="1.0">
6<application android:icon="@drawable/icon" android:label="@string/app_name">
72 <activity android:name=".Hellworld" android:label="@string/app_name">
84 <intent-filter>
95 <action android:name="android.intent.action.MAIN" />
106 <category android:name="android.intent.category.LAUNCHER" />
117 </intent-filter>
128 </activity>
139 </application>
14</manifest>
.... es crasht immer beim starten :blink: (thx @ Dominic Bartl -_-)
sorry wenn ich zu blöd dafür bin

@ Mac Systems ich habs mir durchgelesen, aber ich hab dadurch nicht rausfinden können wieso das nicht funktioniert :(

edit 4.11.2010
tjo Eclipse 3.6 statt 3.5 genommen und jetzt geht es...

— geändert am 04.11.2010, 19:23:51

Antworten