Beiträge von nono124

    Hallo
    Ja das Forum ist nicht gerade gut unterstützt von Seiten der Admins. Der einzige von dem Team der mal etwas macht ist @Kogoro-Christoper. Der Admin des Forums hat schon lange keinen Beitrag mehr geschrieben. Stimmt in anderen Foren kümmer sich die Admins und Mods besser und geben auch relativ schnell Antwort.
    Hier in den Forum kommt es mir so vor als ob nur ich hier antworten gebe.



    An Deiner stelle würde ich deine Fragen dann doch vielleicht in den von dir genannten Forum stellen. Da sind auch die meisten Entwickler verträten.


    Mir scheinen als ob die Admins hier keine Lust mehr haben. Habe ich auchfestgestellt.




    Zu deinem ersten Thread.
    1. OOP hat den Vorteil das du relativ einfach fertige Libs einbinden kannst brachst also nicht das Rad immer wieder neu erfinden. Ist auch übersichtlicher und durch die Kapselung auch Daten sicherer.



    2. Eine Main Methode gibt es in Android nicht wird nicht benutz. Es ist zwar Java aber du befindest dich auf einen Framework . Dieses Läuft in einer Java Maschine unter einer Linux Umgebung. Stelle dir das so vor Android ist ein Java Programm was aus vielen App besteht. Apps Besser Activitys werden von Android also den Framework mittels Intents gestartet. Dazu braucht es keine Main Methode. Du leitest eine Kasse von Aktivity ab und bist somit auf dem Framework. Was ja immer läuft, im sind alle Activitys die es gibt bekannt.



    3. Learning-by-doing OK aber Grundlagen sind wichtig ohne kommst du an die Grenzen siehst du ja bereits.



    3.1 da würde ich vielleicht ein Array machen dort die werte eintragen bzw berechnen und dann in einer Liste oder was auch immer an zeigen.
    Genauso geht das in einer ArryList mit einer Daten Klasse. Da sind wir wieder bei den Vorteilen von OOP.



    3.2 wenn du auf einen Klick reagieren willst wie währe es mit dem setzen eines Listner auf deine ListView. Dort kommt dann dein Klick an.



    Zu deinen anderen Fragen währe etwas Code von dir hilfreich um sinnvolle antworten zu geben.



    4. Activtys sind abgeschlossen Einheiten. Jede hat ihren eigenen LiveCycle. Beim zu rückkommen wird immer die onCreate Methode durchlaufen. Es wird auch eine neue Instanz Objekt deiner Klasse erstellt somit sind eigentlich alle Variablen in der Klasse Activty nicht mehr vorhanden. Ein Intent startet die Activity neu.




    >Generell will ich Dich nicht vom prozeduraler Programmierung abbringen. Diese Ansatz ist nur nicht mehr zeitgemäß.


    Das ist Ansicht Sache, aber du bist hier in Android das ist ein Java Framework was OOP ist. Java ist eine reine OOP Sprache. In Kotlin ist es zwar möglich auch Strukturiert zu programmieren. Nur bist du auf Android und da hast du keine andere Möglichkeit. Denn Kotlin erstellt denselben Bytecode wie Java.




    Wenn du konkrete Fragen mit Code stellst kann dir vielleicht auch einer helfen.


    PS 'größte' deutsche Community Wo liest du das?
    ok habe es gesehen stimmt ist wirklich etwas übertrieben .

    Zitat

    ist es möglich das eine Projekt abzurufen in dem ein Button gedrückt wird?

    das geht nicht eine app kann nicht einen Button von einer anderen App betätigen.


    Wenn du beide Projekte im Studio öffnest in unterschiedlichen Fenstern kannst du einfacher Kopieren.

    Hallo eigentlich ist das Verhalten der App nicht komisch sondern richtig.



    Du willst bestimmt eine neue Seite haben also eigentlich eine neue eigene Activity.
    Machst du aber nicht. Dafür wäre eine PreferenceActivity wohl besser geeignet.
    Als nur ein Fragment mittels den Fragment Manager einzubinden.


    leider ist die PreferenceActivity ab API 29 Deprecated.


    Schaue dir mal an wie das Studio eine Einstellungs App macht.
    Da wird das alles Über XML Dateien eingebunden.
    Auch bei den normalen Fragments hast du keinen Fragmentmanager mehr.

    Hallo
    Zum Grundverständs des Projektes ein paar Fragen.
    Wie ist das Ihr habt also alle eine eigene App gemacht. Eine mit dem Einkauf Zettel und eine mit dem dashboard.
    Wo und wie speichert ihr eure Daten?
    In einer DB oder in irgent welchen Dateien.
    Wenn DB in einer lokalen oder Server basierend.


    Wenn es eigene Apps sind muss jeder auch einen entsprechenden IntentFilter Anbieten, und auch Methoden die disen intent empfangen und verarbeiten können.


    Das über mehre Apps zu mache ist unsinn.
    Ein zu großer Aufwand würde ich sagen.





    Eigentlich macht man nicht verschiedene Apps sondern eine. Jeder hat das gleiche Projekt und arbeitest in seinem Teil. Dafür könnte zb. Github ein Repos. mit einer Organisation dienen, jeder hat sein eigenen Bunch in den er entwickelt. Der Master kann es dann zusammen führen und jeder kann es sich dann wider laden. So in etwa soltest ihr arbeiten.


    Wie ein Daten Austausch zwischen activtys geht hat euch Michael ja schon gesagt.


    Wie gesagt für ein gemainsames Projekt sollte ihr euch wiklich mit Git und ewntuel Github als Server Repository beschäftigen.I

    ActivityCompat.checkSelfPermission


    Ist auch falsch im Fragment du brauchst den Context der Activity und nicht die Klasse ActivityCompat. Ich meine die Instanz der activity. Das was dir due IDE vorschlägt und berichtigt ist falsch in diesem Fall.


    getActivity().checkSelfPermission


    Sollte gehen, beim Suchen mit findviewbyId ist es übrigens das selbe.


    Ein Methoden Aufruf ohne die Instanz geht nicht.


    Dein Fragment erbt nicht von Activity also ist die Methode nicht vorhanden und du brauchst den Context. Eine Variante den zubekommen weist du jetzt.

    Hallo du kannst keine Instanz einer Klasse im Bundle an die zweite Activityübergeben.


    Du kannst in der neuen Activity eine neue Instanz der Kasse erstellen nurist es dann eine andere (neue) Instanz und die Daten die du in der erstenAtivity eingeben hast sind weg.


    Ich würde das über eine Singelton Klasse lösen. Du kannst somit von beiden Activtys daraufzugreifen .
    Schaue dir das Prinzip von Singelton an.

    Zu der Frage warum es gefährlich sein kann die kompletten Zugangs Daten in apk zu Speichen.
    Eine apk ist mit einem Java dekomplier leicht zurück ui übersetzen. So mit kommt der jenige an deine Daten.


    Das php läuft auf dem Server und da ist es schiriger an deine Daten zu kommen. Für richtige Sicherheit gibt es Authentifizierungs Server. Application-Server.
    Der dann deine zugangsdaten zum ftp oder der MySQL zu verwaltet.


    Wenn es sich um Firmen Daten handelt würde ich von dem Prinzip die sqlite Datei auf dem Server hochzuladen abraten.
    Das ist früher oder später zum scheitern verurteilt.


    Das ist auch keine text datei. Sondern eine Datei in der die gesamte Datenbank enthalten ist. In der Datei sind alle Tabellen und Daten.


    Nur zur Info eine große DB wie MS SQL. Orakel oder auch MySQL speicherst das in verschieben proprietären Dateien da hast du keinen Einfluß drauf. Sqlite ist eine kleine Mini ein Datei DB. Da wird alles in einer Datei gespeichert.


    Du willst bestimmt auch nicht das jeder deine Daten die du in die DB geschrieben hast lesen und verändern kann.
    Genau das wäre bei dem Prinzip möglich.



    Als kostenlose Variante bitet sich mysql an.
    Dort kannst du alle User verwalten und ihnen geben was sie sehen dürfen. Diese Daten werden dann meistens im json Format an den Claint übermittelt.
    Willst du sie dann local speichern bietet sich eine locale sqlite an.
    Daten Austausch macht man üblicherweise im json Format. All das muss deine php scripte oder eine fertige Rest Api machen.


    Ist schon eine recht große Herausforderung für einen Java neuling.


    Viel Erfolg.

    Theoretisch ist das machbar die DB der lokalen sqlite auf einen Server hochzuladen und zusprechen. Nur bei ftp müsstest du auch die zugangsdaten in der App Speichen nicht gut. oder deinen ftp server ohne log in machen.
    Ich würde da auf jedenfalls ein php Script benutzen imm das zuhandeln. Wirst du für deine versions Kontrolle auch brauchen.



    Frage warum willst du nicht bei firebase bleiben? Du hast dort auch einen storage in dem du die Bilder ablegen kannst.
    An wieviele Zugriffe tragic und speicher hast du gedacht?

    Zitat

    HTTPS sagt mir nur soviel das sich damit sicher eine Website darstellen lässt... Also einfach gesagt ist es eine verschlüsselungsform?

    Ja das s sagt das es verschlüsselt gesendet wird. Das http Protokoll beinhaltet noch viel mehr.
    Deine Aussage stimmt so nicht.

    Hallo
    Ich denke es ist nicht so wichtig wie du die SQLite DB anstichst ob nun direkt oder mit Room, sondern das dir das Gundverständnis etwas fehlt.



    Als erstes solltest du dich mal etwas mit dem Thema Datenbanken besonders Relationale Datendanken (SQLite) auseinander setzen.
    Dabei spielt es auch keine Rolle auf welche System die DB läuft. Relationale DB werden in Tabellen gespeichert nicht on Objekten wie es bei Firebase ist.
    Da wird im allgemeinen nicht alles in einer Tabelle gespeichert sondern in mehreren die dann in Beziehung zueinander sind. 1-n , n-1, 1-1 …
    Schon bei einer einfachen Adressen Verwaltung ist nicht alle in einer Tabelle. Bestellt der Kunde dann auch noch was ist das ja ein auftrat und da wird dann auch wieder eine Tabelle sein.
    Das Thema Datenbanken und den auf bau solltest du die wirklich erst mal anschauen.



    Zu dem Thema das mit FTP machen zu wollen würde ich auch nicht machen . Da müsstest du auch die Zugangsdaten komplett in der APP speichern.



    Für das ganze Thema DB wirst du auch nicht um das Thema SQL drum rum kommen.
    Auch da sollest du dir erst mal die Grundlagen ansehen dabei wirst du auch verstehen wie ein DB aufgebaut wird und welche Struktur für dich sinn voll ist.



    Frage zum Thema Ftp /http,https.
    Wie hast du dir es den vorgestellt mittels Ftp auf deine MySQL Datenbank auf dem Server zuzugreifen?



    Eigentlich macht man das über Http Get und Post Befehle. Auf dem Server läuft meistens ein PHP Script was die Kommunikation zwischen der App und der MySQL mittels Http,Https steuert.
    Dort werden auch die Zugangsdaten der MySql gehalten. Auch hier auf dem Server und am besten gleich in deiner DB sollte auch die User Verwaltung stattfinden.
    Das müsstest du auch selber schreiben oder fertige Systeme benutzen Bz. ein REST System.