# Anfänger String types not allowed (at 'textColor' with value 'black'



## Hag2bard (8. Aug 2021)

Hallo,

Ich habe mir ein paar Java Grundlagen angeeignet und möchte nun eine kleine simple Android App erstellen.
Dafür nutze ich Java N-IDE auf meinem Smartphone.
Das Testprogramm welches erstellt wird, gibt ein Hello World in der Mitte des Bildschirms aus.
Um zu verstehen wie Android Apps funktionieren habe ich aus dem Internet ein Beispiel kopiert, welches mir die Syntax für die Textformatierung anzeigt.

Wenn ich dieses in meine XML kopiere, bekomme ich die im Threadtitel genannte Fehlermeldung.

[CODE lang="xml" title="activity_main.xml aus dem Internet"]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    androidrientation="vertical">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        androidrientation="vertical">

        <TextView
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:background="#008080"
            android:textColor="black"
            android:textSize="20sp"
            android:gravity="left"
            android:text="left" />

        <TextView
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:background="#08f9bd"
            android:textColor="black"
            android:textSize="20sp"
            android:gravity="center_horizontal"
            android:text="center_horizontal" />

        <TextView
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:background="#f418d2"
            android:textColor="black"
            android:textSize="20sp"
            android:gravity="right"
            android:text="right" />

        <TextView
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:background="#aacaff"
            android:textColor="black"
            android:textSize="20sp"
            android:gravity="center"
            android:text="center" />

        <TextView
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:background="#c443bf"
            android:textColor="black"
            android:textSize="20sp"
            android:gravity="end"
            android:text="end" />

    </LinearLayout>
</LinearLayout>[/CODE]


[CODE lang="xml" title="activity_main.xml original"]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    androidrientation="vertical">

    <TextView
        android:id="@+id/txt_hello"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="Hallo Welt" />

                <TextView
            android:layout_width="200dp"
            android:layout_height="40dp"
            android:background="#aacaff"
            android:textSize="20sp"
            android:gravity="center"
            android:text="center" />


</LinearLayout>[/CODE]

[CODE lang="java" title="MainActivity.java"]package com.example.myapplication;

import android.app.Activity;
import android.os.Bundle;

import com.example.myapplication.R;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

}
[/CODE]


----------



## Jw456 (8. Aug 2021)

versuche mal 
android:textColor="@color/black"


----------



## kneitzel (8. Aug 2021)

Vermutlich will er da keinen String wie "black" sondern einen Farbcode. Also ersetze black mal durch #000000


----------



## mihe7 (8. Aug 2021)

S. https://stackoverflow.com/questions/8680262/android-system-color-constants


----------



## Jw456 (8. Aug 2021)

kneitzel hat gesagt.:


> Vermutlich will er da keinen String wie "black" sondern einen Farbcode. Also ersetze black mal durch #000000


Ja das geht auch

Die Strings sind ja Standard mäßig auch schon vorhanden. Er wird schon das benutzen wollen. Er wird es wohl nur aus einem Beispiel aus dem Netz falsch oder zur hälfte abgeschrieben haben.


----------



## Hag2bard (8. Aug 2021)

Also mit einem Farbcode funktioniert es.

Wie kann man denn mehr anstatt eines starren Textes anzeigen?
Also sowas wie eine Konsole daraus machen.
Oder anders gefragt kann ich einen String anzeigen lassen?


----------



## Jw456 (8. Aug 2021)

Dazu musst du dir erst mal im code  die Instanz der View  holen.
Dann kannst du denn einen neuen  Text setzten.


```
TextView textView = findViewById(R.id.txt_hello);
        textView.setText("neuer Text");
```


Ps hier ein  link für den anfang 








						Android Tutorial: Eigene Android App programmieren
					

Android Tutorials | VOR In diesem Tutorial lernt ihr: Warum solltet ihr eine eigene Android App programmieren? Ziele dieses Android Tutorials Vorkenntnisse und Voraussetzungen Inhalt des Android App programmieren Tutorials – Die Lektionen des Kurses…




					www.programmierenlernenhq.de


----------



## Jw456 (8. Aug 2021)

PS in deinem Layout hast du keine ID vergeben ohne geht das nicht wenn du im code auf die texte zugreifen willst.


----------



## Hag2bard (8. Aug 2021)

Ich glaube ich komme mit meiner Java N-ide nicht sehr weit.
Im Tutorial wird erklärt wie ich die MainActivity zu bauen habe.
Aber beim import von androidx.appcompat.app.AppCompatActivity meckert er rum.
The import cannot be resolved.


----------



## Hag2bard (9. Aug 2021)

Ich habe mir nochmal Gedanken gemacht. 
Die AppCompatActivity gibt es bei meiner ide nicht, sie hat aber wahrscheinlich die selbe Funktion wie die Activity Klasse.
Ich habe meinen Code dementsprechend etwas umgebaut 

```
package com.example.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        TextView welcomeMessageTV = new TextView(this);
        welcomeMessageTV.setText("Hello CodeYourApp World!");
        setContentView(welcomeMessageTV);
    }
}
```

Beim Compilieren meckert er allerdings bezugnehmend auf die style.xml

Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCombat.Light.DarkActionBar'.

Meine styles.xml sieht so aus 
[CODE lang="xml" title="style.xml" highlight="3"]<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
</resources>[/CODE]

Wie änder ich die Zeile 3 am besten ab?


----------



## mihe7 (9. Aug 2021)

Hag2bard hat gesagt.:


> Die AppCompatActivity gibt es bei meiner ide nicht


Dann fehlt Dir die Lib. Früher war das die Support Library, heute ist das in AndroidX enthalten. Schau mal im Refactor-Menü, ggf. hast Du da einen Eintrag "Refactor to AndroidX", wenn nicht, oder falls das nicht funktioniert, deklariere einfach mal die Abhängigkeit androidx.appcompat:appcompat:1.3.1 in Deinem Gradle-File (s. https://developer.android.com/jetpack/androidx/releases/appcompat)

In der Support Library war der Import z. B. android.support.v7.app.AppCompatActivity, für AndroidX musst Du dagegen androidx.appcompat.app.AppCompatActivity importieren. Das dürfte die IDE aber automatisch machen, wenn Du diesbezüglich nix rumgestellt hast und die Abhängigkeit zur Lib deklariert wurde. Ja, das Android-Zeug ist alles etwas unübersichtlich


----------



## Jw456 (9. Aug 2021)

Welche App  hast du die kostenlose oder die Pro Version?

Ich habe mir mal die kostenlose angesehen da ist glaube nur ein Projekt möglich und es wird nur die hälfte erstellt was Android Studio für ein Projekt erstellt. 

Vielleicht müsstest du die Pro Version haben damit du es sinnvoll nutzen kannst.
Ich würde mir die Pro nicht kaufen  weil ich Coden  auf den Handy furcht bar finde.


Du müsstest dann auch ein Theme erstellen  was dir Android Studio  alles macht. Die App scheinbar nicht.


----------



## Jw456 (9. Aug 2021)

PS die App fragt dich am anfang auch nicht ob du ein Android Projekt estellen wilst sondern ein Java Projekt.

eine Frage nach einen Template kommt auch nicht wie im Studio. 
vieleicht ist es inder Pro Version besser.


----------



## mihe7 (9. Aug 2021)

Ah, ganz übersehen, dass er gar nicht AS verwendet.


----------

