Hilfe zu Programm

  • Antworten:32
Patrick Klaiber
  • Forum-Beiträge: 16

21.04.2012, 00:49:53 via Website

Hey Leute.

Ich bin neu im Programmieren von Android-Apps und muss für die Schule eine App schreiben.
Ich habe ein simples Programm erstellt, mit einer Gitarre die einfach Töne abspielt.
Im Emulator funktioniert dieses Programm, jedoch auf meinem handy(Samsung Galaxy S1, Firmware: Android 2.2) nicht.


Hier das manifest:

1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.example.GuitarHero1"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk android:minSdkVersion="8" />
8
9 <supports-screens android:anyDensity="true"
10 android:largeScreens="true"
11 android:smallScreens="true" />
12
13 <supports-screens android:anyDensity="true" />
14
15 <application
16 android:icon="@drawable/ic_launcher"
17 android:label="@string/app_name" >
18 <activity
19 android:name=".GuitarHero1Activity"
20 android:label="@string/app_name" >
21 <intent-filter>
22 <action android:name="android.intent.action.MAIN" />
23
24 <category android:name="android.intent.category.LAUNCHER" />
25 </intent-filter>
26 </activity>
27 </application>
28
29</manifest>

Der Quellcode der main-class ist fehlerfrei, und wie gesagt es läuft im Emulator.
Ich habe den apk-File erstellt und aufs handy geladen, dieses Programm lässt sich soweit auch gut installieren,
nur beim Starten stürzt es dann ab....

Bitte um eure Hilfe

Antworten
tom_cat
  • Forum-Beiträge: 11.132

21.04.2012, 07:08:49 via Website

Nicht wundern, ich schiebe "Dich" mal in den Entwickler-Bereich...:bashful:

Natürlicher Verstand kann fast jeden Grad von Bildung ersetzen, aber keine Bildung den natürlichen Verstand. Arthur Schopenhauer App Reviews nach Einsatzzweck und hier noch das: Das-AndroidPITiden-Buch

Antworten
Markus B.
  • Forum-Beiträge: 636

21.04.2012, 09:45:33 via App

Hallo, dann schau mal ins LogCat, denn dort wirst du dann eine Fehlermeldung finden. Wenn dir diese nicht weiterhilft poste diese hier in den Thread.

Gruß,
Markus

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

21.04.2012, 10:48:56 via Website

ich habe mir jetzt nen logcat dazugemacht, auch hier aus dem forum:

1public class GuitarHero1Activity extends Activity {
2
3 public static final String LOG_TAG = "GuitarHero1";
4
5 /** Called when the activity is first created. */
6
7 @Override
8 public void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.main);
11
12 int mint=0;
13 Log.e(LOG_TAG, "mint value: "+ mint);

Aber wenn ich den ausführe, zeigt er mir keine Fehler an... ist dieser Quellcode fehlerhaft, oder gibt es wirklich keine fehler??

Antworten
Markus B.
  • Forum-Beiträge: 636

21.04.2012, 10:52:57 via App

Hi, das habe ich nicht gemeint. Such mal nach android device life debugging.
Dann verstehst du was ich wollte.

Gruß,
Markus

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

24.04.2012, 12:47:32 via Website

Ich hab mir jetzt heute wieder die Zeit genommen, daran weiter zu arbeiten.
Ich weiß jetzt zwar was du meinst, aber nicht wie ichs machen soll...
Ich finde im Netz nur Anleitungen, die erklären, wie du das USB debugging auf dem smartphone aktivierst, aber nicht wie man es letztendlich macht?

Antworten
Maximilian O
  • Forum-Beiträge: 990

24.04.2012, 14:46:53 via Website

Hi Patrick,
wenn ich nach "Android Device Debugging Tutorial" google finde ich haufenweise Anleitungen.

Du musst einfach in deinem Quellcode links an der Seite (wo die Zeilennummer steht) doppelt klicken. Damit setzt du dort einen Breakpoint. Nun gehst du im Eclipse mit Rechtsklick auf dein Projekt Debug as -> Android Application. Wenn in deiner App nun die von dir markierte Codezeile aufgerufen wird meldet sich Eclipse bei dir. Der Rest ist selbsterklärend.

Liebe Grüße Maximilian

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

24.04.2012, 16:50:11 via Website

ich sag ja, bin kompletter neuling, ich hab das jetzt so gemacht wie du es gesagt hast, aber wie gesagt, im emulator hat es keine fehler.
ich hab jetz versucht den debugger direkt übers handy laufen zu lassen, aber eclipse zeigt mein handy net an, obwohl ichs verbunden habe und debugg modus eingeschaltet habe.

Im DDMS zeigts mir nur den Emulator an

Antworten
Maximilian O
  • Forum-Beiträge: 990

24.04.2012, 17:36:07 via Website

Patrick Klaiber
Im DDMS zeigts mir nur den Emulator an
Hast du eventuell den Treiber für dein Telefon nicht installiert?

Liebe Grüße Maximilian

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

24.04.2012, 17:46:57 via Website

Hab jetzt nochmal nachgeschaut, ich dachte die treiber seien installiert.
jetz hab ich die manuell installieren wollen, dann bricht die installation immer ab.
Benutze Win 7.
Ich lade jetzt mal samsung Kies herunter, vllt hilft das ja was.
aber laut google, haben das problem mehrere das die SGS1 treiber nicht installiert werden wollen...


muss ich da vielleicht noch irgendwas ins manifest schreiben, das das programm weiß welches handy?
Oder sowas in der Art.
Weil die Treiber hab ich jetzt installiert, im Arbeitsplatz zeigts des auch an als mobil telephon.
Aber eclipse immernoch nicht...

— geändert am 24.04.2012, 18:27:35

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

25.04.2012, 16:42:07 via Website

So hab den fehler :-D
hab in android 4.0 geschrieben aber mein handy hat android 2.3....
jetzt wollt ich des auf 2.3 nochmal schreiben, aber es wird kein gridlayout unterstützt.
hab jetzt ne support library runtergeladen die gridlayout und space views bis android 2.1 zur verfügung stellt.
doch ich finde keine passable anleitun diese einzubinden im netz, hab schon einiges durchprobiert was ich so gefunden hab.

vielen dank im voraus für eure ratschläge ;-)

gruß
patrick

Antworten
Florian B.
  • Forum-Beiträge: 284

25.04.2012, 17:55:13 via Website

Hast du die Gridlayout Support Library vom Android SDK verwendet? Die hab ich letztens auch getestet und es hat auch bei mir etwas gedauert bis ich die zum Laufen bekommen habe.

1. Du musst die GridLayout Libraray als Library Project in deine App einbinden.
2. Du musst einen neuen Namespace in deinem XML für das Layout definieren und diesem allen Attributen die Gridlayout-spezifisch sind voranstellen. Das Gridlayout selbst musst du mit vollem Packagenamen verwenden. Also nicht nur <GridLayout ...> sondern <android.support.v7.widget.GridLayout ...>.


1<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:app="http://schemas.android.com/apk/res-auto"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 app:alignmentMode="alignBounds"
6 app:columnCount="4"
7 app:columnOrderPreserved="false"
8 app:useDefaultMargins="true" >
9
10 <TextView
11 android:id="@+id/description"
12 app:layout_column="0"
13 app:layout_columnSpan="4"
14 app:layout_gravity="fill_horizontal"
15 android:text="@string/description" />
16......
17</android.support.v7.widget.GridLayout>

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

25.04.2012, 22:29:22 via Website

Multiple annotations found at this line:
- error: No resource identifier found for attribute 'columnCount' in package 'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'columnOrderPreserved' in package
'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'alignmentMode' in package 'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'useDefaultMargins' in package
'com.example.GuitarHero1'


was meint man jetzt damit?
hab sonst alles so gemacht wie du gesagt hast, habe die library vom sdk manager.

Antworten
Florian B.
  • Forum-Beiträge: 284

26.04.2012, 10:24:09 via Website

Mh ja irgendwas scheint da noch nicht zu passen. Das Library Projekt hast du in dein App Projekt eingebunden. Gegen welche Android Version kompilierst du? Kannst du vielleicht mal das XML von deinem Layout posten?

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

26.04.2012, 17:19:50 via Website

1<?xml version="1.0" encoding="utf-8"?>
2Error--------><android.support.v7.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 app:alignmentMode="alignBounds"
7 app:columnCount="4"
8 app:columnOrderPreserved="false"
9 app:useDefaultMargins="true" >
10
11
12
13
14
15
16 <ImageView
17 android:id="@+id/imageView1"
18 android:layout_width="236dp"
19 android:layout_height="454dp"
20 android:layout_column="1"
21 android:layout_columnSpan="7"
22 .......
23
24 </android.support.v7.GridLayout>

habe die datei in nem ordner namens libs eingebunden, den error hab ich markiert, da zeigts die meldung an.
habe in 4.0 programmiert und will auf 2.3.3 kompilieren.

Antworten
Florian B.
  • Forum-Beiträge: 284

26.04.2012, 19:36:25 via Website

Patrick Klaiber
1<?xml version="1.0" encoding="utf-8"?>
2Error--------><android.support.v7.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 app:alignmentMode="alignBounds"
7 app:columnCount="4"
8 app:columnOrderPreserved="false"
9 app:useDefaultMargins="true" >
10
11
12
13
14
15
16 <ImageView
17 android:id="@+id/imageView1"
18 android:layout_width="236dp"
19 android:layout_height="454dp"
20 android:layout_column="1"
21 android:layout_columnSpan="7"
22 .......
23
24 </android.support.v7.GridLayout>

In deinem ImageView Element passt schon mal der Namespace von den Attributen "layout_column" und "layout_columnSpan" nicht, da diese vom GridLayout stammen, muss hier beide mal "app" statt "android" davor stehen. Aber ich denke nicht, dass der Fehler daher stammt.

habe die datei in nem ordner namens libs eingebunden, den error hab ich markiert, da zeigts die meldung an.
habe in 4.0 programmiert und will auf 2.3.3 kompilieren.

Ich denke hier liegt vermutlich das Problem. Wobei ich jetzt nicht weiss wie du das genau gemacht hast. Ich bin beim einbinden wie folgt vorgegangen. Ich habe in eclipse ein neues Android Projekt erstellt, und als Ordner des Projekts den Ordner vom GridLayout angegeben. Eclipse nutzt dann diesen mit dem bestehenden Inhalt als Projekt-Ordner. Wenn das Projekt erstellt ist, muss das Projekt noch als Library-Projekt markiert werden (Rechtesklick auf das Projekt -> Properties -> Android, dann ganz runter scrollen und dann den Haken bei "Is Libray" setzen). Als nächstes muss es in deinem Projekt eingebunden werden (Rechtklick auf dein Projekt -> Properties -> Android, runterscrollen und dann "Add" klicken und das Librar Projekt auswählen.).

Das sollte dann eigentlich funktionieren. Also mehr hab ich auch nicht gemacht.

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

26.04.2012, 19:46:52 via Website

ne ich habs schon richtig eingebunden, soweit bin ich gekommen.

jetzt geht wieder net jetzt meckert eclipse an der defi des layouts rum...

1app:layout_width="match_parent"
2 app:layout_height="match_parent"




"<android.support.v7.GridLayout>" does not set the required layout_height attribute:
(1) Set to "wrap_content"
(2) Set to "match_parent"

und wieder die gleichen fehler, wie oben....



und isLibrary hab ich auch gemacht und es geadded.

— geändert am 26.04.2012, 20:11:17

Antworten
Florian B.
  • Forum-Beiträge: 284

26.04.2012, 21:11:44 via Website

1app:layout_width="match_parent"
2app:layout_height="match_parent"

Das ist falsch. layout_height und layout_width stammen nicht direkt von GridLayout her sondern von der normalen View Klasse. Daher muss hier wieder statt "app" ein "android" davor.

— geändert am 26.04.2012, 22:14:15

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

26.04.2012, 23:19:59 via Website

Ich habe halt in den properties auf android 2.3.3 umgestellt, im xml editor und im manifest minsdk version: 10 angegeben.
und jetzt will ich dieses layout, da es gridlayout enthält, für android 2.3.3 kompatibel machen.

aber diese errors sind immernoch da:

Multiple annotations found at this line:
- error: No resource identifier found for attribute 'columnCount' in package 'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'columnOrderPreserved' in package
'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'alignmentMode' in package 'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'layout_height' in package 'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'layout_width' in package 'com.example.GuitarHero1'
- error: No resource identifier found for attribute 'useDefaultMargins' in package
'com.example.GuitarHero1'

die zeigts beim gridlayout an, und beim textview...

und bei jedem button diese meldung:

error: No resource identifier found for attribute 'layout_row' in package 'android'

Antworten
Florian B.
  • Forum-Beiträge: 284

27.04.2012, 10:34:22 via Website

Mh welche Version des ADT Plugins verwendest du? Ist es aktuell? Wenn mich nicht alles täuscht, dann funktioniert das Definieren eines neuen Namespaces mittels
1xmlns:app="http://schemas.android.com/apk/res-auto"
erst ab Version 17. Vielleicht ist das ja der Grund. Ansonsten kannst du mir dein Projekt mal schicken, dann würde ich vielleicht am Wochenende mal drüber schauen, wenn ich Zeit dafür finde.

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

27.04.2012, 14:21:38 via Website

eigentlich gibts da nicht viel anzuschauen^^, ist ein relativ simples programm.
musst mir halt deine e-mail adresse zuschicken oder benutzt du vllt dropbox? :)

aber trotzdem schonmal danke.

Antworten
Florian B.
  • Forum-Beiträge: 284

27.04.2012, 18:18:26 via Website

Zip das Projekt und hau es in den Public-Ordner deiner Dropbox und schick mir den Link darauf via PN.

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

27.04.2012, 20:05:23 via Website

so, habs geschickt :)

Antworten
Florian B.
  • Forum-Beiträge: 284

30.04.2012, 12:12:55 via Website

Ich hatte dir bereits gestern schon eine Nachricht hier über das Forum geschickt, mit dem angepassten Projekt. Komisch dass es nicht angekommen ist. Naja ich hab gerade eben nochmal eine Nachricht geschickt. Wenn die wieder nicht angekommt, dann sag Bescheid.

Antworten
Florian B.
  • Forum-Beiträge: 284

30.04.2012, 16:53:04 via Website

Machen wir mal wieder hier weiter, welche Fehler zeigt er denn noch an im Layout Editor?

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

01.05.2012, 02:27:44 via Website

"<android.support.v7.GridLayout>" does not set the required layout_height attribute:
(1) Set to "wrap_content"
(2) Set to "match_parent"
"<android.support.v7.GridLayout>" does not set the required layout_width attribute:

und das auch zu jedem button....

und im quellcode:

error: No resource identifier found for attribute 'layout_row' in package 'android'

und das auch zu jedem button

Antworten
Florian B.
  • Forum-Beiträge: 284

01.05.2012, 12:03:25 via Website

Komisch, bei mir hat der Layout Editor keine Fehler geworfen, daher dachte ich dass so passen würde, da war ich wohl etwas voreilig bzw. zu bequem. Ich hab dann auch mal versucht die App zu starten, mit dem gleichen Ergebnis wie bei dir. Dann hab ich mir nochmal das Layout angeschaut und noch ein paar Fehler gefunden.

Folgende Punkte sind noch falsch.
1android.support.v7.GridLayout
muss
1android.support.v7.widget.GridLayout
heißen.

1android:layout_gravity
muss
1app:layout_gravity
heißen.

1Space
muss
1android.support.v7.widget.Space
heißen.

Danach ließ sich die App bei mir auch starten. Du kannst das angepasste Projekt wieder unter dem bekannten Link runterladen.

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

01.05.2012, 12:56:18 via Website

ne irgendwie nicht, das ist das alte Programm^^
Deswegen hab ich ja all die Fragen :D

Antworten
Florian B.
  • Forum-Beiträge: 284

01.05.2012, 13:59:36 via Website

Wie?!?! Wenn du die Zip Datei runterlädst, dann ist da das alte Projekt drin? Also ich hab es gerade testweise nochmal runtergeladen und bei mir ist es die aktuelle, von mir angepasste Version. Lad es nochmal runter und schau mal welches Änderungsdatum die main.xml hat. Es müsste der 01.05.2012 sein.

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

01.05.2012, 14:23:27 via Website

kannst du es vllt umbenennen und reinstellen? vllt liegts an dem das ich schon ein gleichnamiges projekt habe und eclipse dann das alte nimmt.

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

01.05.2012, 15:05:58 via Website

Cache im Browser löschen?

lg Voss

Antworten
Florian B.
  • Forum-Beiträge: 284

01.05.2012, 15:25:39 via Website

Patrick Klaiber
kannst du es vllt umbenennen und reinstellen? vllt liegts an dem das ich schon ein gleichnamiges projekt habe und eclipse dann das alte nimmt.

Was umbenennen? Das Projekt? Lösch doch einfach dein altes Projekt oder benenne es um.

— geändert am 01.05.2012, 15:38:24

Antworten
Patrick Klaiber
  • Forum-Beiträge: 16

01.05.2012, 15:38:52 via Website

so habe jetzt das richtige, hab sonst alles andere gelöscht, aber jetzt kommt im gridlayout projekt in der R.java datei ein fehhler:

1public static final int GridLayout_Layout_layout_row = 8;
2 };

Syntax error, insert "}" to complete ClassBody

und ich kann die datei ja nicht verändern??

und dieser Fehler kommt auch noch:
The container 'Android Dependencies' references non existing library 'C:\Users\Patrick\Downloads\Projects\gridlayout_v7\bin\gridlayout_v7.jar'

— geändert am 01.05.2012, 17:08:04

Antworten