Von der Suche nach einer Idee bis zur fertigen Bewerbung

Bild


Wahrscheinlich haben viele Leute darüber nachgedacht, wie sie ihr Wissen im fertigen Produkt verwirklichen können. Jemand mehr, jemand weniger Zeit dafür. Ich möchte der Community meine Erfahrungen und Visionen mitteilen, wie dies richtig gemacht werden kann, aber es funktioniert nicht immer.


Suche nach einer Idee


In dieser Phase müssen wir entscheiden, was wir schaffen werden.
Generieren Sie dazu Ideen, schreiben Sie sie auf (z. B. in Trello), überprüfen Sie die Konkurrenz - googeln Sie und durchsuchen Sie den Application Store.


Bild


Dann versuchen wir, unsere Fähigkeiten sowohl in Bezug auf Zeit, mögliche finanzielle Investitionen als auch nach dem erforderlichen Wissen nüchtern zu bewerten. Das heißt, Es wäre keine gute Idee, einen Eventbrite- oder Uber-Killer zu machen.


Forschung


Sie sind in qualitative und quantitative Bereiche wie Marktforschung, A / B-Tests, Analysen und Umfragen unterteilt. Um Ihre Idee auf der Ebene eines Heimprojekts zu testen, sind Umfragen am günstigsten.


Ich entschied mich für die Idee einer Erinnerung an eine Coup-Matratze, weil Ich schlafe selbst darauf, und das Kind wuchs aus dem Kinderbett heraus und zog auch in sein Bett.


In der Umfrage geht es hauptsächlich darum, die Frage richtig zu stellen, sie sollte keinen Hinweis enthalten oder voreingenommen sein. Am besten genau und prägnant.


Nicht wahr: Wie oft drehen Sie eine Matratze um?
Richtig: Drehen Sie die Matratze um?
Fragen Sie den Befragten niemals, ob er etwas verwenden wird: "Verwenden Sie die App, die an einen Umsturz der Matratze erinnert?"
In den meisten Fällen erhalten Sie eine falsch positive Antwort.


Befragte 10 Personen bei der Arbeit, 4 Personen gaben an, die Matratze umgedreht zu haben und sich nicht genau zu erinnern, wann sie das nächste Mal durchgeführt werden sollte und in welche Richtung sie gedreht werden sollte. Nicht das beste Ergebnis, aber 40% sind schon etwas. Ich entscheide mich zu tun.


Qualitative Forschung besteht aus


  • UX-Tests
    Am einfachsten und kostengünstigsten ist es, alle Bildschirme auf Papier zu skizzieren und in der Marvel-App oder, wenn Sie Erfahrung haben, in figma zu prototypisieren. Mit diesen Tools können Sie einen funktionierenden Prototyp der Anwendung ohne Programmierung erstellen, indem Sie die aktiven Bereiche des Bildschirms (Schaltflächen) hervorheben und beschreiben Bildschirm, der geöffnet werden sollte.


  • Kundenentwicklung
    Diese Methode zielt darauf ab, das Problem oder die Bedürfnisse des Kunden zu identifizieren, bevor die Entwicklung beginnt. Es besteht darin, die richtigen Fragebögen zusammenzustellen und Interviews durchzuführen.
    Diese Methode hilft, die Relevanz der Anwendung zu formulieren.



Um die Benutzeroberfläche zu prototypisieren, beschränkte ich mich darauf, Bildschirme auf Aufklebern zu skizzieren und sie in Staunen zu animieren. Danach bat er seinen Kollegen bei der Arbeit, über die Bildschirme zu rennen und seine Eindrücke zu teilen.


Beschreibung der Idee


Bild


Basierend auf den oben genannten Studien versuchen wir, die Fragen zu beantworten:


  • Welche Vorteile bringt die Anwendung?
    Hilft Menschen, die sich um ihre Gesundheit kümmern, eine Arbeitsmatratze länger zu benutzen.


  • Welche Probleme löst es?
    Erinnern Sie an einen Coup.
    Unauffällig erinnern.
    Verstehe, warum du dich umdrehen musst.
    Verstehe genau, wie man sich umdreht, nichts bricht und nicht gleichzeitig reißt.
    Verstehen Sie, wie Sie eine Matratze auswählen.
    Finden Sie heraus, wann die Matratze gewechselt werden muss (5-10 Jahre).
    So reinigen Sie die Matratze im Notfall (verschüttet, fleckig usw.).


  • In welchen Situationen wird es verwendet?
    Im Laden zeigt der Verkäufer, wie man umdreht.
    Sie möchten es zu Hause umdrehen.
    Bei der Arbeit müssen Sie regelmäßig umdrehen.
    Ein Notfall ist aufgetreten.


  • Entscheiden Sie sich für ein Minimum an Funktionen, die den Start ermöglichen

    MVP


Die Liste der Matratzen, eine Coup-Erinnerung, die Berechtigung zum Übertragen der Geschichte (die Matratze lebt länger als das Telefon), eine kurze Anweisung.


Implementierung


Hier möchte ich kurz auf die verwendeten Technologien eingehen.


Realm wurde aufgrund meiner langjährigen Bekanntschaft mit ihm als Datenbank ausgewählt, ebenso wie aufgrund der praktischen Funktionen wie dem Vorhandensein asynchroner Schreib- / Lesemethoden und der guten Leistung.


asynchrone Erfassung von Realm-Daten
public RealmResults<RealmModelMattress> getAllMattressAsync(){ realm = getRealm(); return realm.where(RealmModelMattress.class) .equalTo("deleted", false) .sort("id", Sort.ASCENDING) .findAllAsync(); } private Realm getRealm() { if (mConfig==null) { mConfig = new RealmConfiguration.Builder() .build(); } realm = mRealm.get(); if (realm == null) { try { realm = Realm.getInstance(mConfig); mRealm.set(realm); } catch (Exception e) { closeConnection(); Realm.deleteRealm(mConfig); realm = Realm.getInstance(mConfig); mRealm.set(realm); } } return realm; } 

Auch die einfache Anzeige von Daten in recyclerView, wenn sie sich ändern: Verbinden Sie einfach den RealmChangeListener:


Verbinden Sie RealmChangeListener
  private RealmChangeListener<RealmResults<RealmModelMattress>> realmChangeListener = data->{ refreshData(data); }; 

Um Elemente zu löschen, hat recyclerView ItemTouchHelper verwendet. Hier wird ausreichend ausführlich über seine Verwendung geschrieben.
Es reicht aus, eine Klasse zu erstellen, die ItemTouchHelper.SimpleCallback erweitert und die Aktionen beschreibt, die beim Wischen (onSwiped) oder Verschieben (onMove) ausgeführt werden sollen.
Und schließen Sie es an den Recycler an:


Verbinden Sie SwipeToDeleteCallback mit recyclerview
 rv = view.findViewById(R.id.recyclerViewMattress); rv.setLayoutManager(new LinearLayoutManager(context)); adapter = new MattressListAdapter(data, clickListener, getContext()); rv.setAdapter(adapter); ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new SwipeToDeleteCallback(adapter)); itemTouchHelper.attachToRecyclerView(rv); 

Lokale Benachrichtigungen über die Notwendigkeit, die Matratze umzudrehen, werden über den Benachrichtigungsmanager implementiert, da dies derzeit eine der korrektesten und von Google genehmigten Methoden zum Erstellen von Benachrichtigungen ist.


Benachrichtigung senden
 private void sendNotification(String title, String text, int id) { String DBEventIDTag= "Mattress" + id; int DBEventID = id; Intent intent = new Intent(getApplicationContext(), MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.putExtra(DBEventIDTag, DBEventID); PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0); NotificationManager notificationManager = (NotificationManager)getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel("default", "Default", NotificationManager.IMPORTANCE_DEFAULT); Objects.requireNonNull(notificationManager).createNotificationChannel(channel); } NotificationCompat.Builder notification = new NotificationCompat.Builder(getApplicationContext(), "default") .setContentTitle(title) .setContentText(text) .setContentIntent(pendingIntent) .setSmallIcon(R.mipmap.ic_launcher) .setAutoCancel(true); Objects.requireNonNull(notificationManager).notify(id, notification.build()); } 

Die Autorisierung des Antrags erfolgt auf zwei Arten:
Sie können Ihre E-Mail-Adresse angeben und ein Passwort eingeben. Das entsprechende Konto wird auf dem Server erstellt und die Daten aus der Anwendung über Matratzen und den Zeitpunkt der Revolution werden daran gebunden. Dies bietet die Möglichkeit, sie zu erhalten, indem Sie sich nach dem Wechseln des Telefons bei der Anwendung anmelden.


Die zweite Autorisierungsmethode: Facebook mit seiner API.
Um diese Methode zu implementieren, müssen Sie zunächst Ihre Anwendung auf Facebook registrieren und die Überprüfung des Zugriffstokens auf dem Server https://graph.facebook.com/me?fields=id&access_token=accToken implementieren, wobei id die Facebook- Benutzerkennung und accToken ist temporäres Zugriffstoken, das bestätigt, dass es sich tatsächlich um dieselbe Person handelt, die eine Autorisierungsanfrage gesendet hat.


Ergebnis veröffentlichen


Erstellen Sie ein Entwicklerkonto.
Wir zahlen einmalig eine Registrierungsgebühr von 25 USD.
Wir veröffentlichen die Anwendung Drehen Sie die Matratze um .
Wir bestimmen die Inhaltsbewertung, die Kosten und die Verteilung (die Länder, in denen die Anwendung verfügbar sein wird). Da die Anwendung für zwei Sprachen lokalisiert ist, erstellen wir zwei Beschreibungen in Russisch und Englisch sowie Screenshots.


Ich hoffe, es wird jemandem nützlich sein, sich nicht zu verirren und das Ziel zu erreichen.

Source: https://habr.com/ru/post/de472514/


All Articles