Hilfe bei einem Fehler

R

Rockcrawler4x4

Neues Mitglied
0
Hallo und Guten Abend zusammen!

ich habe folgendes Problem. Ich fress mich gerade in AndroidStudioProjects rein ;) und versuche gerade ein Bild in meine App hinzuzufügen dennoch geht es nicht.
Hier der Code:

package com.example.lenny.sinnloseapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.FrameLayout;
import android.widget.
public class SinnloseApp extends AppCompatActivity {

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sinnlose_app);
<ImageView
android:id="@+id/app_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/schatz" />
}
}

die Worte id, layout_width und layout_height sind rot hinterlegt :p

Kann mir jemand bitte helfen?

Vielen Dank im Vorraus!
 
Das kann so auch gar nicht funktionieren. Grundsätzlich gibt es in einem Android Project einen java Ordner. Dort finden sich Dateien mit java Code z. B. deine SinnloseApp.java und dann gibt es einen res Ordner mit Resourses (also Dateien die zum Projekt gehören aber keine Java Dateien sind). Unter anderem findet sich dort ein ordner layout mit einer layout.xml (vermutlich activity_sinnlose_app.xml).
Code:
<ImageView
android:id="@+id/app_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/schatz" />
ist XML und kein Java, deshalb gehört es auch in eine *.xml und nicht in eine *.java Datei
 
:)

Das fand ich etwas amüsant. Habe noch nie gesehen das einer XML direkt mit Java mischt.
Bitte nicht böse nehmen! Ich finde das nicht schlimm bloß zum ersten mal gesehen :)
 
Ouh das ist mir jetzt peinlich :D Naja, ich hab ja auch erst eine Schulstunde und 3 normale Stunden Erfahrung in programmieren :D Aber Danke für die Schnelle Antwort
 
Für Android sollte man schon gute Programmierkenntnisse haben und Java einigermaßen gut beherrschen können.
Ich hab Java auch nur wegen Android gelernt. Davor aber schon 1,5 Jahre Programmierkenntnisse gesammelt in C++. Android sollte erstmal dann Hinten angestellt werden. Ich habe auch erst die Grundlagen von Java gepaukt bevor ich mir ein Buch geholt habe zum Beispiel, sonst hätte ich da bestimmt auch soetwas produziert oder noch schlimmer einfach aufgegeben bevor es losging überhaupt
 
Einfach anfangen, das ist immer die beste Möglichkeit. Der Rest kommt von allein. Insbesondere die Fehler. ;)
Peinlich müssen Dir Fehler nicht sein. Die gehören zum Geschäft.

Nur aufgeben darfst du nicht. Und ein bisschen Neugier hilft ungemein. Ein bisschen Vorkenntnis in Java hilft bei Android.
 
Hi,
ich versuche dir mal zu helfen ^^
XML und Java sind zwei verschiedene Sachen.
Den XML Code in deinen Java Code zu schreiben klappt nicht.

Du hast zwei Möglichkeiten dein Bild einzubinden.

Möglichkeit 1:
Das Bild im XML code einzubinden

Hier mal ein Beispiel aus meiner app:

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/meintollesimageView" <-------------------- Muss bei Möglichkeit 1 nicht angegeben werden. Aber Möglichkeit 2 benötigt das!!!
android:src="@drawable/test" <---------------------Hier gibts du die Bilddatei angegeben werden
/>



Dein XML Code befindet sich in:
app-->res-->layout-->activity_sinnlose_app

Möglichkeit 2:
Dein Bild über einen Java Code einfügen. Hierbei "manipulierst" du deinen XML Code über Java.
Diese Methode eignet sich wenn das Bild sich irgendwann auch mal ändern soll.


Da du gerade am lernen bist, würde ich dir Methode 1 vorschlagen.
Den wenn du es über Javacode ändern willst gibt es einige Kleinigkeit zu beachten, wozu ich keine Lust habe es aufzuschreieb ^^
 
DtotheZ schrieb:
Dein Bild über einen Java Code einfügen. Hierbei "manipulierst" du deinen XML Code über Java.

Da kriegt man eine falsche Vorstellung finde ich wenn man das so stehen lässt!

XML ist eine Auszeichnugssprache. In Android wird XML dazu benutzt Objekte der vielen Klassen, bzw deren Member, die in der Android API definiert sind zu initialisieren.
In XML kannst du damit zum Beispiel sagen wieviel Platz eine View in ihrem Container einnehmen soll, welcher Font verwendet werden soll und und und, sprich du kannst die Member eines Objektes dort initialisieren.(Auch andere Sachen die mehr für das System an sich wichtig sind (ID's etc.)

Android kommt zur Laufzeit und baut dann die Objekte nach dem Plan im XML auf.

Beispiel eines Buttons:

HTML:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pic"

Im Code wird erstmal ausgerechnet was wrap_content bei Höhe und Breite bedeutet und dann werden den variablen des Buttons also wird width und height mit den jeweiligen Werten initialisiert.
Und das was unter @drawable/test im Verzeichnis liegt wird als Bitmap des Buttons gesetzt.

Ich würde also eher sagen: Im Code veränderst du die Struktur des Objektes das aus dem XML aufgebaut/aufgebläht(Inflater) wurde. :)


Gute Nacht
 

Ähnliche Themen

D
Antworten
17
Aufrufe
395
datNeMo
D
5
Antworten
0
Aufrufe
1.141
586920
5
R
  • RudolfHagen
Antworten
1
Aufrufe
648
koje71
koje71
Zurück
Oben Unten