Anfängerfragen zu diversen Themen

  • Zitat

    In einem Punkt muss ich dem Guten jedoch widersprechen.


    Hatte damit hauptsächlich die Leichtigkeit der Sprache gemeint :) Ansonsten hast natürlich recht ^^ Hab damals ja auch mit Objective-C als richtige Entwicklungssprache angefangen (PHP zähle ich jetzt mal nicht dazu ^^).

  • Mahlzeit zusammen,


    ich gebe erstmal auf.... :-X verstehe nicht wie ich das jemals schaffen soll, viele ist mir ein Rätsel.


    Meine Bücher liefern zwar viele Hinweise jedoch weiß ich nicht wie ich das Puzzle zusammensetzen muss.


    Ich brauche jemanden vor Ort den ich Fragen stellen kann. Über einen Bekannten von einen Bekannten habe ich evtl. eine zweite Chance der mir ein paar Knoten löst.


    Ich stelle fest das ich nur durch (VENÜ) = Vormachen, Erklären, Nachmachen und Üben wohl besser beraten bin.


    Vielen Dank für Eure Hilfe. Mitte April kommt das neue Buch Android für Dummies raus, evtl. steht da noch etwas interessantes drin.


    Gruß Katsche

  • Im ernst du machst dir scheinbar echt selbst zuviel Stress. Es ist nunmal so, dass eine neue Sprache nicht von heute auf morgen erlernt wird. Jeder, selbst die Profis lernen täglich dazu. Bzgl. Grundlagen: Nehm dir selbst die Zeit 2-3Monate täglich 2-3 Std ein wenig zum Thema lesen / umsetzen und du wirst sehen es bessert sich nach und nach.


    Wenn dir das schon zuviel ist, lass es bitte ganz sein. In der Zeit wirst du wirklich nur an der Oberfläche gekratzt haben und die Grundlagen drauf haben Programmieren erfordert eine Gewisse Disziplin beim lernen!


    Fang wirklich ganz klein an. Liess dir das kostenlose Buch "Java ist auch eine Insel durch", welches Lucas hier auch schon verlinkt hat. Evtl. sogar 2-3 mal das ist normal und überhaupt nicht schlimm. Sich selbst reduzieren sollte man aber auf gar keinem Fall. Nehm dir ja kein Buch für Dummies, du wertest dich wenn auch nur unbewusst selbst ab.


    Alternativ gibt es von Galileo Press bzw. Video2Brain gute Video-Tutorials.


    z.b:


    http://www.video2brain.com/de/…-entwickeln-mit-android-4
    http://www.galileocomputing.de…ssion=64004834A5.cnF1JD.U


    Das Training von Mike Bach solltest du evtl. nicht kaufen. Ich finde es qualitativ jetzt nicht sehr besonders. Teilweise sind die Videobeschreibungen auch sehr fehlerhaft.

  • Hi Katsche,


    ich tu auf der Arbeit auch hauptsächlich Access mit VBA entwickeln. Ich habe letztes Jahr angefangen mit Android und damit dann auch mit Java. Kann also sehr wohl nachvollziehen, wie es dir beim lernen geht :)


    VBA und Java sind komplett andere Welten. Du musst in Java Dinge beachten (und dich selbst drum kümmern), wo du dir bei VBA nichtmal einen Hauch von Gedanken darüber machst.


    Ich könnte jetzt so viele Gegenüberstellungen machen... und hab erst auch schon angefangen. Aber das bringt alles nix. Du musst dir wirklich mal Java beibringen. Den Grundaufbau der Sprache und vor allem den Aufbau als Objektorientierte Sprache. Darin liegt der Hauptunterschied.
    Würde auch dringends empfehlen 2-3 Wochen erstmal nur Java lernen. Ich weiß nicht wie das Buch "Java ist auch eine Insel" ist. Möchte es auch nochmal lesen. Aber das Video2Brain Video für Java7 fand ich ganz in Ordnung. Apps Entwickeln mit Android 4 ist auch gut. Ist für den Einstieg in Android auch ok. Jedoch leider nicht besonders umfangreich für das Geld.


    Wenn du nicht erstmal Java lernst, wirst du einfach nur ständig Frust haben, weil du bei irgendwelchen Kleinigkeiten nicht weiterkommst. Wie zum Beispiel ne einfache Liste mit Daten anzeigen.
    Ich habe durch diesen Frust schon fasst ganz aufgehört. Jetzt wo ich Java ein bisschen verstanden habe, macht die Entwicklung in Android nun doch wieder mehr Spaß.


    Meine App Idee könnte ich in Access innerhalb von ein bis zwei Tagen ohne Schwierigkeiten fertig machen... nun bin ich in Android aber schon seit mehreren Monaten dabei. Aber es macht mir immer mehr Spaß, je mehr ich verstehe.


    Die SQLite Datenbank mit ContentProvider wird wahrscheinlich auch nochmal richtig rein haun bei dir. Das ist in Access natürlich auch viel einfacher.
    ListViews sind auf keinen Fall mit dem Listenobjekt in Access gleichzusetzen.



    Um Android/Java zu verstehen, musst du dein VBA-Denken ganz beiseite legen. Und möglichst keine oder wenig Parallelen ziehen.


    Ich Teile gerne weitere Erfahrungen, wenn du was brauchst. Bin aber auch noch gaaaanz am Anfang mit meinen Android-Verständnissen.

    Bei Unklarheiten, halten Sie Ihren Kopf kurz in eine Schüssel voll klarem Wasser, dann wirds etwas klarer. Danke ;)


    Gruß Andi ---- Das Huhn oder das Ei zuerst? ;)
    Funtik -- G+

  • Hallo zusammen,


    Funtik: ja, Access scheint dagegen nicht schwer zu sein und ich bin wohl zu sehr von Microsoft verwöhnt.


    Nunja, ich hatte mir das etwas leichter vorgestellt. Einen VHS-Kurs scheint es niergends zu geben und ein Fernstudium scheint etwas teuer zu sein. Ich könnte mir vorstellen das in Münster ein Kurs angeboten wird, hat jemand eine Idee wie/ wo ich suchen müsste?


    Ich bin nun leider ein Typ der schnelle Erfolge braucht um nicht den Spaß an der Sache zu verlieren... aber ich gebe auch nicht so schnell klein bei, sprich ich bin weiter hinter mein gestecktes Ziel dran nur mit anderen Zeitvorstellungen und damit mit weniger Druck.


    Ich dachte mit Copy and Paste würde ich vieles umgehen können jedeoch die ständige Erroranzeige und das Suchen nach dem Fehler nervt total.


    Als Enduser eine Android App tippt man nur mal hier und da und es passiert irdendetwas aber das da hinter eine solcher Programmieraufwand steckt ist der Hammer, ich sehe das jetzt mit ganz anderen Augen. Ich zíehe meinen Hut vor den Programmierern. Java ist eine Insel-Buch (Version 10) habe ich heruntergeladen...bis dahin.

  • Mahlzeit zusammen,


    ich gebe erstmal auf.... :-X


    Wenn das daran liegt, dass du ne ganze Menge anderer Dinge um die Ohren hast, dann ist das eine sehr gute Idee.
    Wenn das daran liegt, dass du dir das einfach nur nicht zutraust (und genau so lese ich das da heraus), dann halte ich das für eine äußerst blöde Idee.


    Wir alle mussten erst einmal die Grundlagen für Laufen lernen um festzustellen, dass das ganz toll ist – und machen das noch immer.
    Sehr viele von uns haben erst einmal die Grundlagen für Radfahren lernen müssen um festzustellen, dass das ganz toll ist - und einige machen das noch immer.


    Nun haben viele von uns auch die Grundlagen für Schlittschuhlaufen oder Inline-Skaten gelernt. Entweder machen wir das immer noch oder haben es für doof befunden und sein lassen.
    Das ganze lässt sich auf die Themen Auto/Motorrad fahren, Rauchen, Saufen, Kopulation, Musikinstrumente, Spiele, Kochen, Lesen, Filme... ausweiten:
    Grundlagen lernen. Verschiedenes ausprobieren. Weiter machen wenn es gefällt. Aufhören wenn es blöd ist.


    Noch vor Beendigung von Schritt 1 aufzugeben halte ich für dumm. Dann weiß man ja nie, ob es einem gefallen hätte oder nicht.


    Die SQLite Datenbank mit ContentProvider wird wahrscheinlich auch nochmal richtig rein haun bei dir. Das ist in Access natürlich auch viel einfacher.


    Ihr immer mit eurem Datenbankfetisch...
    Ich verstehe nicht, warum in objektorientierten Sprachen immer noch ein gefrickelter Datenbankzugriff von Nöten sein muss.
    Jeder, der mit objektorientierter Programmierung anfängt, will irgendwann einmal mit Datenbanken herumhampeln — wozu?
    Es heißt 'Objektorientiert'. Nicht 'Klassenorientiert' oder gar 'Datenbankorientiert'.


    Warum lernt man nicht erst einmal das Arbeiten komplett mit Objekten und schwenkt dann auf Datenbank um, wenn es wirklich notwendig wird?
    (Aus der Kategorie: Dinge, die ich bei den meisten objektorientierten Programmiersprachen nie begreifen werde.)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • @ Lucas:


    Klingt interessant... weist du.. gerade wenn von Access kommt, dann sind Datenbanken/Tabellen "Die Lösung" für fasst jedes Problem.


    Was hättest du denn als Alternative um Daten zu speichern, die schnell und einfach wieder abrufbar sein sollen?

    Bei Unklarheiten, halten Sie Ihren Kopf kurz in eine Schüssel voll klarem Wasser, dann wirds etwas klarer. Danke ;)


    Gruß Andi ---- Das Huhn oder das Ei zuerst? ;)
    Funtik -- G+

  • Hallo zusammen,


    ich bin hier und da noch etwas am probieren und testen und habe mir eine dritte Activity erschaffen wo jetzt ein Fehler bei Main und SecondActivity angezeigt wird. Ich verstehe absolut nicht was die Fehlermeldung soll. In der Main.java war vorher noch alles okay und dann schwups Fehlermeldung. Fehlerbeschreibung: "main cannot be resolved or is not a field".


    Hier mein Link zu dem Projekt: http://www.uploadarea.de/uploa…nrywoc33q7dbniny24r2.html


    Ich nutze die Gelegenheit uns stelle nochmal ein paar Grundsatzfragen die mir auf der Seele brennen:


    1. oben bei src ist die Endung *.java und unten bei layout *.xml was soll das genau? Das sind doch zwei unterschiedliche Sprachen die Eclipse zu einer macht?


    2. da hier Buttons im Spiel sind warum wird hier nicht auf den onClickListener verwiesen bzw. wo steht dieser in meinem Beispiel?


    3. Würde mir zum über am Anfang auch eine Java Referenzkarte (Befehlskarte) helfen oder ist das rausgeschmissenens Geld? Siehe Beispiel von http://www.terrashop.de/it-pra…mmierung/7-15/eineuro.php


    4. es gibt zwar eine Menge Tutorials und Beispiele zum Aufruf von dem Date- und TimePicker jedoch niergends wie ich diese aus einem Textfeld aufrufe und das Ergebnis dort auch speicher. Hat hier jemand eine Link für mich?


    Fragen über Fragen! ;)

  • in der Main.java Klasse wird in der OnCreate Methode auf eine XML Datei zugegriffen, die du nicht hast. Jedenfalls konnte ich sie bei dir nicht finden



    Hast du vielleicht eine Datei irgendwie manuell umbenannt oder gelöscht?
    müsste hier jedenfalls (wahrscheinlich) R.layout.activity_main heißen.


    Und in der ThirdActivity.java Klasse wird ebenfalls auf die selbe XML Datei zugegriffen. Muss dort R.layout.activity_third sein.



    //edit:
    einfach ausgedrückt: durch setContentView(R.layout.activity_list_item); holst du dir die XML Datei namens "activity_list_item.xml" in deine Java Klasse. Dadurch wird die sichtbare Oberfläche aufgebaut, so wie du sie dir in der XML Datei erstellt hast. Da sie nicht existiert kommt wohl der Fehler


    zu den Fragen...


    2.
    Weil in setContentView(..) nicht auf die richtige Datei zugegriffen wird, wie oben erklärt.


    Die anderen Fragen überlasse ich lieber den Erfahreneren Leuten hier ;)

    Bei Unklarheiten, halten Sie Ihren Kopf kurz in eine Schüssel voll klarem Wasser, dann wirds etwas klarer. Danke ;)


    Gruß Andi ---- Das Huhn oder das Ei zuerst? ;)
    Funtik -- G+

    3 Mal editiert, zuletzt von Funtik ()

  • Zitat

    1. oben bei src ist die Endung *.java und unten bei layout *.xml was soll das genau? Das sind doch zwei unterschiedliche Sprachen die Eclipse zu einer macht?


    Ja es sind zwei unterschiedliche Sprachen. Java ist hierbei die Hochsprache (Programmiersprache). XML hingegen ist eine Auszeichnungssprache. In XML definiert du quasi Inhalte etc.


    Zitat

    2. da hier Buttons im Spiel sind warum wird hier nicht auf den onClickListener verwiesen bzw. wo steht dieser in meinem Beispiel?


    Weil ein Button einen onClickListener benötigt (Wenn etwas auf knopfdruck ausgeführt werden soll). Er muss so z.b Wissen was auf Knopfdruck ausgeführt werden soll. In deinem Beispiel wurde auf der programmatischen erstellung des onClickListeners verzichtet. Du hast in deiner xml allerdings das Attribut onClick gefolgt vom Methodennamen gesetzt. Diese Methode wird demnach bei klick angesprungen.


    Möchtest du deinen Button programmatisch erstellen gehst du z.b wie folgt vor:



    Du siehst hier sehr schön, dass setContentView nicht nur Layout Resourcen sondern auch Views entgegenimmt.


    Zitat

    setContentView(int layoutResID)
    Set the activity content from a layout resource.


    void setContentView(View view)
    Set the activity content to an explicit view.


    Selbstverständlich kannst du im Quellcode auch eine Referenz auf dein Button, welchen du via XML erstell hast holen. Dies geschieht mittels:


    Java
    Button button = (Button)findViewById(R.id.buttonid);


    im nächsten Schritt könntest du jetzt z.b den onClickListener für den Button setzen etc.


    Zitat

    3. Würde mir zum über am Anfang auch eine Java Referenzkarte (Befehlskarte) helfen oder ist das rausgeschmissenens Geld? Siehe Beispiel von http://www.terrashop.de/it-praxis-progra…-15/eineuro.php


    Das wage ich ganz stark zu bezweifeln, dass dir dies viel bringen wird. Zumal dort auch keine Java Befehlskarte erhältlich ist?!? Du solltest wie des Öfteren erwähnt wirklich die Grundlagen erlernen. Des Weiteren wäre hier die Dokumentation deutlich hilfreicher:


    http://developer.android.com/reference/packages.html


    Allerdings sei hierbei erwähnt, dass auch das verstehen und zurechtfinden "erlernd" werden muss. Ich habe schon sehr viele Entwickler kennengelernt, die es scheinbar nicht auf der Reihe bekommen sich mit der Dokumentation anzufreunden.


    Zitat

    4. es gibt zwar eine Menge Tutorials und Beispiele zum Aufruf von dem Date- und TimePicker jedoch niergends wie ich diese aus einem Textfeld aufrufe und das Ergebnis dort auch speicher. Hat hier jemand eine Link für mich?


    Noch mal zum mitschreiben. Du willst ein TextView erstellen, welches auf klick einen Date bzw. TimePicker gesondert öffnet und die gewählten Werte im TextView anzeigen lässt? Dann erstell dir lieber statt ein TextView ein Button geb ihm dieses Attribut:


    Code
    android:background="@android:color/transparent"


    setze deinen onClickListener und lass dein eigenes View mit Date bzw TimePicker anzeigen. Die Daten kannst du dann in jeweiligen Listener setzen:


    http://developer.android.com/r…nDateChangedListener.html
    http://developer.android.com/r…nTimeChangedListener.html



    Wichtig ist hier vor allem aber ersteinmal das erlernen und verstehen der Grundlagen, dann kommst du auch von allein drauf wie man dies umsetzt. Wir helfen hier alle sehr gerne, allerdings werden wir nicht alles vorprogrammieren. Schliesslich muss jeder Entwickler sein eigenes Knowhow in seine App einfließen lassen und selbst nachdenken können. Anregungen bzw. Hilfestellungen gibt es immer, aber wie gesagt sollte man dann schon etwas eigen Initiative zeigen.


    So nun lehn dich bitte nicht zuweit aus dem Fenster, sondern geh einige Schritte zurück und lern die Grundlagen. Wie bereits gefühlte 100mal erwähnt -> Java ist auch eine Insel und die Online Trainings von Google:


    http://developer.android.com/training/index.html


    Bzgl. es gibt zwar eine Menge Tutorials:


    Es gibt Online sehr viele Tutorials, allerdings ist davon ein Großteil einfach nicht durchdacht bzw. veraltet. Halt dich einfach an unseren Tipps und alles wird gut.


  • Den Weg mit dem Button finde ich umständlich. Ein Button soll darstellen, dass man ihn anklicken kann. Er braucht einen Rahmen (nein, keine Ramen!) und eine Fläche, auf die er reagiert. Wenn du nun die Fläche auf transparent setzt, dann hast du rein optisch nur ein Textfeld — doof. Wenn es wie ein Textfeld aussieht, kann man auch einfach ein Textfeld nehmen.


    Ein Button ist auch nur ein View. Und auch ein View kann einen OnClickListener haben, den View.OnClickListener.
    Es spricht also überhaupt nichts dagegen, wie in deinem Beispiel dargestellt, einen OnClickListener an das View (statt des Buttons) zu pappen. Der android.text.method.CharacterPickerDialog zum Beispiel implementiert das Ganze einmal für den Abbrechen-Button und einmal als Erweiterung für die anderen Views.
    Man muss dem User nur irgendwie anzeigen, dass er das Textfeld antippen kann. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • 1. oben bei src ist die Endung *.java und unten bei layout *.xml was soll das genau? Das sind doch zwei unterschiedliche Sprachen die Eclipse zu einer macht?


    Warum genau sie sich für diese Art der Trennung entschieden haben weiß ich auch nicht. Wohl weiß ich aber, warum sie das getrennt haben.


    Irgendjemand war der Meinung es sei total klug, den Arbeitscode strikt von der Benutzeroberfläche zu trennen. Dieser Jemand ist Mitglied der GoF (Gang of Four), hatte damit ungefähr das Model-View-Controller Designpattern umschrieben und mit seiner Meinung völlig recht behalten.


    Ein UserInterface ist im Allgemeinen Designersache. Und Designer können halt besser fertige Dinge umherschieben, skalieren, einfärben und Verläufe rein und Schatten drum packen als programmieren.
    (Dafür sollte man mich NIEMALS vor eine Leinwand setzen und mir ein paar Copic Marker in die Hand drücken. Das Ergebnis wird grausig!)


    Da XML eine schöne Auszeichnungssprache ist (eXtensible Markup Language), lassen sich damit ziemlich leicht Editoren erstellen, mit denen man sie manipulieren kann. Das macht es als Dateiformat perfekt für den Einsatz als Layout.
    Der IntelliJ IDEA 12 UI Designer ist zwar optisch nicht sehr ansprechend, aber unglaublich praktisch und leistungsfähig.


    Naja, und Eclipse ist eine auf Java spezialisierte und stark erweiterbare IDE. Doch Eclipse macht da gar nix.
    Erst das Android-Betriebssystem baut aus diesen XML irgendwie Java-Objekte, die du dann weiterverwenden kannst.


    Wie die das machen ist Implementierungsdetail.
    (Entwicklersprech für: Keine Ahnung, braucht dich aber auch nicht zu interessieren.)


    2. da hier Buttons im Spiel sind warum wird hier nicht auf den onClickListener verwiesen bzw. wo steht dieser in meinem Beispiel?


    Tja, Dank der Umsetzung Androids haben wir nun doch eine Verletzung des MVC Pattern. Aber irgendwie auch nur ganz leicht...
    Statt die Methode im Code zu tippen kannst du sie, wie von drumliner beschrieben, auch im Layout definieren.


    Das hat den Vorteil, dass du die Schnittstelle zum Layout genau definierst. „Wer dieses Layout nutzen will, muss als OnClickListener die Methode ‚WaddeHaddeDudeDa‘ implementieren.“
    So ist es theoretisch egal, welche Activity dein Layout lädt, das Layout kann mit ihr arbeiten und die Activity muss nicht wissen, welche ID der Button jetzt eigentlich hat.


    Die andere Richtung ist halt „Damit dieses Layout mit meinem Code funktioniert, muss es die ID ‚wadde_hadde_dude_da_button‘ an einen Button vergeben.“
    Letzteres spürst du beispielsweise bei einer ListActivity. Sie verlang von deinem Layout eine ID ‚android.R.id.list‘ (im XML: @android:id/list) für ein Element vom Typ ListView, ansonsten verweigert sie die Zusammenarbeit. Natürlich wird diese Weigerung lautstark in einer Exception geäußert. ;)


    Ich persönlich finde ja beides nicht so elegant gelöst, da es in jedem Fall eine Abhängigkeit gibt, welche beim MVC eigentlich nicht gegeben sein sollte.
    Anders lässt es sich vermutlich allerdings nicht realisieren.


    3. Würde mir zum über am Anfang auch eine Java Referenzkarte (Befehlskarte) helfen oder ist das rausgeschmissenens Geld? Siehe Beispiel von http://www.terrashop.de/it-pra…mmierung/7-15/eineuro.php


    Rausgeschmissenes Geld.
    http://www.javaprogrammingforu…-ref-cards.html#post65055
    http://www.digilife.be/quickre…A%20Quick%20Reference.pdf
    http://www.dcs.gla.ac.uk/~pd/JavaRefCard/javarefcard.pdf


    Soll ich noch weiter suchen? ;)


    Das Geld ist in zweierlei Hinsicht zum Fenster hinausgeschmissen.
    Zum Einen findest du unter dem Suchwort 'Java Cheat Sheet' unglaublich viele unglaublich gute kostenlose Referenzkarten.
    'Cheat Sheet' ist das Schlagwort für alle Kurzreferenzen dieser Art, egal ob Java als Programmiersprache, VI als Editor, GIT als SCM oder wat weiß ich.


    Viel wichtiger ist aber, dass diese 'Cheat Sheets' ähnlich sind wie ein Spickzettel (Englisch: cheat sheet ^^).
    So ein Spickzettel oder eine Kurzreferenz bringt dir nix, wenn du die Zusammenhänge nie gelernt hast. Du liest dann vielleicht, dass es diverse Listener gibt und wie du sie benutzt – hast aber leider keine Ahnung wofür du die überhaupt brauchst.


    Tja, und suchst du statt einer Kurzreferenz nach einer Java Referenz, findest du nur etliche Bücher (davon auch viele kostenlos).
    Du bist dann also genauso weit wie vorher. ;)


    4. es gibt zwar eine Menge Tutorials und Beispiele zum Aufruf von dem Date- und TimePicker jedoch niergends wie ich diese aus einem Textfeld aufrufe und das Ergebnis dort auch speicher. Hat hier jemand eine Link für mich?


    Tutorials sind da so ähnlich wie Cheat Sheets.
    Sie gehen davon aus, dass du gewisse Dinge schon kennst und zeigen dir nur die Funktionsweise von einem bestimmten Ding.
    Die notwendigen Schlüsse, also was du daraus jetzt wie mitnimmst und wo in deiner Applikation wie umsetzt, die musst du selbst ziehen.
    Das geht jedoch nicht, wenn man die Sprache nicht kennt. Deshalb halte ich Tutorials nach wie vor für zum Lernen ungeeignet.


    Fragen über Fragen! ;)


    Frag. Dafür ist das Forum da. :)
    Wenn du aber wirklich ein VENÜ-Verfechter bist, solltest du unbedingt mit den Android Trainings anfangen.
    Diese Trainings sind keine von irgendwem zusammengefrickelten Online-Tutorials. (Und ich zähle auch die Video2Brain Tutorials als zusammengefrickelt)
    Sie sind von den Entwicklern der Sprache erstellt und auf spezielle rudimentäre Anwendungsfälle zugeschnitten.


    Dort hast du dein VENÜ. Die haben es vorgemacht. (Fertiger Sample Code zum Download)
    In den einzelnen Kapiteln bekommst du die Erklärungen dafür geliefert.
    Um NÜ musst du dich dann selbst kümmern. Wichtig ist nur: nix kopieren und so wenig wie möglich abschauen! Nur an Hand der Erklärungen versuchen, das Ganze nachzubauen. Dann, sofern vorhanden, nur beim ersten Fehler nachschauen und ihn beheben. Dann überlegen, was die restlichen Fehler verursachen könnte – sofern vorhanden.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hallo zusammen,


    ich sehe dieser Thread wurde als erledigt markiert jedoch würde ich gerne die Gelegenheit hier nutzen um meine Anfängerfragen weiter zu stellen um nicht ständig ein neuen Thread zu öffnen.


    Ich habe mich in den letzten Tagen intensiv mit Eclipse und Java beschäftigt und habe erfolgreich zwei kleine Projekte (DatePicker und TimePicker) erstellt und etwas damit gespielt um ein Gefühl dafür zu bekommen was passiert wenn ich hier und da etwas umstelle.


    Ich möchte jetzt einen Schritt weiter gehen und schon fangen die Probleme wieder an wo ich auf anhieb keine Lösung in meinen Büchern finde.


    Zu meinem Problem: Der DatePicker und der TimePicker in Ihren jeweils getrennten Projekten funktieren so wie gewünscht, allerdings möchte ich beide zusammen auf der Activiy "Main" anzeigen lassen und bei Buttonklick soll sich entweder der eine oder der andere Dialog öffnen. Die Buttons und den Text habe ich erfolgreich implementiert jedoch bei Public Class... im SRC erhalte ich eine Fehlermeldung.


    Beide Klassen fangen mit public class Main extends Activity { an jedoch bei der unteren erhalte ich die Meldung "The type Main is alredy defined". Ich verstehe zwar das Meldung wüsste aber keine Lösung dazu daher habe ich gegoogelt und bin auf diese Seite gestossen http://stackoverflow.com/quest…ending-class-for-activity , im zweiten Abschnitt steht die Lösung für mein Problem oder? Ich erhalte jedoch wieder eine Fehlermeldung: The public type MainActivity must be defined in its own file.
    Wie kann ich das Problem lösen?

  • Moin,


    also ich denke, das 'erledigt'-Problem ist so ein Foren–Feature.
    Wenn 14 Tage keiner was geschrieben hat wird die Sache als ‚erledigt‘ markiert. ;)


    Die Frage ist, was sinnvoll ist. Ein Nutzer im Forum wird eher nach Schlagworten suchen, und wenn du alles in einen Thread klatscht kann es durchaus sein, dass dieselben Fragen später von Anderen wieder auftauchen.


    Zum Problem:
    Du hast zunächst einmal zwei Klassen mit identischem Namen, das geht so natürlich nicht.
    Woher soll Java denn wissen, ob du jetzt das Datepicker Main oder das Timepicker Main meinst?


    Diese Notation sagt eigentlich Folgendes aus:
    <Sichtbarkeit> class <Name> extends <Elternklasse> (implements <Interface>[,<Interface>,<Interface>...])
    Also deine öffentlich sichtbare Klasse Main erbt von Activity.


    Hier hast du nun schon mal zwei weitere Folgeprobleme.
    1) Du definierst zwei öffentlich sichtbare Klassen in einer Datei. Das ist unschön. Wenn jetzt jemand 'MainActivity' einbinden möchte, muss er wissen, dass diese in der Main.java liegt. Das wird er aber nicht wissen. Deshalb möchte das System, dass du es in eine eigene Datei packst.
    2) Jeder sichtbare Screen deiner App hat jeweils nur eine Activity. Um beide Elemente auf einem Screen zu zeigen, kannst du nicht einfach die Activity Klassen untereinander weg einfügen.
    Du musst vielmehr die anzeigerelevanten Elemente aus beiden Main heraussuchen und in die neue Activity passend einfügen.


    Hast du einmal die Android Trainings durchgearbeitet?

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • +ähm+
    Das ist Basic. Das wrappt aus deinem Basic Code irgendwas für Android.
    Das ist wunderbar bei den gelisteten Teilbereichen, wenn man denn Basic kann.


    Es wird die Hölle auf Erden oder einfach nicht machbar, wenn du etwas Anderes möchtest als das dort Gelistete.


    Auch wenn ich die Krise bekomme etliche Programmiersprachen können zu müssen: nativ ist meiner Erfahrung nach immer besser als derartige 'Universallösungen'.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!