De la recherche d'une idée à une application terminée

image


Probablement, beaucoup de gens ont réfléchi à la façon de réaliser leurs connaissances dans le produit fini. Quelqu'un de plus, quelqu'un de moins de temps à y consacrer. Je veux partager avec la communauté mon expérience et ma vision de la façon de le faire correctement, mais cela ne fonctionne pas toujours.


Rechercher une idée


À ce stade, nous devons décider de ce que nous allons créer.
Pour ce faire, générez des idées, notez-les (par exemple, dans trello), faites un examen des concurrents - google et recherchez le magasin d'applications.


image


Ensuite, nous essayons d'évaluer sobrement nos capacités à la fois en termes de temps, d'investissements financiers possibles et en fonction des connaissances nécessaires. C'est-à-dire faire un tueur Eventbrite ou Uber ne serait pas une bonne idée.


La recherche


Ils sont divisés en qualitatifs et quantitatifs tels que des études de marché, des tests A / B, des analyses, des enquêtes. Pour tester votre idée au niveau d'un projet de maison, les sondages les plus abordables sont.


J'ai choisi l'idée d'un rappel d'un matelas de coup d'État, car Je dors dessus moi-même, et l'enfant a grandi hors du berceau et s'est également installé dans son lit.


Dans l'enquête, l'essentiel est de poser correctement la question, elle ne doit pas contenir d'indice ni être biaisée. De préférence précis et concis.


Ce n'est pas vrai: à quelle fréquence retournez-vous un matelas?
Vrai: retournez-vous le matelas?
Ne demandez jamais au répondant s'il va utiliser quoi que ce soit: "Utiliserez-vous l'application qui rappelle un renversement de matelas?"
Dans la plupart des cas, vous recevrez une réponse faussement positive.


Interrogé 10 personnes au travail, 4 personnes ont déclaré avoir retourné le matelas et ne se souvenaient pas exactement quand cela devait être fait la prochaine fois et dans quelle direction se tourner. Pas le meilleur résultat, mais 40%, c'est déjà quelque chose. Je décide de faire.


La recherche qualitative consiste en


  • Test UX
    Le moyen le plus simple et le plus abordable est d'esquisser tous les écrans sur papier et de les prototyper dans l'application marvel ou, si vous avez de l'expérience, dans figma - ces outils vous permettent de créer un prototype fonctionnel de l'application sans programmation, en mettant en évidence les zones actives de l'écran (boutons) et une description de écran qui devrait s'ouvrir.


  • Développement client
    Cette méthode vise à identifier le problème ou les besoins du client avant le début du développement. Elle consiste à compiler les bons questionnaires et à mener des entretiens.
    Cette méthode permet de formuler la pertinence de l'application.



Pour prototyper l'interface, je me suis limité à esquisser des écrans sur des autocollants et à les animer à merveille. Après quoi, il a demandé à son collègue de travail de parcourir les écrans et de partager ses impressions.


Description de l'idée


image


Sur la base des études ci-dessus, nous essayons de répondre aux questions:


  • Quels avantages apporte l'application?
    Aide les personnes soucieuses de leur santé à utiliser un matelas de travail plus longtemps.


  • Quels problèmes cela résout-il?
    Je vous rappelle un coup d'État.
    Rappelant discrètement.
    Comprenez pourquoi vous devez vous tourner.
    Comprenez exactement comment vous retourner, ne cassez rien et ne déchirez pas en même temps.
    Comprenez comment choisir un matelas.
    Découvrez quand le matelas doit être changé (5-10 ans).
    Comment nettoyer le matelas en cas d'urgence (renversé, taché, etc.).


  • Dans quelles situations est-il utilisé?
    Dans le magasin, le vendeur montre comment retourner.
    Vous voulez le retourner à la maison.
    Au travail, vous devez régulièrement retourner.
    Une urgence s'est produite.


  • Décidez d'un minimum de fonctionnalités qui rendront le lancement possible

    MVP


La liste des matelas, un rappel de coup d'État, une autorisation de transfert d'histoire (le matelas vit plus longtemps que le téléphone), une brève instruction.


Implémentation


Ici, je veux parler brièvement des technologies utilisées.


Realm a été choisi comme base de données en raison de ma connaissance de longue date, ainsi que de fonctionnalités pratiques prêtes à l'emploi telles que la présence de méthodes d'écriture / lecture asynchrones et de bonnes performances.


acquisition asynchrone des données du domaine
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; } 

De plus, la facilité d'affichage des données dans recyclerView lorsqu'elles changent: connectez simplement RealmChangeListener:


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

Pour supprimer des éléments, recyclerView a utilisé ItemTouchHelper, ici, il est écrit avec suffisamment de détails sur son utilisation.
Il suffit de créer une classe qui étend ItemTouchHelper.SimpleCallback et de décrire les actions qui doivent se produire lors d'un glissement (onSwiped) ou d'un déplacement (onMove).
Et connectez-le au recycleur:


connecter SwipeToDeleteCallback à 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); 

Les notifications locales sur la nécessité de retourner le matelas sont mises en œuvre via notificationManager, car c'est actuellement l'une des méthodes les plus correctes et approuvées par Google pour créer des alertes.


envoi d'une notification
 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()); } 

L'autorisation dans l'application se fait de 2 manières:
Vous pouvez spécifier votre courrier et entrer un mot de passe - le compte correspondant sera créé sur le serveur et les données de l'application sur les matelas et l'heure de la révolution y seront liées. Cela offre la possibilité de les obtenir en se connectant à l'application, après avoir changé de téléphone.


La deuxième méthode d'autorisation: facebook, en utilisant son API.
Pour implémenter cette méthode, la première chose à faire est d'enregistrer votre application sur Facebook , d'implémenter la vérification des jetons d'accès sur le serveur https://graph.facebook.com/me?fields=id&access_token=accToken , où id est l'identifiant de l'utilisateur Facebook et accToken jeton d'accès temporaire confirmant qu'il s'agit bien de la même personne ayant envoyé une demande d'autorisation.


Publier le résultat


Créez un compte développeur.
Nous payons des frais d'inscription de 25 $ en une seule fois.
Nous publions l'application Turn over the matelas .
Nous déterminons la classification, le coût et la distribution du contenu (les pays où l'application sera disponible). Puisque l'application est localisée pour deux langues, nous faisons 2 descriptions en russe et en anglais, ainsi que des captures d'écran.


J'espère qu'il sera utile à quelqu'un de ne pas s'égarer et d'atteindre l'objectif.

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


All Articles