Ideen für ein mittel großes Android Projekt

MisterBu

Bekanntes Mitglied
Guten Tag,
bin auf der Suche nach einer Idee für ein mittel großes Android Projekt.
Was ist bisher erstellt habe, ist eine GPS Tracker, der per ForegroundService Trackpunkte an einen Webservice schickt.
Nun möchte ich mich an ein eine Stufe größeres Projekt wagen.
Allein mir fehlt eine zündende Idee.
Könnte meine Adressenverwaltung auf Android erweitern. Aber davon bin ich nicht wirklich begeistert.
Vielleicht hat ja einer von Euch eine bessere Idee? Möglicherweise findet sich sogar jemand der die Idee in Teamwork umsetzen möchte?
Gruß Christian
 
Normalerweise hat man erst die Idee und prüft dann die Umsetzbarkeit.
Was mir aber völlig unklar ist: Was ist "ein mittel großes Android Projekt"? Wie spezifiziert man das? Wenn ein Projektteam 10 bis 50 Mitarbeiter hat? Oder evtl. ein Budget von 1 Mio €? Wie kommst du darauf, dass du qualifiziert bist, "ein mittel großes Android Projekt" zu initiieren?
Ich finde, dass sollte zuerst klargestellt werden. Dann wäre noch das Thema maßgeblich. Wo liegen die Interessen? Wenn das Thema überhaupt nicht von Interesse ist, dann verliert das ganze Team die Motivation. Daran könnte das Projekt schnell scheitern. So könnte man die Auswahl einschränken. Natürlich gibt es noch mehr Faktoren: Finanzierbarkeit, Fertigstellungstermin, Gewinnerwartung, Lizenzierung, ...
Wenn du diese, und mehr, Kriterien zusammenfasst, dann kannst du evtl. mögliche Projekte identifizieren.
 
Ein Projekt nur um des Programmieren willens ist immer so eine Sache. Anders herum – ich will ein Problem lösen und schreibe dafür ein Programm – ist sinnvoller und auch der Motivation zuträglicher.

Wenn du dich einfach nur austoben willst: Es gibt bestimmt das ein oder andere Open-Source-Projekt, das sich über Mitarbeit freut.
 
Hallo die Idee ist vieleicht nicht schlecht. Habe die apk mal installiert.
Erstens finde ich das Design und User Oberfläche nicht gelungen. Optisch macht das für mich keinen guten Eindruck.
Hier ein Bild.
 

Anhänge

  • Screenshot_20250626_110313_BuForth.jpg
    Screenshot_20250626_110313_BuForth.jpg
    139,6 KB · Aufrufe: 0
Zuletzt bearbeitet von einem Moderator:
Habe mir jetzt auch mal den Quellcode deiner App angesehen nur überflogen.

Ich stelle fest das du noch einige alte Techniken benutzt. Du hast sicherlich ein Template benutz was Fragmente und Navigation component nutzt. Aber das nutzt in deiner App nicht. Du Arbeitest immer noch mit Activitys und Intents.
Auch hast du in Gradle das Viewbinding eingeschaltet was du wiederum auch nicht nutzt.


Auch deine Layouts sind ja alles als Modern alles nur in Linearlayout.

Du solltest dir mal das Constraintlayout anschauen. Und auch mit Fragmenten arbeiten.
Der User will heute ja Gesten benutzen Swipen und nicht Button benutzen. Tipp Viewpager.
 
Hallo Jw456,
joh, Kritik ist berechtigt. Bin halt selbst schon älter und habe erste Berührungen mit Android schon vor Jahren gehabt.
Soviel zur Ausrede. 😎
Nun zu einem Kritikpunkt. "Optisch macht das für mich keinen guten Eindruck"
Wie sehe denn Deiner Meinung nach ein besseres Design aus?
Übrigens Danke das Du Dir die Mühe gemacht hast das mal zu testen.
Gruß Christian
 
Design dann schaue dir doch mal die Standart Kalender App an. Zb von einem Samsung Handy. Nicht nur das Design sondern auch die Bedienung.

Interessant könnte hier auch der Reminder sein.

Oder du schaust dir einige Kalender App im App Store an. Besonders würde ich hier auch ein Augenmerk auf die Bedingung und Menü Führung legen.

Dein Desing und Bedienungs Stiel schaut nach Zeiten von Android 2.xxx aus.
 
Zuletzt bearbeitet:
Habe mal bei Google Kalender geschaut. Hmh, so schlecht gefällt mir mein Layout auch nicht. 😎
Ist halt Anders und auch altbacken, aber es funktioniert.
Immerhin habe ich jetzt mal eingebaut, das Wischen nach rechts bzw links um einen Monat nach vorne bzw zurück blättert.
Funktioniert aber leider nur halb. Will sagen auf den einzelnen Tagen gar nicht, sondern nur im oberen Teil des Views. :-(
So weit so schlecht.
Hat jemand eine Idee warum das Wischen in der unteren Hälfte nicht funktioniert?
Gruß Christian aus Bochum aka MisterBu
 
Hat jemand eine Idee warum das Wischen in der unteren Hälfte nicht funktioniert?
Dazu müsste man wissen sehen wie du das realisiert hast.
Auf welche View hast du denn den Gesten Leistner gesetzt?

Design
Erstens alles so in die Ecke geklatscht.
Das Jahr an den Button geklebt der Monat genauso. Es ist nicht sofort erkennbar was man mit den plus minus Botton verändert. Das geht besser.
Auch bei den Listen Darstellung ist noch viel Luft nach oben. Aber ok das ist deine Meinung.

In deiner App nutzt du mal ein fertiges Datums Widget. Das ist super das macht was her.
 
Zuletzt bearbeitet:
Hallo Jw456,
habe den aktuellen Quelltext unter https://myoggradio.eu/android veröffentlich.
Das Geschehen spielt sich in der MainActivity ab.
Habe einen OnTouchListener eingebaut, der an einen GestureDetector weiterleitet.
Mir ist unklar auf welchem View der OnTouchListener hinzuzufügen ist.
Auf dem kalender genannten View funktioniert es gar nicht.
Das derzeitige Szenario hat den main-view benutzt.
Gruß Christian aus Bochum aka MisterBu
 
Du hast das Interfase in der Klasse implementiert .
Java:
public class MainActivity extends AppCompatActivity implements View.OnClickListener , View.OnTouchListener , GestureDetector.OnGestureListener

main_view.setOnTouchListener(this);

Also wirkt es auf den Bereich der Activity . Aber nur auf Bereiche wo du keinen andern Listener hast.
Auf dein Grid Layout nicht. Da hast du ja einen onClick.
Die Button sicherlich auch nicht.

Benutze doch das Widget da hast du doch alles.
 
Zuletzt bearbeitet:
Hallo Jw456,
ok, das erklärt es. :-( Auch wenn es wenig hilft.
das Standard Widget gefällt mir nicht.
Hauptsächlich wegen eines Punktes.
Bei meiner GUI sieht man auf den ersten Blick wieviele Termine man an einem Tag hat. Ist farblich gekennzeichnet.
Das fehlt mir bei dem Standard Widget.
Übrigens nochmal Danke das Du Dir die Mühe machst. Ist nicht selbstverständlich.
Gruß Christian aus Bochum aka MisterBu
 
hir etwas wie man es lösen könnte

suchen nach: datepicker android tage markiren




Übersicht mit KI

Um bestimmte Tage in einem Android DatePicker zu markieren, kann man einen benutzerdefinierten Hintergrund für die einzelnen Tage im Kalender setzen. Dies kann durch die Verwendung von benutzerdefinierten Drawables oder Styles erreicht werden, die auf Basis des ausgewählten Datums angewendet werden.


Hier ist eine detaillierte Erklärung, wie das umgesetzt werden kann:


1. Erstellung eines benutzerdefinierten Drawables:


  • Zuerst wird ein benutzerdefiniertes Drawable erstellt, das als Hintergrund für die markierten Tage dienen soll. Dieses Drawable kann beispielsweise ein Kreis oder ein Rechteck sein, das mit einer bestimmten Farbe gefüllt ist.
  • Dieses Drawable kann in einer XML-Datei definiert werden, z.B. res/drawable/highlighted_date_background.xml:
Code

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FF0000" /> <!- Roter Hintergrund -->
</shape>
2. Implementierung eines OnDateChangeListener:


  • Ein OnDateChangeListener wird benötigt, um auf Datumsauswahländerungen zu reagieren.
  • In der onDateSet-Methode des Listeners kann dann das Hintergrund-Drawable des ausgewählten Tages aktualisiert werden.
Java

DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// Datum wurde ausgewählt, hier kann das Hintergrund-Drawable aktualisiert werden
Calendar selectedDate = Calendar.getInstance();
selectedDate.set(year, month, dayOfMonth);
// ...Logik zum Aktualisieren des Hintergrund-Drawables...
}
};
3. Anwendung des Drawables:


  • Innerhalb der onDateSet-Methode muss das Hintergrund-Drawable des entsprechenden Tages im DatePicker aktualisiert werden. Dies kann durch direkte Manipulation des DatePicker oder durch das Erstellen einer benutzerdefinierten Ansicht für den Kalender erfolgen.
  • Es ist wichtig zu beachten, dass der Zugriff auf die internen Ansichten des DatePicker nicht immer einfach ist und von Android-Version zu Android-Version variieren kann. Es kann daher notwendig sein, benutzerdefinierte Ansichten zu verwenden, um die gewünschte Funktionalität zu erreichen.
  • Beispielsweise kann man ein benutzerdefiniertes CalendarView verwenden, das von android.widget.CalendarView erbt und die onDraw-Methode überschreibt, um die Hintergrundfarben basierend auf dem ausgewählten Datum zu setzen.
Beispiel für die Anwendung eines benutzerdefinierten Drawables:


Java

DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
Calendar selectedDate = Calendar.getInstance();
selectedDate.set(year, month, dayOfMonth);

// Hier wird das Hintergrund-Drawable des ausgewählten Tages im DatePicker aktualisiert
// Diese Logik muss an die spezifische Implementierung des DatePickers angepasst werden.
// Ein möglicher Ansatz:
// 1. Finde die entsprechende Zelle im DatePicker (z.B. mit der Methode getChildAt() und weiteren Berechnungen)
// 2. Setze das Hintergrund-Drawable auf diese Zelle.
// Beispiel (vereinfacht):
// View cell = getDatePickerCell(view, year, month, dayOfMonth);
// if (cell != null) {
// cell.setBackground(getResources().getDrawable(R.drawable.highlighted_date_background));
// }
}
};
Hinweis:


  • Die genaue Implementierung zum Markieren von Tagen hängt stark von der verwendeten DatePicker-Implementierung ab. Es ist wichtig, die spezifische Android-Version und die verwendete UI-Bibliothek (z.B. Material Components) zu berücksichtigen.
  • Man kann auch Bibliothek wie Material Components für Android verwenden, die bereits eingebaute Funktionalitäten für Datumsauswahl und -formatierung bieten und das Erstellen benutzerdefinierter Markierungen erleichtern. Android Developers bietet auch Beispiele und Anleitungen dazu.
 
Schaue dir das mal an da siehst du wie du den Touch richtig aus wertet damit auch ein Swipe entsteht.
Alte pos neue pos vergleichen.

 
Der Thread heißt ja "Ideen für ein mittelgroßes Androidprojekt"...ich hätte da eine Idee.

Vorweg: Ich habe so etwas schon seit längerem auf der Schaffensliste...aber wenn ich damit anfange, werden bereits begonnene Projekte nicht mehr fertig. Daher stelle ich es mal hier zur Diskussion, wenn MisterBu unbedingt gerne Arbeit hätte...

Zuerstmal das Problem: Wir bestellen Bauteile (bei Mouser, aber auch bei Digikey, Farnell, usw...), und es kommt ein großer Sack oder Karton mit lauter kleinen Tütchen die jeweils mit einem kleinen Aufkleber beschriftet sind. Dieser Aufkleber enthält einige verschiedene Barcodes.

Jetzt will man wissen, ob die Lieferung vollständig ist. Und schaut sich jedes Tütchen an, ob man dessen Teilenummer auch auf dem Lieferschein wiederfindet. Die Teilenummer ist als Barcode sowohl auf dem Lieferscheint als auch auf dem Tütchen.

Was ich mit der App jetzt gerne machen würde:
-Einmal den Lieferschein (der aus mehreren Seiten in Papierform besteht) fotographieren.
-->Die App soll dabei sämtliche Teilenummern sammeln

-Jetzt einmal jedes Tütchen von der Kamera angucken lassen.
-->Die App soll nun prüfen, ob jede gefundene Seriennummer auch im Lieferschein zu finden war und auf Vollständigkeit in beide Richtungen prüfen.

Folgende Randbedingung hätte ich noch gerne erfüllt:
-Bitte als Gradle-Projekt aufziehen. Das war hier nur ein sehr, sehr kurzer Abriss und es würde in Zukunft noch jede Menge weiterer Anforderungen geben (Export als Excelliste, Bestände von bereits vorhanden Teilen in eine Datenbank schreiben, usw.), und so könnte man das sehr leicht ergänzen und ist nicht von irgendeiner bestimmten IDE abhängig oder muß Bibliotheken lokal installieren, usw.
-Das Barcodescannen in zwei Modi: Wenn mehrere Barcodes im Kamerabild sind:
Modus 1: Alle Barcodes scannen.
Modus 2: Nur einen Barcode (z.B. mit einem Fadenkreuz ausgewählten) scannen.
-Das Projekt mit einer Lizenz, die die Weiterentwicklung und Neuveröffentlichung erlaubt.

Dir wären so einige Leute dankbar für so ein Projekt...
 
@Jw456
jetzt hast Du es geschafft. 🙂 Werde mir den DatePicker in diesem Zusammenhang nochmal anschauen. Dauert aber etwas
Bin nicht der Schnellste.
@White_Fox
Habe mich mit der Kamera und der Möglichkeit Bilder zu erkennen noch nicht beschäftigt.
Wäre für mich Neuland. Aber das schreckt mich noch nicht ab.
Hoffe da gibt es eine Lib, die die Erkennung macht. Sonst wird es für mich zu kompliziert.
 
Ich hoffe du hast in den Video erkannt wie man einen swipe richtig auswertet.

Somit würde deine erster Versuch auch klappen .
 
Jetzt will man wissen, ob die Lieferung vollständig ist. Und schaut sich jedes Tütchen an, ob man dessen Teilenummer auch auf dem Lieferschein wiederfindet. Die Teilenummer ist als Barcode sowohl auf dem Lieferscheint als auch auf dem Tütchen.
Dazu würden mir paar Fragen einfallen. Welcher Barcode wird da verwendet 1D oder 2D?
Stimmt der Inhalt des Barcodes mit der Bestellnummer Teilenummer... des Lieferscheins überein?
Da für wären sicherlich Beispiele Fotos vom Barcode auf den Tütchen und Lieferschein nicht schlecht.
 
Zuletzt bearbeitet:
Dazu würden mir paar Fragen einfallen. Welcher Barcode wird da verwendet 1D oder 2D?
Die Tüten sehen (im Fall von Mouser) unter anderem so aus:

Andere Händler halten das aber anders...wie gesagt, deshalb sollte das Ganze möglichst einfach zu erweitern sein und nicht von der Maschine eines Entwicklers abhängen. Aber ich würde erstmal mit einem Händler anfangen, wenn das funktioniert ist schonmal ein Teil des Problems erschlagen.

Stimmt der Inhalt des Barcodes mit der Bestellnummer Teilenummer... des Lieferscheins überein?
Genau das soll die App ja herausfinden. Wie gesagt, die Herstellernummern oder Bestellnummern sind im Lieferschein auch als Barcode vorhanden, und dann kann man ja vergleichen was im Lieferschein steht und was man an Tüten präsentiert.

Hoffe da gibt es eine Lib, die die Erkennung macht. Sonst wird es für mich zu kompliziert.
Ich sag es mal so: Barcodes mit Kamera scannen ist ja schon lange nichts Exotisches mehr. Es gibt alle möglichen Barcodescannerapps und die Standardkamerapp von Android kann das ja auch. Es würde mich wundern wenn da jeder das Rad neu erfinden müßte.

Das wäre echt klasse, wenn es da mal ein Projekt gäbe was einen von dieser Scheißarbeit befreien würde...
 
OK das ist ein Beispiel.
Sinnvoll wäre gute Fotos die sich auch Scannen lassen und Fotos Lieferschein die von einer OCR erkannt werden können.
 
Ok vielleich schaue ich mir mal das Tehma an. Wenn Zeit ist. Oder der TE nimmt sich dem Tehma an. Für mich ist hiermit erstmal Schluss.
Eine gute nette App Idee ist es, könnte ich sogar selber gebrauchen im Beruf.
 
Zuletzt bearbeitet:
@White_Fox
Habe einfach mal angefangen.
Im allerersten Schritt wurde die CameraX Bibliothek eingebunden, um ein Preview zu sehen.
Der aktuelle Stand wird veröffentlicht auf https://myoggradio.eu/android als BarcodeScannerCompare.
Jetzt könnte ich Beispiele für Barcode Listen gebrauchen, damit ich mlkit Bibliothek einbinden und testen kann.
Gruß Christian aus Bochum aka MisterBu
 
@White_Fox
Eine erste Version ist fertig. Kann unter https://myoggradio.eu/android eingesehen werden.
Jetzt kann getestet, verbessert und Fehler behoben werden.
Gruß Christian aus Bochum aka MisterBu
Edit:
Die Bedienung ist einfach. Nach Start der App wird das Kamera Bild gezeigt.
Durch tippen auf das Bild wird nach Barcodes gescannt und man kommt zum Menu.
Die App pflegt zwei Listen mit Barcodes, die am Ende verglichen werden können.
 
Zuletzt bearbeitet:
Ich habe mal die apk auf dem Handy installiert.
Es kommt nur ein Schwätzer Bildschirm sonst nichts.
Ich finde in deinen Code auch nichts wo du du den user um die Erlaubnis fragst das die Cam benutzt wird.
 
Hallol Jw456,
man muss die Berechtigung händisch vergeben.
Dazu mit dem Finger lange auf das App Symbol drücken.
Dann App-Info und auf Berechtigungen gehen.
 
Ja aber du soltest in der App die Berechtigung vom User holen. Das ist schon seit android 6 so.
 
Zuletzt bearbeitet:
Mal eine Frage (hab noch nie eine Androidapp geschrieben): Wie testest ihr das? Installiert ihr das Programm auf einem richtigen Handy, oder gibt es einen Simulator dafür?

Nichtsdestotrotz hätte ich einen Vorschlag für die Menüstruktur. Anstatt gleich sofort die Kamera zu öffnen, wie wäre es mit einem Menü vorher, ungefähr so:

Code:
Main
-|Eingangsprüfung
--|Von Papierlieferschein

Das wären jetzt erstmal zwei Untermenüs mit jeweils einem Eintrag, aber wie gesagt, mir fällt noch jede Menge Dinge ein, wo Scannen und Vergleichen softwareseitig nur geringe Unterschiede, im praktischen Gebrauch aber einen Riesenunterschied machen.

Beispiel:
Anstatt eine Lieferung überprüfen, Inventur: Scanne einen Riesenhaufen Tüten und vergleiche mit Lagerbeständen oder sammle die Scanergebnisse in einer Excelliste, usw.

Oder:
Anstelle eines Papierlieferscheins soll mit einer bereits vorhandenen Excelliste verglichen werden. Ein CAD spuckt einem eine Teileliste aus, und ich will nun wissen ob alle Tütchen endlich beisammen sind (z.B. wg. Teillieferungen, oder weil manche Teile gekauft, manche bereits vorhanden sind, usw). Oder: Ich habe für zwei Projekte bestellt, und will aus einem großen Haufen nun die Tütchen mehreren Projekten zuordnen...

Wie gesagt, das sieht erstmal nach etwas sehr einfachem aus, ist aber so nützlich daß da gerne immer mehr hinzukommt.

Und nicht zuletzt ein großes Danke dafür, das hätte mir in den letzten Jahren so einige Arbeitsstunden erspart.
 
Joh, teste auch mit nem Handy. Für Fehler schreibe ich einen Log auf die SD Karte, da ich es noch nicht wirklich geschafft habe Logcat auszuwerten.
 
Habe das Projekt jetzt auch bei Sourceforge hochgeladen. Der aktuelle Stand kann mit folgendem Befehl geklont werden:
git clone git://git.code.sf.net/p/barcodescannercompare/code barcodescannercompare-code
Es ist jetzt auch die Abfrage nach der Permission eingebaut.
 
Habe doch noch mal zwei Fragen zur App. Können in einer Liste eigentlich doppelte Barcodes auftreten? Derzeit ist das ausgeschlossen.
Und sind Barcodes immer Zahlen?
 
Habe doch noch mal zwei Fragen zur App. Können in einer Liste eigentlich doppelte Barcodes auftreten? Derzeit ist das ausgeschlossen.
Und sind Barcodes immer Zahlen?

Die Frage ist, was für eine Codierung du verwendest / nutzt. Bei Strichcodes sind EAN-8, EAN-13, Code128 oder Code39 weit verbreitet.

Abhängig von der Codierung kannst Du dann unterschiedliche Dinge darstellen:
 
Ok, man kann also nicht ausschließen, das auch Buchstaben vorkommen. Danke an Konrad für die Info.
Bzgl Doppelte habe ich mal eine Kiste Mezzp Mix angeschaut. Auch doppelte sind nicht auszuschließen.
Habe die App dahingehend geändert.
 
Das können beliebige Zeichenketten sein. Ich habe leider noch keine Lieferscheine zum testen (ist aber schon in die Wege geleitet), ich würde allerdings auch nicht ausschließen daß das jeder Händler anders macht und andere Codierungen verwendet.
 
Habe das Projekt jetzt auch bei Sourceforge hochgeladen. Der aktuelle Stand kann mit folgendem Befehl geklont werden:
git clone git://git.code.sf.net/p/barcodescannercompare/code barcodescannercompare-code
Es ist jetzt auch die Abfrage nach der Permission eingebaut.
der Link geht bei mir leider nicht nicht.

wie ist die url möchte mich nicht Sourceforge anmelden
 
Zuletzt bearbeitet:
OK

Ich wollte eigentlich gleich ein neues Projekt mit den AS eignen Versioncontrol machen , so wie bei GitHub. Aber nagut dann eben über Umweg.
 
Habe einen weiteren Punkt der ToDo Liste abgearbeitet. Das ganze arbeitet jetzt mit einer SQLite Datenbank, so das nach Ende der Anwendung nicht immer alles verschwunden ist. Dafür darf man jetzt häufiger resetten.
Derzeit steht noch ein Punkt auf der Liste: "Verbesserung des User Interface"
Leider sehe ich mich dazu nicht wirklich imstande. Ist halt meine persönliche Schwäche.
Aber vielleicht mag sich ja jemand am Projekt dahingehend beteiligen?
Einen schreibenden Zugang auf das Sourceforge Repository kann ich einrichten, sofern derjenige bei Sourceforge registriert ist.
 

Zurück
Oben