# utility class



## seyjo (11. Dez 2013)

Hallo.
ich versuch mir gerade selber etwas das schreiben von Android Applikatonen beizubringen.
Nun hänge ich an einem Tutorial - ich habe bs dahin alles ohne Probleme hinbekommen, doch nun steht da, ich solle eine utility class erstellen, doch hab ich nicht die leiseste Ahnung wie das gehen soll.

Der Link zum Tutorial:
Android Development Tutorial

Ich hänge bei Punkt: 22.7

vielen Dank


----------



## ARadauer (11. Dez 2013)

wow da bist du ja weit gekommen, ohne eine ahnung zu haben wie man eine klasse macht.

rechte maustaste aufs projekt -> new -> class


----------



## seyjo (11. Dez 2013)

Ah und die nenn ich dann utility?!
Ich habe es einfach mal so genannt, doch wird mir nun folgendes rot angekringelt:

public class *ConverterUtil {*

sowohl die Wörter Celsius und Fahrenheit in den Kommentaren.

Ich habe mal den nächsten Schritt durchgeführt und jede neue R.xY Zele wird angekringelt. Wie schreibe ich die ganzen Sachen in R.java?
Tut mir Leid Jungs, ist das erste Mal das ich mir eine Programmiersprache aneignen will und das ist mein 3.  Ansatz dazu - ich habe 2 Bücher hierzu zu Hause, doch dort steht auch nirgends wie man neue Elemente in die R.Java einträgt damit sie erkannt werden - dort hing ich auch immer an solchen Stellen...;(

hier meine R.
Wie man sieht - sieht man nix
[Java]/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package de.example.testapp;

public final class R {
    public static final class attr {
    }
    public static final class dimen {
        /**  Default screen margins, per the Android Design guidelines. 

         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.

         */
        public static final int activity_horizontal_margin=0x7f040000;
        public static final int activity_vertical_margin=0x7f040001;
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int action_settings=0x7f080000;
    }
    public static final class layout {
        public static final int activity_main=0x7f030000;
    }
    public static final class menu {
        public static final int main=0x7f070000;
    }
    public static final class string {
        public static final int action_settings=0x7f050001;
        public static final int app_name=0x7f050000;
        public static final int hello_world=0x7f050002;
    }
    public static final class style {
        /** 
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.


            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.


        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.

 API 11 theme customizations can go here. 

        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.

 API 14 theme customizations can go here. 
         */
        public static final int AppBaseTheme=0x7f060000;
        /**  Application theme. 
 All customizations that are NOT specific to a particular API-level can go here. 
         */
        public static final int AppTheme=0x7f060001;
    }
}
[/Java]


----------



## Gucky (11. Dez 2013)

Du hast jetzt 9 Klassen, von denen 8 public static final sind und alle sind Einzeiler. Die Variablen sind auch alle public static final. Wozu?


----------



## seyjo (11. Dez 2013)

Zum einen kenn ich den Unterschied nicht, zum anderen habe ich nur den Schritten des, für Anfänger und Einsteiger angeblich gerechtem, Tutorial gefolgt.
Ich habe echt nur dem Tutorial gefolgt - überfliegt es und sagt mir ob ich was übersehen habe oder ob ich einfach zu doof dafür bin :noe:


----------



## Gucky (12. Dez 2013)

public: öffentlich sichtbar
static: es muss keine Instanz des Objektes angelegt werden, um auf die Methode zuzugreifen
final: bei Variablen, dass sie nicht verändert werden können. Bei Methoden, dass sie nicht überschrieben werden können. (bei Vererbung wichtig) Als final gekennzeichnete Methoden sollen weniger Zeit benötigen.

Zu doof bist du sicher nicht. Ich weiß aber nicht, ob es gut ist, gleich mit Android anzufangen oder erst mit klassischem Java. Dein Tutorial behandelt keine Dinge, wie Schleifen, Felder, Vererbung usw. sondern nur Androidspezifische Dinge. Such dir mal eun schönes, deutsches Java Tutorial, wie zum Beispiel Java in 30 Tagen. Das arbeitest du dann durch und wenn du es durch hast und alles verstanden hast, dann kannst du auf das Android Tutoral zurückkommen.


----------

