Comment créer une application Android pour les nuls. Développement et création d'applications mobiles : par où commencer ? Comment créer une application de blog

Chaque année, le système d'exploitation Android devient non seulement un système d'exploitation adapté aux utilisateurs ordinaires, mais également une plate-forme puissante pour les développeurs. Eh bien, que pouvez-vous faire : Google rencontre toujours les développeurs à mi-chemin, en leur offrant de nombreuses opportunités et des outils puissants, assaisonnés d'une documentation informative.
De plus, il ne faut pas perdre de vue que le « robot vert » est le leader en popularité parmi les systèmes d'exploitation mobiles. Cela suggère qu'en programmant pour Android, vous aurez un large public, ce qui pourra ensuite générer des bénéfices. En général, Android est une sorte d’« oasis » pour les développeurs. C'est pourquoi nous avons préparé pour vous une sélection spéciale de langages de programmation, ainsi que des environnements de développement pour ce système d'exploitation.
Attention, un petit conseil pour les débutants
: La programmation Android peut paraître difficile ou trop monotone au premier abord. Astuce : consultez les liens vers une documentation utile avant de commencer, et la programmation sur Android ne sera alors plus un problème pour vous.

Java est l'outil principal des développeurs Android

Environnements de développement: Android Studio (IntelliJ IDEA), plugin Eclipse + ADT
Convient à un large éventail de tâches
Java est le langage principal des programmeurs Android, un incontournable pour les débutants. Le code source principal d'Android est écrit dans cette langue, il est donc facile de comprendre pourquoi la plupart des gens choisissent cette langue. Les applications écrites en Java s'exécutent sur Android à l'aide de la machine virtuelle ART (ou Dalvik dans Jelly Bean et les versions antérieures d'Android), un analogue de la machine virtuelle Java, pour laquelle Google mène une sérieuse bataille juridique avec Oracle.


Google prend actuellement officiellement en charge l'environnement de développement Android Studio assez puissant, construit sur Intellij IDEA de JetBrains. N'oubliez pas non plus la documentation très détaillée de Google, qui couvre tout, de match_parent et wrap_content aux constructeurs, constantes et méthodes principales de la classe JavaHttpConnection - cela vaut vraiment la peine d'être lu.

N'oubliez pas non plus Eclipse, un environnement très populaire pour les programmeurs Java. Avec le plugin ADT officiel de Google, cette boîte à outils deviendra une arme puissante et légère entre vos mains. Mais les gars de Mountain View ont cessé de prendre en charge Eclipse depuis l'été dernier, laissant la place au nouveau Android Studio. Recommandé pour une utilisation sur des PC faibles.

Documents requis :

Le C++ est un outil puissant entre les mains d'un maître

Principaux environnements de développement: Android Studio (version 1.3 et supérieure), Visual Studio 2015, QtCreator
Convient à moteurs de jeux et applications gourmandes en ressources.
C++ est un langage de programmation d'âge moyen mais très puissant qui a célébré son trentième anniversaire l'année dernière. Il a été inventé en 1985 grâce aux efforts de son ami Björn Stroustrup et occupe toujours les premières positions des langages de programmation les plus populaires. Les « Pros » vous donnent une totale liberté d'action, vous limitant uniquement à ce qui est raisonnable.




Au cours de toute l’existence d’Android, de nombreux frameworks et outils de développement pour C++ ont été créés. Je voudrais particulièrement souligner les célèbres Qt et IDE QtCreator, qui vous permettent de développer des applications multiplateformes pour Windows, Windows Phone, Windows RT, iOS, SailfishOS et Android (une fois que cette liste incluait également Symbian). De plus, vous bénéficiez d'une bibliothèque Tulip pratique de conteneurs, d'algorithmes et de modèles, qui absorbe le meilleur de Java et d'Android. Et enfin, vous disposez de nombreux modules QT différents pour un travail de haut et de bas niveau avec le système. Votre humble serviteur code spécifiquement en C++ et Qt.

L'année dernière, lors de la conférence Windows : The Next Champter, une large attention a été accordée à l'environnement de développement assez populaire Visual Studio 2015. L'une des principales innovations était la prise en charge du développement d'applications pour Windows Phone et Android - Microsoft a tenté d'augmenter le nombre d'applications pour votre système d'exploitation.

Il est également impossible de ne pas mentionner que le studio officiel Android a commencé à prendre en charge NDK. Avec l'aide du NDK, vous pouvez utiliser les graphiques OpenGL lorsque vous travaillez avec Android. Si vous avez besoin de rapidité et d'efficacité, choisissez NDK ! Cette méthode de développement est parfaite pour les moteurs de jeux nécessitant des performances élevées.

Développer Android en C ou C++ peut paraître plus simple qu'en Java, mais malgré le fait que le langage vous offre une totale liberté d'action et ne vous limite pas dans vos démarches, il possède certaines fonctionnalités spécifiques qui prendront beaucoup de temps à apprendre - ce n'est pas sans raison que le C++ a été comparé aux nunchakus (une excellente arme qui nécessite malheureusement une grande habileté). Cependant, développer des applications Android en C et C++ peut être amusant.

Documents requis :

Autres langues

Il est maintenant temps de parler d'autres langages et frameworks moins populaires, mais également intéressants pour eux. Cependant, pour de nombreuses raisons, vous n’aurez pas autant de succès qu’avec Java et C++.

Corona (Script LUA)


Convient à créer des jeux et des applications simples
Si, pour une raison quelconque, vous ne souhaitez pas apprendre Java ou comprendre la création d'une interface via XML, vous pouvez choisir cet IDE pour vous-même. Corona est un environnement de développement assez léger, dont le code doit être écrit dans un LUA assez léger (les amateurs de Pascal l'apprécieront).

Cette boîte à outils vous aidera à écrire des jeux 2D simples, pour lesquels il existe des bibliothèques d'objets 2D, de sons, de réseau et de moteur de jeu. Les jeux créés fonctionnent avec OpenGL, ce qui signifie une grande efficacité. Idéal pour les débutants, c'est peut-être ici que vous pourrez créer votre première application mobile sur Android !


Documents requis :

Adobe PhoneGap (HTML5, JavaScript, CSS)


Convient à créer des applications peu gourmandes en ressources
Si vous êtes déjà familier avec HTML, CSS et JavaScript, vous pouvez essayer PhoneGap comme alternative. Cet IDE vous permettra de créer des applications à part entière développées dans les langages de programmation et de balisage mentionnés ci-dessus.

En fait, les applications prêtes à l'emploi de PhoneGap sont les WebViews les plus simples, animées à l'aide de JavaScript. À l'aide de diverses API, vous pouvez utiliser diverses fonctionnalités de l'appareil, tout comme dans les applications natives. Ce qui est intéressant, c'est que les applications sont compilées sur le serveur puis disponibles pour une utilisation sur iOS, Android, Windows Phone, Web OS et BlackBerry OS. Avec des fonctionnalités multiplateformes aussi étendues, le développement d’applications peut s’accélérer considérablement.


Documents requis :

Fusible (JavaScript et UX)


Convient à créer des applications simples et complexes
Lorsque les gens parlent d’outils de développement Android, ils pensent souvent à Fuse. Cet outil est l’un des plus conviviaux du genre et peut présenter un large éventail de possibilités et d’avantages au développeur.

La logique principale des applications Fuse repose sur JavaScript, un langage simple et compréhensible avec un seuil d'entrée bas. La base de l'interface est représentée par le balisage UX - intuitivement compréhensible pour tout le monde. Eh bien, les « petits pains » de l'environnement vous permettront d'appliquer les modifications directement pendant que l'application est en cours d'exécution sur votre appareil ou votre émulateur - tout comme dans Android Studio 2.0 et supérieur. Avec Fuse, le développement d’applications Android peut être simple et agréable.

Documents requis :

Les mots "vers la fin"

Bien entendu, nous ne vous avons pas montré tous les outils de développement actuellement existants. Avec cet article nous voulions vous expliquer que devenir développeur Android n’est pas si difficile, même si cela demande souvent des efforts et de la persévérance. Le monde du développement pour plateformes mobiles vous est ouvert, mais rappelez-vous : la première étape vous appartient toujours.

Comment et pourquoi créer une application mobile. Une application mobile n'est pas seulement un outil de communication, d'obtention des informations nécessaires ou un moyen de passer du temps libre, mais c'est aussi une opportunité de gagner de l'argent, d'entretenir une image et de mener des activités efficaces. Avec un investissement minimal ou totalement gratuit, vous pouvez créer des applications mobiles qui répondent aux besoins des consommateurs et qui constituent essentiellement votre propre navigateur mobile qui ouvre uniquement votre site Web.

Idée

La naissance de tout produit commence par l'idée de sa création. Le créateur base son idée sur ce qu'il connaît le mieux. Pensez à vos intérêts et passe-temps. Si vous voyagez beaucoup ou visitez divers lieux publics de votre ville, pourquoi ne pas créer une application basée sur ces connaissances ? Créez des applications pour compter les calories et des applications sportives si vous avez une expérience approfondie de la diététique ou du sport. Si vous avez toujours été intéressé par l'astrologie, vous pouvez créer une application de cartes stellaires.

Les applications mobiles prennent chaque jour de l'ampleur et, selon certaines prévisions, elles pourraient complètement supplanter les navigateurs Internet et les sites Web.

Essayez de sortir des sentiers battus et de proposer une idée qui n'a pas de concurrents ou, à l'inverse, analysez des idées similaires et créez une application qui serait meilleure, plus pratique et plus utile pour les utilisateurs.

Types d'applications

Les navigateurs mobiles et Web sont utilisés par presque tous les consommateurs de trafic mobile. Ceux-ci incluent toutes sortes de cartes, de navigation, de jeux, de services de traitement de photos en ligne, de bibliothèques, d'endroits pour stocker des informations, des actualités, des lecteurs de musique, des programmes de visualisation de vidéos et bien plus encore. . Un programme créé pour être utilisé sur un téléphone mobile ou un smartphone peut être payant ou gratuit, et est également divisé en types, en fonction des tâches à résoudre :

  • applications de divertissement (multimédia) - tous lecteurs de fichiers vidéo et audio, programmes de visualisation d'images, de lecture de livres, de jeux ;
  • communication - responsable de la communication de l'utilisateur, de ses contacts, des réseaux sociaux, des messages SMS ;
  • navigation - applications qui fonctionnent avec des coordonnées géographiques, avec le système GPS ;
  • appliqué - toutes sortes de calculatrices, organisateurs, cahiers ;
  • ouvrages de référence - encyclopédies, dictionnaires ;
  • des applications métiers qui permettent d'organiser le travail, de recruter des employés, d'élaborer des stratégies et d'augmenter les profits ;
  • des programmes de formation.

Options de monétisation

Si vous n'êtes pas Euroset ou Megafon, ou le portail Internet AliExpress, alors vous souhaiterez peut-être gagner de l'argent en créant votre application. Le moyen le plus simple est de créer une application payante. Mais ici, vous devez vous poser quelques questions :

  1. Quelle est votre offre et comment profite-t-elle aux gens ?
  2. Quels sont ses avantages par rapport à ses concurrents ?
  3. Combien de téléchargements les concurrents ont-ils ?

Ce n'est qu'en calculant d'abord correctement le nombre d'utilisateurs susceptibles d'être intéressés par votre application que vous pourrez calculer approximativement combien vous pouvez gagner.

Autres options de monétisation :

  • achats intégrés ;
  • publicité dans l'application ;
  • parrainage et offres ;

Développement

Vous avez une idée, mais aucune expérience en programmation, alors les options suivantes sont faites pour vous :

  • le site AppBooker vous donnera une liste de développeurs populaires, en tenant compte de votre budget et de vos besoins ;
  • apps4all.ru - voici une bonne liste de développeurs nationaux ;
  • L’option la moins chère est de s’adresser à un échange indépendant.
Le moins cher ne veut pas dire mauvais, mais cela signifie plus risqué : ils peuvent faire de vous une excellente candidature, mais vous pouvez aussi avoir un employé sans scrupules.

Coût de développement

Le coût de développement d'une application dépend de son type, varie considérablement des souhaits du client et peut aller de 2,5 mille à 10 millions de roubles. Applications les plus coûteuses, en règle générale, sont d'autres best-sellers pendant de longues périodes.

Pour connaître le coût approximatif de développement de l'application que vous avez imaginée, vous pouvez vous rendre sur howmuchtomakeanpp.com. N'hésitez pas à diviser le prix obtenu par 3 et à connaître le coût des fabricants russes. Des exemples de candidatures complétées et leurs prix peuvent être trouvés sur crew.co.

Comment créer une application gratuitement ?

Si vous possédez au moins des compétences minimales en programmation, les concepteurs d'applications mobiles en ligne peuvent vous aider. Dans ceux-ci, faites attention au système pour lequel l'application mobile est écrite, par exemple pour iPhone ou Nokia Corporation, Android, Java. Le système le plus populaire est Android. L'algorithme de création d'une application mobile est similaire à l'algorithme de création de sites Web. Mais gardez tout de suite à l'esprit que si vous souhaitez créer quelque chose d'unique au plus haut degré, votre développement nécessitera soit de l'argent, soit un investissement sérieux en temps.

Combien pouvez-vous gagner?

Si vous abordez correctement le développement de votre application : étudiez les offres populaires sur le marché, créez un produit qui intéressera le grand public, utilisez des applications pour différents systèmes d'exploitation - vous pouvez gagner environ 100 000 $ par mois.

Une étude menée par Giga OM Pro a montré que près de la moitié des développeurs d'applications mobiles interrogés ne gagnent pas plus de 200 dollars par mois. ? Tout d’abord, décidez ce que vous allez investir dans le projet : du temps ou de l’argent.

Si vous avez peur de faire confiance aux développeurs, que vous ne voulez pas dépendre d'eux et payer trop cher pour l'assistance et la mise à jour du programme, créez l'application vous-même.

En utilisant concepteurs en ligne Il est vraiment possible de créer des applications mobiles fonctionnelles et de haute qualité. À l’avenir, ils devraient être annoncés et publiés sur Google Play et l’AppStore. Les achats d'applications génèrent 25 % de revenus en moins que les achats intégrés, selon une étude Apple, mais 30 % de plus que la publicité intégrée aux applications et les autres moyens de gagner de l'argent.

Cordialement, Nastya Tchekhova

L'article décrit les principales difficultés de création d'applications pour Android.
Les concepts de base de la programmation Android sont abordés.
A titre d'exemple, la création d'un jeu Sudoku à partir du livre Hello, Android - Ed Burnette est décrite.
Attention il y a beaucoup de captures d'écran.

1. Difficultés de développement

Android est un système d'exploitation unique. Le développeur de l'application doit connaître ses caractéristiques et ses nuances pour obtenir un bon résultat. Certains défis doivent être pris en compte lors de la conception (). Listons-les brièvement :
1) L'application nécessite deux (voire quatre) plus d'espace pour l'installation que la taille d'origine de l'application.
2) La vitesse de travail avec les fichiers sur le lecteur flash intégré diminue des dizaines de fois à mesure que l'espace libre diminue.
3) Chaque processus peut utiliser jusqu'à 16 Mo (parfois 24 Mo) de RAM.

2. Principes de développement d'applications productives pour Android

Pour travailler, vous avez besoin du SDK Android et d'Eclipse. Il explique comment tout installer et commencer.

Pour charger un projet dans Eclipse, procédez comme suit :
1) Décompressez le projet dans un dossier séparé de l'espace de travail Eclipse.
2) Sélectionnez l'élément de menu Fichier->Nouveau->Projet Android.
3) Dans la boîte de dialogue Nouveau projet Android, sélectionnez l'option Créer un projet à partir d'une source existante.
4) Dans le champ Emplacement, spécifiez le chemin d'accès au dossier contenant le projet. Cliquez sur Suivant.

Menu du programme

Le menu du jeu est décrit dans le fichier res/layout/main.xml. La description de l'interface peut être éditée au format XML ou sous forme d'interface rendue. Pour basculer, utilisez les onglets en bas de la zone d'affichage du contenu.

Généralement, les contrôles sont contenus dans un conteneur, dans notre cas un LinearLayout. Il organise tous les éléments dans une seule colonne.

Ressources

Veuillez noter que toutes les étiquettes de texte (android:text) prennent des données provenant de ressources. Par exemple, l'entrée android:text="@string/main_title" précise que le texte doit être recherché dans le fichier res/values/string.xml dans un nœud nommé main_title (Android Sudoku). La couleur de fond est également contenue dans les ressources (android:background="@color/background") mais dans le fichier color.xml (#3500ffff). Une erreur peut survenir lors de l'ouverture des fichiers de ressources dans l'éditeur. Mais vous pouvez toujours passer à l'affichage XML.

Les contrôles auxquels il faut accéder à partir du code doivent avoir un identifiant. Les boutons ont un identifiant (android:id="@+id/continue_button") afin qu'un gestionnaire de clics puisse être attaché au bouton. Le signe plus indique que vous devez créer un identifiant pour le bouton dans le fichier /gen/org.example.sudoku/R.java (public static final int continue_button=0x7f0b000b;). Ce fichier est généré automatiquement et il n'est pas recommandé de le modifier. Le fichier contient la classe R, via laquelle vous pouvez accéder à n'importe quel élément d'interface et à d'autres ressources.

Création de fenêtres

Envisageons de créer une fenêtre avec des informations sur le programme. La disposition de cette fenêtre se trouve dans le fichier /res/layout/about.xml. La classe Activity est décrite dans le fichier /src/org.example.sudoku/About.java. L'activité est associée au balisage dans le fichier AndroidManifest.xml. Ce fichier peut être visualisé soit via un éditeur, soit au format XML. Vous pouvez sélectionner différentes sections du fichier dans différents onglets de l'éditeur. La section Application contient les paramètres d'activité. Notez que le paramètre Theme est :style/Theme.Dialog. Cela fait que le style de la fenêtre ressemble davantage à une boîte de dialogue modale.

La fenêtre contenant des informations sur le programme est appelée depuis le cours de Sudoku en cliquant sur le bouton À propos. La classe Sudoku est écrite de manière à gérer l'événement Click lui-même (la classe publique Sudoku extends Activity implémente OnClickListener). La méthode public void onClick(View v) détermine quel bouton a déclenché l'événement et exécute le code correspondant. Pour afficher la fenêtre À propos, l'Intent correspondant est appelé.
cas R.id.about_button :
Intention i = new Intent(this, About.class);
startActivity(i);
casser;

Les gestionnaires d'événements peuvent également être installés sur des contrôles spécifiques. Par exemple, dans la classe Keypad, lors de la création de la classe, les gestionnaires des boutons individuels sont installés dans la méthode setListeners().

Dialogues simples

L'utilisateur doit avoir la possibilité de choisir le niveau de difficulté. Il s'agit d'un petit dialogue dans lequel vous devez choisir l'une des plusieurs options. Je suis très heureux que vous n'ayez pas besoin de créer une intention distincte pour cela, mais utilisez simplement la classe AlertDialog.
Regardons le processus de démarrage d'un nouveau jeu. L'utilisateur clique sur le bouton Nouveau jeu. Le gestionnaire de clics est une méthode de la classe Sudoku - onClick. Ensuite, la méthode openNewGameDialog est appelée, qui affiche la boîte de dialogue de sélection de difficulté et démarre le jeu avec le niveau de difficulté sélectionné. Cette boîte de dialogue est construite à l'aide de la classe AlertDialog.

Private void openNewGameDialog() ( new AlertDialog.Builder(this).setTitle(R.string.new_game_title).setItems(R.array.difficulty, new DialogInterface.OnClickListener() ( public void onClick(DialogInterface dialoginterface, int i) ( startGame (i); ) )).show(); )

Veuillez noter que le contenu de la boîte de dialogue (un ensemble de boutons) est construit à partir d'un tableau de chaînes R.array.difficulty. Un gestionnaire de clic de bouton de dialogue est immédiatement attribué, qui, en fonction du numéro du bouton enfoncé, démarre un nouveau jeu avec un niveau de difficulté donné en appelant la méthode startGame.

Arts graphiques

La classe Game est responsable de la logique du jeu. Ici, les tâches sont chargées et les conditions gagnantes sont vérifiées. La classe Game est une Activity, mais l'interface n'est pas décrite en XML, mais est créée par code. La méthode onCreate crée une vue :

PuzzleView = nouveau PuzzleView(ce);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView est une classe dérivée de View, elle dessine le terrain de jeu et traite les événements tactiles à l'écran (méthode onTouchEvent) et les pressions sur les touches (méthode onKeyDown).

Regardons le processus de dessin sous Android. Pour dessiner, vous devez surcharger la méthode onDraw. La méthode reçoit l'objet Canvas à travers lequel le dessin est effectué. Pour définir les couleurs, des objets de la classe Paint sont créés. La couleur est spécifiée au format ARGB. Il est préférable de stocker la couleur sous forme de ressources (fichier colors.xml). Paint n'est pas seulement une classe permettant de stocker des informations sur les couleurs. Par exemple, lorsque vous dessinez du texte, il contient des informations sur la méthode d'ombrage, la police et l'alignement du texte.

Canvas contient un ensemble de méthodes pour dessiner des graphiques (drawRect, drawLine, drawPath, drawText et autres).

Pour optimiser les graphiques, il est préférable de s'abstenir de créer des objets et des calculs inutiles à l'intérieur de la méthode onDraw (l'exemple considéré d'implémentation graphique n'est pas optimal).

Musique

La classe MediaPlayer est utilisée pour lire de la musique. La musique du jeu a été ajoutée aux ressources. Il vous suffit de copier les fichiers nécessaires dans le dossier /res/raw (formats WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Vous devez d'abord créer une instance de la classe MediaPlayer :
mp = MediaPlayer.create (contexte, ressource);
ici, le contexte est généralement la classe qui initie le lancement de la musique, la ressource est l'identifiant de la ressource contenant la musique. Pour contrôler la lecture, utilisez les méthodes de démarrage, d'arrêt et de relâchement.

Dans le jeu, la musique est jouée dans le menu principal (lancé depuis la classe Sudoku) et dans le gameplay (lancé depuis la classe Game). La classe Music a été créée pour contrôler la lecture. La classe contient une instance statique de MediaPlayer, ce qui élimine le besoin de créer un projet distinct pour chaque lancement de la ressource audio.

Dans les classes Sudoku et Game, les méthodes onResume et onPause sont remplacées, dans lesquelles la musique démarre au démarrage de l'activité et s'arrête lorsqu'elle est désactivée.

conclusions

L'exemple évoqué dans l'article n'est pas trop compliqué, ce qui permet de le comprendre sans trop d'effort. En même temps, il aborde divers aspects du développement Android.

P.S. Un grand merci à l'utilisateur

Dans toute entreprise, le plus difficile est le début. Il est souvent difficile de se remettre dans son contexte, c'est ce que j'ai rencontré lorsque j'ai décidé de développer ma première application Android. Cet article s’adresse à ceux qui veulent commencer, mais ne savent pas par où.

L'article couvrira l'ensemble du cycle de développement d'applications. Ensemble, nous allons écrire un simple jeu de Tic-Tac-Toe avec un seul écran (sous Android OS, cela s'appelle Activity).

Le manque d’expérience en développement Java ne devrait pas être un obstacle à la maîtrise d’Android. Ainsi, les exemples n'utiliseront pas de constructions spécifiques à Java (ou seront minimisés autant que possible). Si vous écrivez, par exemple, PHP et connaissez les principes fondamentaux du développement logiciel, cet article vous sera très utile. À mon tour, comme je ne suis pas un expert en développement Java, on peut supposer que le code source ne peut pas prétendre au label « meilleures pratiques pour le développement Java ».

Installation des programmes et utilitaires nécessaires

Je vais lister les outils nécessaires. Il y en a 3 :

  1. IDE avec prise en charge du développement Android :
    • Plugin Eclipse + ADT ;
    • Édition communautaire IntelliJ IDEA ;
    • Plugin Netbeans + nbandroid ;

Les utilitaires sont installés dans l'ordre spécifié ci-dessus. Cela ne sert à rien d’installer tous les IDE répertoriés (sauf si vous avez des difficultés à choisir le bon). J'utilise IntelliJ IDEA Community Edition, l'un des IDE pour Java les plus avancés disponibles aujourd'hui.

Démarrer un appareil virtuel

Après avoir lancé AVD Manager et installé des packages supplémentaires (SDK de différentes versions), vous pouvez commencer à créer un périphérique virtuel avec les paramètres nécessaires. Comprendre l'interface ne devrait pas être difficile.

Liste des périphériques

Créer un projet

J'ai toujours hâte de me mettre au travail, en minimisant les activités préparatoires, qui incluent la création d'un projet dans l'IDE, surtout lorsque le projet est éducatif et n'a pas l'intention d'être produit.

Donc, Fichier->Nouveau projet :

En appuyant sur le bouton F6, le projet sera assemblé, compilé et lancé sur l'appareil virtuel.

Structure du projet

La capture d'écran précédente montre la structure du projet. Puisque dans cet article nous poursuivons des objectifs purement pratiques, nous nous concentrerons uniquement sur les dossiers que nous utiliserons dans le processus de travail. Il s'agit des répertoires suivants : génération, rés Et src.

Dans le dossier génération certains fichiers sont générés automatiquement lors de la construction du projet. Vous ne pouvez pas les modifier manuellement.

Le dossier res est destiné à stocker des ressources telles que des images, des textes (y compris des traductions), des valeurs par défaut, des mises en page.

src- c'est le dossier dans lequel se déroulera l'essentiel du travail, car ici sont stockés les fichiers avec le code source de notre programme.

Premières lignes

Dès la création de l'Activité (écran de l'application), la méthode onCreate() est appelée. L'EDI l'a rempli de 2 lignes :
super.onCreate(savedInstanceState); setContentView(R.layout.main);
La méthode setContentView (équivalente à this.setContentView) définit la disposition XML de l'écran actuel. Dans ce qui suit, nous appellerons les layouts XML « layout » et les écrans « Activity ». La présentation dans l'application sera la suivante :

TableLayout est idéal pour cette application. L’identifiant peut être attribué à n’importe quelle ressource. Dans ce cas, TableLayout se voit attribuer id = main_l. En utilisant la méthode findViewById(), vous pouvez accéder à la vue :
mise en page TableLayout privée ; // il s'agit d'une propriété de la classe KrestikinolikiActivity public void onCreate(Bundle savingInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (TableLayout) findViewById(R.id.main_l); buildGameField( ); )

Nous devons maintenant implémenter la méthode buildGameField(). Pour ce faire, vous devez générer un champ sous forme de matrice. Cela sera fait par la classe Game. Vous devez d’abord créer une classe Square pour les cellules et une classe Player dont les objets rempliront ces cellules.

Carré.java

package com.exemple; public class Square ( private Player player = null; public void fill(Player player) ( this.player = player; ) public boolean isFilled() ( if (player != null) ( return true; ) return false; ) public Player getPlayer () (retourner le joueur ; ) )

Joueur.java

package com.exemple; public class Player (private String name; public Player(String name) ( this.name = name; ) public CharSequence getName() ( return (CharSequence) name; ) )

Toutes les classes de notre application se trouvent dans le dossier src.

Jeu.java

package com.exemple; public class Game ( /** * field */ private Square field; /** * Constructor * */ public Game() ( field = new Square; squareCount = 0; // remplissant le champ pour (int i = 0, l = champ.longueur;i

Initialisation du jeu dans le constructeur KrestikinolikiActivity.
public KrestikinolikiActivity() ( game = new Game(); game.start(); // sera implémenté plus tard)

La méthode buildGameField() de la classe KrestikinolikiActivity. Il ajoute dynamiquement des lignes et des colonnes au tableau (champ de jeu) :
boutons de bouton privés = nouveau bouton ; //(....) private void buildGameField() ( Square field = game.getField(); for (int i = 0, lenI = field.length; i
La ligne 8 crée un objet qui implémente l'interface View.OnClickListener. Créons une classe Listener imbriquée. Il ne sera visible que depuis KrestikinolikiActivity.
public class Listener implémente View.OnClickListener ( private int x = 0; private int y = 0; public Listener(int x, int y) ( this.x = x; this.y = y; ) public void onClick(View view) ( Bouton bouton = vue (Bouton); ) )
Reste à mettre en œuvre la logique du jeu.
public class Game ( /** * joueurs */ joueurs joueurs privés; /** * champ */ champ carré privé; /** * le jeu a-t-il commencé ? */ private boolean démarré ; /** * joueur actuel */ privé Joueur actifPlayer; /** * Compte le nombre de cellules remplies */ private int rempli; /** * Total de cellules */ private int squareCount; /** * Constructeur * */ public Game() ( field = new Square; squareCount = 0; // remplissant le champ pour (int i = 0, l = field.length; i

Détermination du gagnant

K.O. suggère que le gagnant du tic-tac-toe est celui qui aligne X ou O sur une ligne égale à la longueur du terrain verticalement, horizontalement ou en diagonale. La première pensée qui me vient à l’esprit est d’écrire des méthodes pour chaque cas. Je pense que le modèle de chaîne de responsabilité fonctionnerait bien dans ce cas. Définissons l'interface
package com.exemple; interface publique WinnerCheckerInterface ( public Player checkWinner(); )
Puisque le jeu a la responsabilité de déterminer le gagnant, il implémente cette interface. Il est temps de créer des « juges de lignes » virtuels, chacun vérifiant son camp. Tous implémentent l’interface WinnerCheckerInterface.

WinnerCheckerHorizontal.java

package com.exemple; public class WinnerCheckerHorizontal implémente WinnerCheckerInterface (private Game game; public WinnerCheckerHorizontal(Game game) ( this.game = game; ) public Player checkWinner() ( Square field = game.getField(); Player currPlayer; Player lastPlayer = null; for (int i = 0, len = champ.longueur ; i

WinnerCheckerVertical.java

package com.exemple; public class WinnerCheckerVertical implémente WinnerCheckerInterface ( jeu privé; public WinnerCheckerVertical (jeu) ( this.game = game; ) public Player checkWinner() ( Square field = game.getField(); Player currPlayer; Player lastPlayer = null; for (int i = 0, len = champ.longueur ; i

WinnerCheckerDiagonalLeft.java

package com.exemple; public class WinnerCheckerDiagonalLeft implémente WinnerCheckerInterface ( jeu privé ; public WinnerCheckerDiagonalLeft (jeu) ( this.game = game; ) public Player checkWinner() ( Square field = game.getField(); Player currPlayer ; Player lastPlayer = null ; int successCounter = 1 ; pour (int i = 0, len = field.length ; i

WinnerCheckerDiagonalRight.java

package com.exemple; classe publique WinnerCheckerDiagonalRight implémente WinnerCheckerInterface ( jeu privé ; public WinnerCheckerDiagonalRight (jeu) ( this.game = game; ) public Player checkWinner() ( Square field = game.getField(); Player currPlayer ; Player lastPlayer = null ; int successCounter = 1 ; pour (int i = 0, len = field.length ; i
Initialisons-les dans le constructeur Game :
//(....) /** * "Juges" =). Après chaque coup, ils vérifieront * pour voir s'il y a un gagnant */privé WinnerCheckerInterface gagnantCheckers ; //(....) public Game() ( //(....) gagnantCheckers = nouveau WinnerCheckerInterface; gagnantCheckers = nouveau WinnerCheckerHorizontal(this); gagnantCheckers = nouveau WinnerCheckerVertical(this); gagnantCheckers = nouveau WinnerCheckerDiagonalLeft(this); gagnantCheckers = new WinnerCheckerDiagonalRight(this); //(....) )
Implémentation de checkWinner() :
public Player checkWinner() ( pour (WinnerCheckerInterface winChecker: gagnantCheckers) ( Joueur gagnant = winChecker.checkWinner(); if (winner != null) ( return gagnant; ) ) return null; )
Nous vérifions le gagnant après chaque coup. Ajoutons du code à la méthode onClick() de la classe Listener
public void onClick(Afficher la vue) ( ​​Bouton bouton = (Bouton) vue ; Jeu g = jeu ; Joueur joueur = g.getCurrentActivePlayer(); if (makeTurn(x, y)) ( bouton.setText(player.getName()) ; ) Joueur gagnant = g.checkWinner(); if (winner != null) ( gameOver(winner); ) if (g.isFieldFilled()) ( // si le champ est rempli gameOver(); ) )
La méthode gameOver() est implémentée en 2 variantes :
private void gameOver (Joueur joueur) ( CharSequence text = "Joueur \"" + joueur.getName() + "\" gagné!"; Toast.makeText(this, texte, Toast.LENGTH_SHORT).show(); game.reset (); rafraîchir(); ) private void gameOver() ( CharSequence text = "Draw"; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset(); rafraîchir(); )
Pour Java, gameOver(Player player) et gameOver() sont des méthodes différentes. En utilisant le Builder Toast.makeText, vous pouvez créer et afficher rapidement une notification.fresh() met à jour l'état du champ :
private void rafraîchir() ( Square field = game.getField(); for (int i = 0, len = field.length; i

Prêt! J'espère que cet article vous a aidé à vous familiariser avec le monde du développement Android. Merci de votre attention!

Vidéo de la candidature terminée

En fait, donner vie à cette idée n’est pas aussi difficile ni aussi coûteux qu’il y paraît à première vue. Il vous suffit d'avoir une bonne idée de ce que vous attendez exactement d'une application mobile et de déterminer comment atteindre vos objectifs.

Test d’hypothèses : vaut-il la peine d’utiliser des services en ligne pour créer des applications mobiles ?

Ce n'est un secret pour personne que créer votre propre application mobile nécessite un investissement, du temps et des efforts sérieux. Mais est-ce que ça en vaut la peine? Dans notre travail, nous utilisons un ensemble de méthodes pour tester les hypothèses de nos clients afin de nous assurer que l'application en cours de développement répondra aux attentes de l'entreprise et des utilisateurs.

Dans certains cas, vous pouvez effectuer vous-même des analyses de programme avant de démarrer le développement d'Android ou d'iOS, sans investissements financiers majeurs.

L'un des moyens de vérifier la valeur des tâches planifiées d'un futur projet est un court TTM (time to market), dont le but est de publier une version de travail minimale d'une application mobile en peu de temps et de recevoir un retour accéléré de utilisateurs.

Il existe de nombreuses façons d’obtenir un TTM court et de recueillir rapidement des commentaires. Les concepteurs d'applications mobiles en ligne sont l'un des moins chers et vous permet de vérifier rapidement la nécessité de créer un programme Android pour une entreprise existante.

Pour quelles tâches cette solution est-elle adaptée :

  • Créer une version mobile de votre site Web
  • Augmenter les canaux de vente pour une boutique en ligne existante
  • Augmenter les canaux de communication entre les employés et les clients
  • Augmentez les canaux d'information pour votre blog, site Web, newsletter

Quand utiliser de tels services ?

  • Vous êtes très limité en fonds
  • Votre idée n’a pas de solutions technologiquement complexes et est « typique » du marché
  • Le succès ou l'échec après le lancement de l'application n'aura pas d'impact significatif sur l'entreprise
  • Vous recherchez un nouveau canal pour attirer des clients et considérez le projet comme une perspective

Avantages d'utilisation :

  • Vitesse de développement rapide
  • Investissement minimum de départ
  • La capacité de recevoir rapidement les commentaires des clients

Défauts:

  • Fonctionnalité limitée des calculatrices
  • Conception limitée, animation
  • Mauvaise qualité de travail sous des charges élevées
  • Erreurs de code, long processus de correction des erreurs
  • Dans la plupart des services, le produit final est publié et appartient aux services par lesquels il a été créé.
  • Il n'y a aucun moyen de tester une fonction spécifique
  • Aucun test UX
  • Publicité incontrôlée

Si vous avez besoin d'analyses de projet multifonctionnelles et de haute qualité, de développement d'applications pour Android ou iOS, contactez les professionnels d'InfoShell. Nos spécialistes développeront pour vous une application mobile unique qui ne laissera pas vos clients indifférents.

Si vous décidez de réaliser l'application vous-même, nous avons sélectionné pour vous plusieurs services gratuits/shareware.

TOP 10 DES PROGRAMMES DE CRÉATION D'APPLICATIONS POUR ANDROID ET IOS

    Le service appsgeyser vous permet de convertir votre site Web, blog, vidéo ou page de réseau social en une application mobile pour Android avec publication ultérieure sur Google Play.

    – entièrement gratuit et ne vous limite pas dans le nombre d’applications créées par l’utilisateur.

    Avantages de la plateforme : visualisation pratique des applications, des programmes, conversion rapide de tout contenu (vidéo de YouTube, document html, site Internet) en application mobile.

    Tout d’abord, le service convient aux blogueurs et aux sites d’actualités. Grâce à l'application créée, vous pourrez estimer combien de vues augmenteront après la première publication, et par le nombre d'installations - quelle est l'urgence du besoin d'une version mobile du site parmi vos clients.

  1. www.theappbuilder.com

    L'AppBuilder propose des outils pour les applications et programmes utilitaires. Avec ce service, vous pouvez créer et configurer l'application nécessaire au travail interne de votre équipe. Envoyez à chacun une notification concernant un changement dans l'horaire de travail du restaurant, rappelez à un employé un changement dans son horaire de travail, affichez les dernières actualités de l'entreprise.

    Si vous envisagez un produit interne, essayez de créer une version test de l'application à l'aide de ce service, vous assurant ainsi si les employés utiliseront une telle application et dans quel cas.

    Prix ​​: individuel sur demande.

  2. – un service qui propose des solutions prêtes à l'emploi pour les entreprises – des applications pour les restaurants, les hôtels, les discothèques, les organismes publics. Le concepteur est conçu pour créer des programmes mobiles pour Android (Android), Apple iOS, Mobile Web, Webpage. L'application peut être rendue multilingue.

    Le service permet d'apporter un nombre illimité de modifications à une application déjà publiée, hébergement sécurisé.

    Coût de développement d'une application mobile : 49 $.

    est un site de conception d'applications en russe qui vous permet de créer des applications fonctionnelles à l'aide de modèles prêts à l'emploi pour tous les appareils électroniques populaires (iPhone, Android, iPad, tablette Android) sans aucune connaissance en programmation. Le service offre également un moyen simple de placer une application sur Google Play et Apple Store.

    Tarifs : Développement d’applications mobiles pour Android et iOS – GRATUIT. Forfait Affaires– 2 400 roubles/mois (1 application, 3 000 installations, publication en magasin, pas de publicité). Forfait "Illimité"– 3 700 roubles/mois (1 application, nombre d'installations illimité, publication en magasin, pas de publicité). Forfait "Entreprise"– 27 100 roubles/mois (10 applications, nombre illimité d'installations, protection supplémentaire du contenu, assistance technique et consultative).

  3. www.mobileroadie.com

    – un service de création d’applications d’événements et d’actualités. Grâce à ce service, vous pouvez regrouper les informations sur votre entreprise en un seul endroit ou télécharger des données d'événements en saisissant des contacts, des photos, des vidéos, des articles et des actualités dans une seule application.

    Le prix d'utilisation varie en fonction du forfait de services : Forfait de base– 149 $ par mois ou 1 499 $ par an, vous permettront de créer une application simple sans solutions techniques complexes ni services externes. Forfait Pro– 799 $ par mois ou 7 999 $ par an, vous permettront de connecter des services externes et de configurer le contenu de l'application depuis le panneau d'administration.

  4. – service pour les entrepreneurs privés et les petites entreprises. Les créateurs affirment qu'il vous faudra 20 minutes pour créer l'application. Les applications créées vous permettront d'établir un nouveau canal de communication avec les clients et de recueillir des commentaires, de créer une version mobile de votre site Web ou une application mobile prête à l'emploi.

    Un avantage important du service est l'absence totale de publicité et la possibilité de développer des applications pour appareils électroniques sur iOS, Android (Android) et Windows Phone.

    Tarifs : Des forfaits gratuits et payants sont disponibles sur le site : Bases de l'application– 1 $ par mois Application Pro– 9 $ par mois Revendeur illimité– 39 $ par mois.

    Appéry– une plateforme de développement d’applications métiers pour iOS, Android (Android) et Windows Phone. Le concepteur est déployé dans le cloud, ce qui élimine le besoin d'installer des programmes sur un disque dur et est destiné à créer des applications métiers fonctionnelles.

    Avantages : éditeur visuel pratique, possibilité d'ajouter vos propres plugins, large gamme d'outils pour les développeurs Android et iOS, connexion de bases de données et de services tiers.

    Tarifs des forfaits : Version de base : 30 $ Version standard: 30 $ (paiement pendant 12 mois), 45 $ (paiement mensuel). Version Pro : 57 $ (paiement pour 12 mois); 85 $ (paiement mensuel).

    – une plateforme d'auto-développement d'applications mobiles pour iPad, iPhone, Android, HTML5. En plus de nombreux avantages, le service vous permet de créer des applications de commerce électronique avec la monétisation activée.

    Des prix: Basique– 22,90 $ par mois ou 19,90 $ par mois (si payé annuellement) Avancé– 58,90 $ par mois ou 49 $ par mois (facturé annuellement) Illimité– 139,90 $ par mois ou 119,90 par mois (si payé annuellement).

    – la plateforme permet à l’utilisateur de créer facilement une application fonctionnelle pour Android et iOS (iPhone, iPad) pour les petites et moyennes entreprises. Chez BiznessApps, vous créez une application mobile à l'aide de centaines de modèles prêts à l'emploi.

    Tarifs des forfaits : Site mobile– 29 $ par mois Application mobile– 59 $ par mois.

  5. www.viziapps.com

    – le service vous permet de créer des applications mobiles pour les entreprises à l'aide d'un éditeur visuel fonctionnel. Grâce à la plateforme, il est facile de mettre en œuvre de nouvelles interfaces pour SalesForce, QuickBooks, QuickBase, Google Spreadsheets et SQL Database. Les applications créées dans Viziaapps fonctionnent sur tous les types courants de systèmes d'exploitation mobiles.

    Tarifs des forfaits : Développeur– 33 $ par mois Pro– 79 $ par mois Prime– 129 $ par mois.

    *Un paiement annuel est requis.

    Tout comme pour les sites web, lors de la création de votre produit à l'aide de designers en ligne, de nombreuses restrictions s'imposent à vous. Exemples de restrictions :

    • L'application est difficile à intégrer avec des services externes non prévus par le concepteur.
    • Lorsque vous utilisez des concepteurs en ligne gratuits, vous êtes soumis à de sérieuses restrictions, telles que la publicité à l'intérieur de votre produit, la collecte de données sur le produit et les clients, ainsi que des limitations fonctionnelles.
    • Le produit créé est difficile à mettre à l'échelle. Si le nombre d’utilisateurs augmente, votre solution se bloquera ou pourrait devenir indisponible pour les utilisateurs. De plus, vous ne pourrez pas transférer l'application vers des plateformes d'utilisation alternatives (par exemple, yandex.store, populaire dans la CEI ou Amazon aux États-Unis).

    Les applications créées à l'aide de designers en ligne servent à tester les hypothèses de votre projet. Cependant, si vous recevez des commentaires négatifs et que votre projet n’est pas apprécié, avant de le ranger, déterminez quelle a été exactement la clé de l’échec. Sinon, vous risquez de perdre un projet rentable en raison d'une mauvaise mise en œuvre.