Hafte ich für meine App?

  • 27 Antworten
  • Letztes Antwortdatum
S

skywalker22

Neues Mitglied
0
Hallo,

ich wollte eine Kalenderapp im Google Play Store anbieten und dort Werbung drauf schalten.

Meine Frage ist:

Inwiefern bin ich dann für diese App verantwortlich? Wenn z. B. Kalendertermine nicht richtig angezeigt werden oder verloren gehen, welcher Schaden entsteht dann höchstens? Bin ich dann dafür verantwortlich, wenn meine App nicht richtig programmiert ist?
 
Inwiefern bin ich dann für diese App verantwortlich?

Du bist immer für dein App-Produkt zu 100 % rechtlich verantwortlich - denn Google ist nur dein Händler und die InkassoInstanz.
Dadurch haftest Du - bei einem Einzelunternehmen/Privatperson - auch mit deinem persönlichem Vermögen.

Deshalb solltest Du auch ausführliche Geschäftsbedingungen mit einer ladungsfähigen Adresse veröffentlichen.
Das ist mittlerweile eine Pflichtveranstaltung.
Weiterhin - da du mit persönlichen Daten arbeitest ( Calendar-Klasse) benötigst du noch eine Datenschutzrichtlinie nach DSVGO und GDPR -> Auch Pflicht.

Hat man nicht die finanziellen Mittel, evt. einer Schadensersatzforderung (egal ob begründet oder nicht ) anwaltlich entgegenzuwirken - müsste man sich die Veröffentlichung nochmal durch den Kopf gehen lassen.



Werbung drauf schalten.
Du bist in dem Moment gewerblicher Anbieter einer Werbefläche (Publisher) und "verkaufst" sie somit an AdMob.
Google erwartet dann von Dir monatlich eine steuerlich korrekte Rechnung über die ermittelten Erträge.
(ggf. mit gültiger Umsatzsteuer)

Somit bist Du auch hier für die ordnungsgemäße Versteuerung in deinem Heimatland verantwortlich und haftbar.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Christian1297, Cheep-Cheep und Lommel
Okay.

Drei Fragen hätte ich noch:

  1. Was ist, wenn meine App richtig programmiert wurde und es nun vom Gerät (bzw. Betriebssystem) abhängt, ob die App richtig läuft? Ich habe in meiner App die Erfahrung gemacht, dass sie im Emulator sehr gut läuft, auf einigen Android Geräten dagegen nicht, z. B. dass bei einer Ansicht die Termine nicht angezeigt werden. Und das liegt auf keinen Fall an einem Programmierfehler meinerseits, sondern an Android selbst.
  2. Was ist, wenn ich beim Starten der App ein Popup erstelle, dass jeder Nutzer akzeptieren muss, wo drauf steht, dass ich nicht für meine App hafte? Wäre das rechtskräftig?
  3. Wie müssten die Geschäftsbedingungen oder das Popup aussehen, dass ich nicht für meine App hafte?
Ach, dann kann ich es mir auch sparen, Apps zu programmieren und darauf Werbung zu schalten. Oder ich programmiere einfach ein Spiel, das ist dann nicht so verantwortlich...
 
Zuletzt bearbeitet:
Hallo,

das kann kein Layoutfehler sein :)

Ich habe folgendes Modul verwendet:

GitHub - juliome10/DoubleViewPager: Horizontal + Vertical ViewPager

Wenn ich ein neues Intent öffne und zurück zur Ansicht gehe, kommt es vor, dass in einer einzigen horizontalen Ansicht des ViewPagers keine Daten sind (in den restlichen horizontalen Ansichten schon). Keine Ahnung wieso... Sonst funktioniert es. War bisher nur ein Bug, der einmalig auftrat und dann wieder nicht mehr.

Hätte jemand Lust meine App zu vermarkten, sodass ich sie an jemanden verkaufe, ohne dass ich Verantwortung dafür tragen muss? :D Ich kann mir gut vorstellen, dass eine Kalenderapp häufig genutzt wird.

Noch eine Frage:

Was ist, wenn ich nun mit Vermögen haften muss? Bin ich dann für immer pleite? Oder gilt der Vermögensschaden nur für so viel wie ich zum jetzigen Zeitpunkt besitze?
 
Zuletzt bearbeitet:
  1. Was ist, wenn meine App richtig programmiert wurde und es nun vom Gerät (bzw. Betriebssystem) abhängt, ob die App richtig läuft? Ich habe in meiner App die Erfahrung gemacht, dass sie im Emulator sehr gut läuft, auf einigen Android Geräten dagegen nicht, z. B. dass bei einer Ansicht die Termine nicht angezeigt werden. Und das liegt auf keinen Fall an einem Programmierfehler meinerseits, sondern an Android selbst.

Ich möchte Dir nicht zu Nahe treten, aber Layoutfehler sind Entwicklerfehler, nicht das des Betriebssystemes. :)
Layouts müssen innerhalb des Sources dem System angepasst werden - das ist "Standard" und ja, eine schei*** Arbeit.

Bei systemnahem Funktionen kann das mal vorkommen - aber die hast du ja nicht .

  1. Was ist, wenn ich beim Starten der App ein Popup erstelle, dass jeder Nutzer akzeptieren muss, wo drauf steht, dass ich nicht für meine App hafte? Wäre das rechtskräftig?
  2. Wie müssten die Geschäftsbedingungen oder das Popup aussehen, dass ich nicht für meine App hafte?
Schön wärs :)

Gegenfrage : Würdest du ein Fahrzeug benutzen bei dem die Meldung
"Das KFZ kann bei der Benutzung auseinander fallen, wir haften nicht " angezeigt wird ?

Ergo nein, das kannst Du nicht damit "umgehen", Du musst dich schon an die Rechtslage eines Produkthersteller halten .....
Beiträge automatisch zusammengeführt:



das kann kein Layoutfehler sein
Öhm , bei einem Repo , welches 10 Jahre alt , also für Android 5 ausgerichtet ist ?
Welches noch die veralteten v4 Abhängigkeiten benutzt und nicht die Aktuellen ?

DoubleViewPager/DoubleViewPager/build.gradle at master · juliome10/DoubleViewPager

Natürlich bekommst du da LayoutFehler .... völlig logisch :)
Das kann nicht auf allen Devices laufen - never


Hätte jemand Lust meine App zu vermarkten, sodass ich sie an jemanden verkaufe, ohne dass ich Verantwortung dafür tragen muss?
Da müsstest du rein programmtechnisch noch ne Schüppe drauflegen - siehe Abhängigkeiten.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Cheep-Cheep
Okay, ich werde es mit viewpager2 implementieren. Mal schauen ob das so einfach geht...

Ich dachte Android wäre abwärtskompatibel...
 
skywalker22 schrieb:
Ich dachte Android wäre abwärtskompatibel...
Zum Teil ja. Ab er wenn du zb eine App für Android 13 baust Target 33 und alte Methoden von Android 5 benutzt kann es nicht gehen.
Code:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) // ist zb  android 11

Deshalb prüft ein Programmierer zur Laufzeit unter welcher API Nummer die App läuft und benutzt dann neue Möglichkeiten und keine alten .

Du wirst auch schon oft gesehen haben das Methoden Funktionen ab einer bestimmten API Deprecated sind.

Es ist immer vorher wichtig zu überlegen für welche SDK man entwickeln will und was die min SDK sein soll.

Android 13 und 5 passen nicht zusammen wird immer ärger machen.



Android ist ständig im Wandel da muss man immer am Ball bleiben.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00
Leider habe ich keine Bibliothek für einen "doubleviewpager" für AndroidX gefunden. Also dass man vertikal und horizontal scrollt. Falls jemand so etwas kennt, dann kann er mir gerne Bescheid sagen. :)

Könnte ich auch selbst umprogrammieren, bin aber zu faul dazu. Zudem, weiß ich (noch) nicht wie.
 
Zuletzt bearbeitet:
Leider habe ich keine Bibliothek für einen "doubleviewpager" für AndroidX gefunden
Warum soll denn Einer eine Bibliothek dazu schreiben, wenn das bereits als Standard verfügbar ist ?
Das ist ein stink normaler Pager mit RecycleView Content, der nach ParentView - height snapped.

PagerSnapHelper | Android Developers
 
Zuletzt bearbeitet:
Naja, nicht ganz. Der DoubleViewPager kann gleichzeitig horizontal und vertikal (z. B. 3 x 1000 oder 5 x 200) . Das kann ViewPager2 nicht.

Ich hab drei Ansichten: Tagesansicht, Wochenansicht und Monatsansicht. Also quasi 3 x n.

Es sei denn ich mache drei mal ViewPager2 und lasse z. B. für die Tagesansicht die Wochen- und Monatsansicht verschwinden, für die Wochenansicht die Tages- und Monatsansicht verschwinden und für die Monatsansicht die Tages- und Wochenansicht verschwinden. Weiß nicht, ob das Sinn macht.

ViewPager2 kann leider nur in eine Richtung, nämlich nur horizontal oder vertikal.
 
Dann verstehst du etwas Gundsätzliches nicht

Und das haben wir dir schon mal vor einem Jahr erklärt
CalendarContract langsam (Abrufen von Kalenderdaten) (Android App Entwicklung)




Der Pager ist NUR für deine horizontal View-Orientation zuständig . (unbegrenzt)
Der RecyclerView (mit Adapter) für deine vertikalen .. (auch unbegrenzt)
Und damit er snapped , nimmst Du den SnapHelper.

Hier mal aus der Hüfte geschossen (Vertical - ungetestet)
Code:
 RecyclerView recyclerView = findViewById(R.id.recyclerView);

        // Vertikales Layout
        LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        recyclerView.setLayoutManager(layoutManager);

        // SnapHelper hinzufügen
        SnapHelper snapHelper = new PagerSnapHelper();
        snapHelper.attachToRecyclerView(recyclerView);

        // Daten füllen
        List<String> data = new ArrayList<>();
        for (int i = 1; i <= 20; i++) {
            data.add("Item " + i);
        }

        // Adapter setzen
        recyclerView.setAdapter(new MyAdapter(data));


Code:
// Adapter-Klasse
    static class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
        private final List<String> data;

        MyAdapter(List<String> data) {
            this.data = data;
        }

        @NonNull
        @Override
        public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
            return new MyViewHolder(view);
        }

        @Override
        public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
            holder.textView.setText(data.get(position));
        }

        @Override
        public int getItemCount() {
            return data.size();
        }

        // ViewHolder-Klasse
        static class MyViewHolder extends RecyclerView.ViewHolder {
            TextView textView;

            MyViewHolder(@NonNull View itemView) {
                super(itemView);
                textView = itemView.findViewById(android.R.id.text1);
            }
        }
    }

Nun dürfte das aber jetzt gut sein , ein drittes Mal werden wir das nicht tun.
 
Zuletzt bearbeitet:
Hallo,

kannst du nochmal erläutern, wie ich das jetzt in der App implementieren soll?

Ich hab ein Screenshot meiner App gemacht.

Unten hat man die drei Ansichten "Tag", "Monat" und "Woche". Wenn man da drauf klickt, kriegt man eine völlig andere Ansicht. Ich kann außerdem von nach rechts nach links wischen, um von der "Tag"-Ansicht zur "Wochen-Ansicht" zu gelangen. Wenn ich nochmal nach links wische, kommt die "Monats-Ansicht".

Dann kann ich noch von oben nach unten oder unten nach oben scrollen. Damit wird der Tag/die Woche/der Monat um eins nach vorne, bzw. hinten geschoben.

Naja, das erledigt alles das Modul doubleviewpager.

RecyclerView ist doch eher etwas für Listen, oder irre ich mich?

Naja und mein Problem ist, dass manchmal (sehr selten) keine Termine bei einer Ansicht angezeigt werden. Wie du bereits gesagt hast, ist das Modul veraltet.
 

Anhänge

  • Bildschirmfoto 2025-01-04 um 17.26.13.png
    Bildschirmfoto 2025-01-04 um 17.26.13.png
    25,8 KB · Aufrufe: 15
Zuletzt bearbeitet:
RecyclerView ist doch eher etwas für Listen, oder irre ich mich?
Und was ist eine Liste ? ein verticaler ScrollView mit Items, nichts Weiteres ...

Was Anderes macht deine Bibliothek auch nicht - nur dass ihm vor 10 jahren kein RecyclerView zur Verfügung stand und er es mit einen ViewGroup umsetzen musste.
DoubleViewPager/DoubleViewPager/src/main/java/com/emoiluj/doubleviewpager/VerticalViewPager.java at master · juliome10/DoubleViewPager

Er hat dann aufwendig die items berechnen müssen und einen Beschleunigungswert der Touchs abfangen müssen .
(Velocity)
Alles das, was eine RecyclerView schon von Hause aus kann.

Er hat aber in seine Berechnungen nur Android 5 berücksichtigen können.

Da gabs noch keine Edges, da gabs noch keine Notches , da gabs auch noch keine Gestern , keine Insets und und und
Soviel zu "Layoutfehler"
 
Zuletzt bearbeitet:
Okay, danke, ich werde versuchen es umzusetzen.
 
Bevor du voller Motivation ans Werk gehst :
Zwei kleine Anmerkung :

Könnte ich auch selbst umprogrammieren, bin aber zu faul dazu.
Aber bitte nicht wieder nach einem Jahr mit der gleiche Frage zum dritten Male aufschlagen - Danke


Hätte jemand Lust meine App zu vermarkten, sodass ich sie an jemanden verkaufe, ohne dass ich Verantwortung dafür tragen muss?
Kein Mensch wird dir diese Verantwortung abnehmen - da musst du schon selbst durch.
 
Zuletzt bearbeitet:
  • Danke
  • Haha
Reaktionen: kurhaus_ und jogimuc
skywalker22 schrieb:
Naja und mein Problem ist, dass manchmal (sehr selten) keine Termine bei einer Ansicht angezeigt werden. Wie du bereits gesagt hast, ist das Modul veraltet.
Das wird wohl daran liegen wie du deinen Pager mit Daten fütterst nicht am Layout. Also an dir als Programmierer.

Überlege doch mal wie mit was du dein Layout und Verhalten ohne deiner uralten Lib Heute bauen könntest.
Was sind zb die drei Button unten.
Du sagst du könntest es Umprogrammieren dann mache es doch, mit heutigen Möglichkeiten.
Hattest du auch schon vor fast einem Jahr gesagt. War wohl noch keine Zeit gewesen.

Vergesse die alte Lib mache es selber.
So eine alte App wir nie einer benutzen wollen. Du solltest schon mit der Zeit gehen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00
How to fix Scrolling issue of horizontal ViewPager2 and RecyclerView that are inside a vertical RecyclerView?

Hier ist das auch beschrieben, wie das aussehen könnte. Aber da steht:

that will 'behave like' a viewPager :/

Also eigentlich auch nicht die optimalste Lösung... Oder ist das eine gängige Möglichkeit einen ViewPager horizontal und vertikal zu implementieren?

So etwas gibt es für Android gar nicht, was ich will.

Und die Methoden setCurrentItem() und setCurrentVerticalItem() sind da auch nicht vorhanden... (bzw. beides gleichzeitig nicht)

Schade, dass es nicht einfach eine Library gibt, wo man einfach einen ViewPager2 erstellt und schon alles fertig hat und mit setCurrentItem() und setCurrentVerticalItem() einfach die Position setzt.

Ach egal, ich lasse die App einfach so wie sie ist und warte auf die Zukunft, dass es was besseres gibt ;-)
 
Zuletzt bearbeitet:
Ich fasse mal zusammen. Du wilsst einem Botton Viewpager also Tag Woche Monat.
Dann eine Geste vertikal was die Daten in der aktuellen Ansicht erneuert. Plus Minus ein Tag, Monat...

Das ist doch selber relativ einfach machbar.
 
  • Danke
Reaktionen: swa00
Und wie?

So wie swa00 mir es erklärt hat?

Wichtig wäre mir auch, dass man sowohl vertikal als auch horizontal swipen kann. Und dass die Ansichten "Scrollen", also dass es eine flüssige Bewegung zwischen den Ansichten (sowohl vertiakal als auch horizontal gibt), wobei das Horizontale Scrollen nicht so wichtig ist.

Also quasi, vertikal für die Datumänderung (+/- 1 Tag/Woche/Monat) und horizontal, um zwischen Tag, Woche und Monat hin- und herzuschalten.

So einfach kann es gar nicht sein, weil z. B. auf

How to fix Scrolling issue of horizontal ViewPager2 and RecyclerView that are inside a vertical RecyclerView?

es schon Probleme gibt, so wie es dargestellt ist.
 
Zuletzt bearbeitet:
skywalker22 schrieb:
So wie swa00 mir es erklärt hat?
Guter Weg.
Viewpager horizontal Tag Woche....
RecyclerView Tag weiter schalten also Daten actuellisiren.

Wenn du dir deine alte Lib anschaust, macht er da im Grunde genau das.
Du willst sie ja umschreiben setzt natürlich erstmal voraus das man verstanden hat was da gemacht wird.

Oder man machst sich eigene Gedanken um sein Ziel zu erreichen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00

Ähnliche Themen

E
Antworten
25
Aufrufe
1.881
evgkop
E
S
Antworten
2
Aufrufe
485
swa00
swa00
netfreak
  • netfreak
Antworten
10
Aufrufe
623
netfreak
netfreak
Zurück
Oben Unten