Beiträge von Ben

    'Verschiedene Sprachen' meint hier neben Java noch C/C++, PHP, Python und was Eclipse noch so alles unterstützt. ;)

    Genau das meinte ich damit, neben Android habe ich auch Projekte mit JEE, Scala, Bash, C++, Webprogrammierung, Groovy, Go und noch paar nicht programmatische Geschichten wie Latex. Ohne Eclipse wäre das der Horror :D



    Ist ja fast so, als würde IntelliJ das nicht anbieten. :) Dabei gibt es das auch bei den JetBrain-Programmen. ^^

    Nein das bietet IntelliJ nicht. Ich müsste mir für jedes Projekt eine eigene IntelliJ IDE installieren, in Eclipse brauch ich nur ein neues Plugin installieren und gut. Würde ich nur 1 oder 2 verschiedene Programmiersprachen nutzen, würde ich auf IntelliJ zurückgreifen.

    ja also Variables.mainActivity sieht für mich sehr krude aus. Du solltest so wenig statische methoden wie möglich verwenden.


    Und wie marko schon sagte, du müsstest den context der view verwenden (sollte in der regel die activitiy sein wo diese view gesetzt wird)

    Marco sieh das mal nicht als Fragen zu Eclipse sondern eher zu ADT ;)


    Android Studio ist toll, da ich aber relativ viele verschiedene Projekte mit verschiedenen Sprachen habe, nutze ich die Eierlegendewollmilchsau "Eclipse".


    Zu den Fragen:

    Zitat

    Welches Konzept und welche alternativen Vorgehensweisen bietet Eclipse, um eine bestimmte Anwendung auszuführen?

    Da sich die Frage direkt auf ausführen bezieht, würde ich auch Run und Debug sagen. Gibt aber noch coole tools wie hirarchy viewer etc die Hilfreich sind, damit untersucht man aber eher einen laufende Applikation.


    Zitat

    Die assert-Methoden im Testprojekt wurden ‚vereinfacht‘ aufgerufen, z. B. mit: assertEquals(resourceString, textView.getText());. Normalerweise erfolgt der Zugriff auf eine Methode (ihr Aufruf) über den dot-Operator (den Punkt). Wie muss der insofern vollständige Aufruf der assert-Methoden lauten? Begründen Sie dies.

    Vermutlich irgendwas mit this.assertEquals(resourceString, textView.getText());


    Zitat

    Begründen Sie: Warum muss der Eclipse Assistent zur Erstellung eines neuen Android Test-Projekts das Paket der Java-Klassen (in „/src“) leer lassen und kann dort keine Klasse generieren, wie er dies bei einem ‚normalen‘ Android-Projekt tut?

    Ich kenne keinen der Android Test-Projekte überhaupt nutzt.

    Erstmal herzlich willkommen :)


    meine erste Frage ist, wieso suchst du jemand der dir die App programmiert wenn du Medientechnik Student bist :O?
    Dort lernt ihr doch sicher programmieren. Ohne bezahlung wirst du vermutlich niemanden finden der dir eine solche App ordentlich programmiert.

    Ein solches Konzept nennt man Datenbank, wie mein vorredner bereits erwähnte.


    Schreib dir einen Contentprovider der auf die SQLite zugreift und dann kannst du schön die daten in die db speichern sobald sie geladen wurden und lesen wenn du sie brauchst. (Du kannst sogar Bilder einfach in der DB speichern)

    1. Habe ich das so verstanden, dass es darum ging in einer Layoutdatei die einzelnen Listener zu setzen und welche Variante nun am elegantesten ist.


    2. Wieso soll man diese Variable nicht weiterreichen können?

    Ich hab gerade die Android Syntax dafür nicht im Kopf, daher mach ichs mal an nem JavaFX Beispiel.
    Kein Gewähr für richtige Parameter oder Bezeichnungen, es ist eher Pseudocode, aber das Prinzip wird hoffentlich klar.


    private Button button = new Button();
    private Button button2 = new Button();


    private Eventhandler<ActionListener> listener = new Eventhandler<ActionListener>() {
    @Override
    public void handle(Event event) {
    HIER STEHT DEIN CODE
    }
    };


    button.setEventHandler(listener);
    button2.setEventHandler(listener);

    Also ich finde das die einzelnen Listener Objekte genauso gut wiederverwendbar sind wie eine einzelne Klasse.
    Man ist wie deine überschrift schon sagt, mit dieser Variante einfach viel dynamischer. Außerdem ist es vom Programmierstil her einfach besser und die Listener befinden sich in der Regel immer in der dazugehörigen Layout Klasse.

    Warum soll ich die Komplexität nicht verteidigen? Das sichert mir meinen Job und mein Gehalt.
    Und es lässt sich nunmal nix daran ändern das wenn du ein Haus bauen willst du erst Erfahrung und Fertigkeiten erlangen musst, sonst fällt dir das Haus nämlich einfach zusammen. Irgendwer muss ja sicherstellen das es Korrekt entworfen und gebaut wurde. Wenn du das nicht machen willst brauchst du eben jemand anderen, aber der brauch dafür knowhow.


    Ich geh noch einen Schritt weiter als Marco und würde behaupten in keiner Programmiersprache kannst du einfach ein beliebiges Programm zusammenklicken. ABER: Ich habe meine Bachelorthesis über Codegenerierung von mobilen Anwendungen geschrieben. Dabei ging es darum mittels Diagrammen (Klassendiagramm, Use-Case, etc.) gleichzeitig für Android und iOS Applikationen zu generieren. Theoretisch gehen dabei die einfachsten Anwendungen schon (es gibt einige Generatoren die auch schon komplexe Apps generieren können), jedoch kann eben die grafische Oberfläche und auch beliebige komplexere OS spezifische Gebilde nicht so einfach generiert werden. Das ist ein hoch komplexes Thema und da wären wir wieder bei dem Punkt, du baust dein Haus nicht selber sondern bezahlst jemand dafür, das er sein KnowHow einsetzt, mit dein Haus korrekt entworfen und gebaut wird.

    Das stimmt nur bedingt, denn Lesezugriff sollte trotzdem möglich sein. Ich weiß nicht wie Android das händelt, aber möglich wäre es.
    Es kommt halt auch auf die größe der Bilder drauf an. Wie du schon sagtest spielt es heute kaum noch eine Rolle, außer eben wenn man da gleichmal Bilder mit mehreren hundert MB reinwirft. Ich glaube ich teste das heute abend mal, das will ich jetzt wissen wie Android damit umgeht *gg*.


    Nunja ich sehe deinen zweiten Punkt eher als Vorteil!
    Da würde ich gern die app Threema als Vorbild nennen, denn dort musst du explizit die mediendaten anwählen und aufs dateisystem exportieren wenn du sie dort haben möchtest. Das hat den Vorteil das eben nicht jeder Zugriff auf deine Daten im Dateisystem hat und du die Mediendatei beispielsweise verschlüsselt in der DB der app liegen lassen kannst, bis der User sich dazu entscheidet diese aufs Dateisystem zu exportieren. Das ist eben eine Standpunkt bzw. Anwendungsfall Geschichte. Je nachdem was du machen möchtest, musst du abwägen was wichtiger ist. Meine App ist nur eine einfache Mensaapp die Bilder von Essen anzeigt, das möchte vermutlich kein User per Whatsapp versenden *gg*. Bzw. Für diesen Fall werde ich noch eine Kamerafunktion einbauen das man sein Essen Fotografieren kann und dann auf Facebook posten kann, aus der App heraus, ist mir gerade so in den Sinn gekommen :D