(!LANG : Applications intéressantes pour Android avec du code open source. Codes secrets pour Android - comment contrôler votre propre gadget en utilisant

Maintenant que vous comprenez le concept de programmation, nous allons examiner le code source : ses principaux composants et comment les utiliser.

Cet article fait partie d'une série d'articles sur le développement pour les débutants.

Partie 2 – Code source

De nombreux langages de programmation sont livrés avec de nombreuses bibliothèques. On les appelle généralement SDK(kits de développement logiciel). Chargé avec le compilateur pour création ultérieure technologies, applications et projets. Il y a aussi cadres, créé pour faciliter le développement d'un projet et combiner ses différentes composantes.

Certains identifiants inclus avec la langue sélectionnée ne peuvent pas être utilisés comme identifiant utilisateur. Un exemple est le mot chaîne en Java. Ces identifiants ainsi que les mots-clés sont appelés Mots réservés . Ils sont aussi spéciaux.

Tous mots clés sont réservés. De plus, les mots que vous choisissez doivent avoir un sens pour ceux qui les voient pour la première fois.

Types de données de base

Code source - Focus différents types putain : Nombres(3, 5,7, -100, 3,142) et symboles(M, A). Certains langages de programmation décomposent les nombres en sous-types, tels que entiers(nombres entiers).

Les entiers peuvent être iconique Et non signé, grand et petit. Ces derniers dépendent en réalité de la quantité de mémoire réservée à ces numéros. Il existe des nombres avec des parties décimales, généralement appelés double Et flotter, selon la langue que vous apprenez.

Il y a aussi types booléens données booléen cela importe vrai ou FAUX.

Types de données complexes

Les types ci-dessus sont appelés élémentaires, primaires ou basiques. Nous pouvons créer des types de données plus complexes à partir de ces types de données de base.

Tableau( Tableau) - Ce forme la plus simple type complexe. Doubler ( Chaîne) est un tableau de caractères. Nous ne pouvons pas nous passer de ces données et les utilisons souvent lors de l'écriture de code.

La combinaison de caractères est doubler. Pour utiliser une analogie, une chaîne vers un ordinateur signifie que le mot appartient à un humain. Le mot « thermomètre » est composé de 9 caractères – nous l’appelons simplement une chaîne de caractères. Le traitement des chaînes est un vaste sujet que tout programmeur en herbe devrait apprendre.

Les types de données complexes sont fournis avec la plupart des langages de programmation utilisés. Il en existe d'autres, comme les systèmes de classes. Ce phénomène est également connu sous le nom de programmation orientée objet ( POO).

Variables

Les variables sont simplement des noms d'emplacements mémoire. Parfois, vous devez stocker des données dans votre code source dans un endroit où vous pouvez les appeler pour les utiliser. Il s'agit généralement d'un emplacement mémoire réservé par le compilateur/interprète. Nous devons nommer ces cellules mémoire afin de pouvoir nous en souvenir plus tard. Considérez l'extrait de code Python ci-dessous :

pet_name = "Hippopotame" print pet_name

pet_name = "Hippopotame"

imprimer le nom_de l'animal

nom d'animal domestique– un exemple de variable et le type de données stockées dans nom d'animal domestique, est une chaîne, ce qui fait de la variable une chaîne. Il y a aussi des chiffres. Ainsi, les variables sont classées par type de données.

Constantes

Les constantes sont des valeurs qui ne changent pas tout au long du cycle de vie d'un programme. Le plus souvent utilisé dans leurs noms lettres majuscules. Certains langages prennent en charge la création de valeurs persistantes, d'autres non.

Exister langages de programmation fortement typés, dans lequel chaque variable doit être certain type. Une fois que vous aurez sélectionné un type, vous ne pourrez plus le modifier. Java bon exemple une telle langue japonaise.

D'autres ne fournissent pas ces fonctions. Ils sont vaguement tapé ou langages de programmation dynamiques. Exemple : Python.

Voici comment déclarer une valeur constante en JavaScript :

Javascript

const petName = "Hippopotame"

const petName = "Hippopotame"

Littéraux

Dans chaque code source, certains types de données sont utilisés partout et ne changent que s'ils sont modifiés. Ce littéraux, qu'il ne faut pas confondre avec des variables ou des constantes. Aucun code source ne peut s’en passer. Les littéraux peuvent être des chaînes, des nombres, des décimales ou tout autre type de données.

Dans l'extrait ci-dessus, le mot « Hippo » est une chaîne littérale. Ce sera toujours "Hippo" jusqu'à ce que vous modifiiez le code source. Une fois que vous aurez appris à coder, vous apprendrez à manipuler les littéraux de manière à laisser la majeure partie du code inchangée.

Ponctuation/Symboles

Dans la plupart des programmes écrits, vous trouverez divers signes ponctuation en fonction du langage de programmation sélectionné. Par exemple, Java utilise plus de ponctuation que Python.

Les caractères de base incluent la virgule ( , ), point-virgule ( ; ), côlon ( : ), accolades ( {} ), ordinaire supports ronds (() ), crochets(), citations ( «» ou » ), barre verticale ( | ), barre oblique ( \ ), indiquer ( . ), point d'interrogation ( ? ), les voitures ( ^ ) et le pourcentage ( % ).

Bienvenue dans le monde de la programmation, où la ponctuation vous appartient meilleurs amis. Vous découvrirez bientôt qu’il y en a toujours beaucoup dans votre code.

Les opérateurs

Les chances que vous écriviez du code source pour effectuer certaines opérations sont extrêmement élevées. Tous les langages de programmation que nous utilisons incluent de nombreux opérateurs. Parmi ceux utilisés figurent l'addition ( + ), division ( / ) multiplications ( * ), soustraction ( ) et supérieur au signe ( > ).

Les opérateurs sont généralement classés comme suit :

  1. Opérateurs d'affectation. Ils sont parfois interprétés comme équivaut à, ce qui est faux. L'égalité est utilisée pour comparer deux valeurs. Mais l'opérateur d'affectation attribue une valeur à une variable, par exemple pet_name = 'Hippopotame'
  2. Opérateurs arithmétiques. Se compose d'opérateurs pour effectuer des tâches arithmétiques telles que l'addition et la soustraction. Certains langages de programmation fournissent opérateurs arithmétiques, alors que d’autres ne les ont peut-être pas dans leur arsenal. Par exemple, l'opérateur module/reste ( % ) renvoie le reste des opérations de division.
  3. Opérateurs relationnels. Utilisé pour comparer les valeurs. Ils incluent supérieur à, inférieur à, égal à, non égal à. Leur présentation dépend également du langage de programmation que vous apprenez. Pour certains PL, ce n'est pas égal - c'est <> , pour les autres - != ou !== .
  4. Opérateurs logiques. Sont utilisés pour le travail opérations logiques. Couramment utilisé Opérateurs logiques sont Et, ou, Non. Certaines langues représentent ces opérateurs comme caractères spéciaux. Par exemple, && représenter la logique Et, || - Pour ou, Et ! - Pour Non. Il est d'usage d'évaluer les valeurs logiques à l'aide de valeurs booléennes vrai ou FAUX.

commentaires

La documentation sera aspect important activités de programmation. C'est ainsi que vous expliquez votre code aux autres programmeurs. Cela se fait à l'aide de commentaires ajoutés à différentes parties du code. Avec des commentaires, vous pouvez guider d'autres programmeurs tout au long de votre programme écrit.

Le compilateur ignore les lignes de code qui sont des commentaires.

La déclaration des commentaires est différente pour différentes langues. Par exemple, # utilisé pour saisir des commentaires en Python.

Voici un exemple de commentaire en Python :

# fragment de programme pour calculer Fibonacci à partir de N nombres

Java

// Implémentation récursive Importation factorielle java.util.Scanner; class RecursiveFactorial ( public static void main(String args) ( Scanner input=new Scanner(System.in); System.out.print("Trouver la factorielle de : "); int num=input.nextInt(); System.out .println("Factorial de "+num+" = "+fact(num) ) static long fact(int n) ( if(n< 2) return 1; return n * fact(n-1); } }

Explorer nouveau langage et un environnement de développement est le minimum qui vous est demandé si vous souhaitez écrire votre première application mobile. Il faudra au moins quelques semaines pour esquisser une liste de tâches de base pour Android ou iOS sans copier l'exemple du livre. Mais on ne peut pas maîtriser Objective-C ou Java et quand même développer rapidement des applications pour smartphones si on utilise des technologies comme PhoneGap.

Si vous avez soigneusement étudié les innovations qui nous attendent dans Windows 8, vous avez peut-être remarqué qu'il sera possible de développer des applications en HTML5 sous celui-ci. L'idée n'est en réalité pas nouvelle : des technologies mettant en œuvre la même approche pour les plateformes mobiles se développent par sauts et bonds. L'un de ces frameworks, qui vous permet de développer des applications pour smartphones en utilisant un tas de HTML, JavaScript et CSS !, est PhoneGap. Une application écrite avec son aide convient à toutes les plateformes populaires : iOS, Android, Téléphone Windows, Blackberry, WebOS, Symbian et Bada. Vous n'aurez pas besoin d'apprendre les spécificités de la programmation pour chaque plateforme (par exemple, Objective-C dans le cas d'iOS), ni de gérer diverses API et environnements de développement. Tout ce dont vous avez besoin pour créer une application mobile multiplateforme est une connaissance de HTML5 et d'une API PhoneGap spéciale. Dans ce cas, le résultat ne sera pas une stupide page HTML « encadrée » dans l’interface de l’application, non ! L'API du framework vous permet d'utiliser presque toutes les fonctionnalités du téléphone utilisées lors du développement à l'aide d'outils natifs : accès à l'accéléromètre, à la boussole, à l'appareil photo (enregistrement vidéo et photographie), à ​​la liste de contacts, système de fichiers, système de notification (notifications standards sur le téléphone), stockage, etc. Enfin, une telle application peut accéder sans douleur à n'importe quelle adresse inter-domaines. Vous pouvez recréer des contrôles natifs à l'aide de frameworks comme jQuery Mobile ou Sencha, et le programme final aura l'air d'avoir été écrit dans une langue native (ou presque) sur un téléphone mobile. Il est préférable d'illustrer ce qui précède dans la pratique, c'est-à-dire de rédiger une application, je vous suggère donc de commencer à vous entraîner immédiatement. Gardez une trace du temps - il vous faudra à peine plus d'une demi-heure pour tout faire.

Qu'allons-nous créer

Prenons iOS comme plate-forme cible - oui, oui, l'argent est dans l'AppStore, et pour l'instant il vaut mieux monétiser vos développements là-bas :). Mais laissez-moi être clair tout de suite : la même chose, sans modifications, peut être faite, par exemple, pour Android. J'ai longuement réfléchi à l'exemple à prendre en compte, car je ne voulais pas écrire un autre outil pour suivre la liste de tâches. J'ai donc décidé de créer une application appelée « Geographic Reminder », un programme de navigation dont le but peut être décrit en une phrase : « Faites-moi savoir quand je serai de nouveau là ». L'AppStore dispose de nombreux utilitaires qui permettent de « mémoriser » l'endroit où l'utilisateur a garé la voiture. C'est presque la même chose, juste un peu plus simple. Vous pouvez pointer vers un point sur un plan de la ville, lui définir un certain rayon et programmer un message. La prochaine fois que vous tomberez dans le cercle avec le rayon spécifié, l'application vous en informera et le point sera supprimé. Nous procéderons selon ce plan : nous allons d'abord créer une application Web simple, la tester dans le navigateur, puis la transférer sur la plateforme iOS à l'aide de PhoneGap. Il est très important de prototyper et de tester la majeure partie du code d'un navigateur sur un ordinateur, car le débogage d'une application sur un téléphone est beaucoup plus difficile. Nous utiliserons le framework jQuery JS avec jQuery Mobile (jquerymobile.com) comme framework et Google Maps v3 comme moteur de carte. L'application sera composée de deux pages : une carte et une liste de points.

  • Un marqueur de votre position actuelle est placé sur la carte. En cliquant sur la carte, un point est créé auquel est attaché un message (du type « voiture à proximité »). Un point peut être supprimé en cliquant dessus. Pour déplacer le marqueur d'une personne sur la carte, une API de géonavigation est utilisée.
  • La page avec la liste des points doit avoir bouton supplémentaire"Supprimer tous les points", et à côté de chaque point il y a un bouton "Supprimer ce point". Si vous cliquez sur un élément de la liste, le point correspondant sera affiché sur la carte. Nous enregistrerons les paramètres utilisateur et la liste des points dans localStorage.

Cadres d'interface utilisateur

jQuery Mobile n'est bien sûr pas le seul framework pour créer interface mobile. Le site Web PhoneGap propose une énorme liste de bibliothèques et de frameworks que vous pouvez utiliser (phonegap.com/tools) : Sencha Touch, Impact, Dojo Mobile, Zepto.js, etc.

Cadre d'application

Je vais immédiatement expliquer pourquoi nous utiliserons jQuery Mobile. Cette bibliothèque JS nous fournit des éléments d'interface d'application mobile prêts à l'emploi (aussi proches que possible des éléments natifs) pour la plupart différentes plateformes. Nous avons besoin que le résultat soit une application mobile, et non une page d'un navigateur ! Alors téléchargeons dernière version JQuery Mobile (jquerymobile.com/download) et transférez-le vers dossier de travail Les premiers dossiers de candidature dont nous avons besoin sont :

  • images/ (déplacez ici toutes les images du dossier d'archive jq-mobile du même nom) ;
  • index.css;
  • index.html;
  • index.js ;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

Il est nécessaire de rendre les ressources majoritairement locales afin que l'utilisateur ne dépense pas Internet mobile. Nous créons maintenant le framework de page dans le fichier index.html. Le code ci-dessous décrit la partie supérieure pages avec une carte, l'inscription « Mémorial géologique » et le bouton « Points ».

Page de la carte

Géosouvenir

Points

L'attribut de page data-dom-cache="true" est nécessaire pour garantir qu'il n'est pas déchargé de la mémoire. Le bouton Points utilise data-transition="pop" pour que la page Liste des points s'ouvre avec un effet Pop-in. Vous pouvez en savoir plus sur la façon dont les pages jQuery Mobile sont structurées dans un bon manuel (bit.ly/vtXX3M). Par analogie, on crée une page avec une liste de points :

Page de liste de points

supprimer tout

Points

Carte

Pour le bouton « Carte », nous écrirons également data-transition="pop", mais nous ajouterons l'attribut data-direction="reverse" pour que la page "Carte" s'ouvre avec l'effet "Fade". Nous écrirons les mêmes attributs dans le modèle de points. Ça y est, notre cadre est prêt.

Création d'une application

Nous devons maintenant afficher la carte, pour laquelle nous prendrons la norme API Google Maps, utilisé par des millions de sites différents :

Var latLng = new gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, ( zoom : this.options.zoom, // Sélectionnez le centre de zoom initial : latLng, // Définissez le centre initial mapTypeId : gm.MapTypeId.ROADMAP, // Carte normale désactivéDoubleClickZoom : true, // Désactivez le zoom automatique en appuyant/double-cliquez DisableDefaultUI: true // Désactivez tous les éléments de l'interface ));

Ici Gm est une variable référençant l'objet Google Maps. J'ai bien commenté les paramètres d'initialisation dans le code. L'étape suivante consiste à dessiner un marqueur d'homme sur la carte :

This.person = new gm.Marker(( map: this.map, icon: new gm.MarkerImage(PERSON_SPRITE_URL, new gm.Size(48, 48)) ));

L'adresse du sprite de personne des panoramas Google est utilisée comme PERSON_SPRITE_URL. Son adresse statique- maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png . L'utilisateur ajoutera des points en cliquant sur la carte, donc pour les dessiner nous écouterons l'événement click :

Gm.event.addListener(this.map, "click", function (event) ( self.requestMessage(function (err, message) ( // Méthode qui renvoie le texte saisi par l'utilisateur if (err) return; // Méthode ajoute un point à la liste des points actifs et // le dessine sur la carte self.addPoint(event.latLng, self.options.radius, message self.updatePointsList( // Redessine la liste des points )); FAUX);

Je fournis la majeure partie du code – recherchez le reste sur le disque. Ensuite, nous devons apprendre à l'application à déplacer l'icône de l'utilisateur sur la carte. Dans le prototype, nous utilisons l'API de géolocalisation (celle qui est également utilisée dans les navigateurs de bureau) :

If (navigator.geolocation) ( // Vérifiez si le navigateur prend en charge la fonction de géolocalisation gpsSuccess(pos) ( var lat, lng; if (pos.coords) ( lat = pos.coords.latitude; lng = pos.coords.longitude; ) else ( lat = pos.latitude; lng = pos.longitude; ) self.movePerson(new gm.LatLng(lat, lng)); // Déplacer l'icône de l'utilisateur ) // Toutes les trois secondes, nous demandons la // position actuelle de l'utilisateur window.setInterval (function () ( // Demander la position actuelle navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, (enableHighAccuracy: true, maximumAge: 300000 )); , 3000);

La méthode movePerson utilise une simple procédure getPointsInBounds() pour vérifier si l'utilisateur se trouve à un point actif. Dernière question- où stocker la liste des points ? HTML5 a introduit la possibilité d'utiliser localStorage, alors ne le négligeons pas (je vous laisse découvrir vous-même ces parties du code, que j'ai bien commentées). Ainsi, l'application exécutée dans le navigateur est prête !

Lancer une application Web

Comme je l'ai déjà dit, le débogage doit principalement être effectué sur l'ordinateur. La plupart navigateur approprié pour tester des applications Web sur un ordinateur - il s'agit de Safari ou Chrome. Après le débogage dans ces navigateurs, vous pouvez être sûr que ton application ne fonctionnera pas dans le navigateur téléphone mobile. Ces deux navigateurs sont compatibles avec la plupart des navigateurs Web mobiles car ils sont construits sur le moteur WebKit, tout comme eux. Après avoir éliminé tous les bugs, vous pouvez procéder au lancement de l'application Web mobile directement sur votre téléphone. Pour ce faire, configurez votre serveur Web (même Denwer ou XAMPP) pour qu'il serve la page créée et ouvrez-la dans le navigateur de votre téléphone mobile. L'application doit ressembler à celle illustrée sur la figure. Il est important de comprendre ici que la future application mobile, compilée pour plateforme mobile en utilisant PhoneGap, il sera presque identique, sauf qu'il ne sera pas affiché à l'écran barre de navigation navigateur. Si tout va bien, vous pouvez commencer à créer une application iOS à part entière à partir de la page. Veuillez noter que PhoneGap et IDE pour développement mobile Nous n’y avons même pas touché jusqu’à présent.

Préparation

Afin de créer une application pour iOS, vous avez besoin d'un ordinateur avec un système d'exploitation Système Mac OS 10.6+ (ou machine virtuelle sur Mac OS 10.6), ainsi que l'environnement de développement Xcode avec iOS installé SDK. Si le SDK n'est pas installé, vous devrez télécharger une image disque à partir du site Web d'Apple comprenant Xcode et le SDK iOS (developer.apple.com/devcenter/ios/index.action). Gardez à l’esprit que l’image pèse environ 4 Go. De plus, vous devrez vous inscrire sur le site Web d'Apple en tant que développeur (si vous n'allez pas publier votre application dans l'AppStore, cette exigence peut être contournée). Avec ce kit, vous pouvez développer des applications natives. Langue iOS Objectif c. Mais nous avons décidé de contourner le problème et d'utiliser PhoneGap. Nous devons donc toujours installer le package PhoneGap iOS. Téléchargez simplement l'archive depuis le site hors site (https://github.com/callback/phonegap/zipball/1.2.0), décompressez-la et Dossier iOS exécutez le programme d'installation. Une fois l'installation terminée, l'icône PhoneGap devrait apparaître dans le menu des projets Xcode. Après le lancement, vous devrez remplir plusieurs formulaires, mais très bientôt vous verrez l'espace de travail IDE avec votre première application. Pour vérifier si tout fonctionne, cliquez sur le bouton Exécuter : l'émulateur iPhone/iPad avec l'application modèle PhoneGap devrait démarrer. Programme assemblé donnera une erreur indiquant que index.html n'a pas été trouvé - c'est normal. Ouvrez le dossier dans lequel vous avez enregistré les fichiers principaux du projet et recherchez-y le sous-dossier www. Faites-le glisser dans l'éditeur, cliquez sur l'icône de l'application dans la liste de gauche et dans la fenêtre qui apparaît, sélectionnez « Créer des références de dossier pour les dossiers ajoutés ». Si vous exécutez à nouveau le programme, tout devrait fonctionner. Nous pouvons maintenant copier tous les fichiers de notre prototype dans le dossier www. Il est temps de peaufiner notre prototype pour qu'il fonctionne sur un smartphone utilisant le traitement PhoneGap.

Transfert de prototypes

Tout d'abord, vous devez connecter phonegap-1.2.0.js à votre fichier d'index. PhoneGap vous permet de limiter la liste des hôtes disponibles pour la visite. Je suggère de configurer immédiatement ceci " Liste blanche" Dans le menu du projet, ouvrez Supporting Files/PhoneGap.plist, recherchez l'élément ExternalHosts et ajoutez-y les hôtes suivants auxquels notre application accédera (ce Serveurs Google Cartes) : *.gstatic.com, *.googleapis.com, maps.google.com. Si vous ne les spécifiez pas, le programme affichera un avertissement dans la console et la carte ne sera pas affichée. Pour initialiser la version web de notre application, nous avons utilisé l'événement DOMReady ou le helper jQuery : $(document).ready(). PhoneGap génère un événement deviceready, qui indique que l'appareil mobile est prêt. Je suggère d'utiliser ceci :

Document.addEventListener("deviceready", function () ( new Notificator($("#map-canvas")); // Si l'utilisateur n'a pas Internet, // l'en informer si (navigator.network.connection. type = == Connection.NONE) ( navigator.notification.alert("Pas de connexion Internet", $.noop, TITLE); ) ), false);
Empêchons le défilement : document.addEventListener("touchmove", function (event) ( event.preventDefault(); ), false);

Ensuite, nous remplacerons tous les appels d'alerte et de confirmation par ceux natifs que PhoneGap nous fournit :

Navigator.notification.confirm("Supprimer le point ?", function (button_id) ( if (button_id === 1) ( // Bouton OK enfoncé self.removePoint(point); ) ), TITLE);

La dernière chose que nous devons changer est le bloc de code qui déplace l'icône de l'utilisateur sur la carte. Notre code actuel fonctionne également, mais il fonctionne de manière moins optimale (il déplace l'icône même si les coordonnées n'ont pas changé) et ne fournit pas de données aussi riches que son homologue PhoneGap :

Navigator.geolocation.watchPosition(function (position) ( self.movePerson(new gm.LatLng(position.coords.latitude, position.coords.longitude)); ), function (erreur) ( navigator.notification.alert("code: " + error.code + "\nmessage : " + error.message, $.noop, TITLE); ), ( fréquence : 3000 ));

Ce code est plus élégant : il génère un événement uniquement lorsque les coordonnées ont changé. Cliquez sur le bouton Exécuter et assurez-vous que l'application que nous venons de créer fonctionne parfaitement dans le simulateur d'appareil iOS ! Il est temps de commencer à lancer sur un vrai appareil.

Lancer sur l'appareil

Connectez votre iPhone, iPod ou iPad à un ordinateur exécutant Xcode. Le programme détectera un nouveau périphérique et demandera l'autorisation de l'utiliser à des fins de développement. Cela ne sert à rien de la refuser :). Je le répète encore une fois : pour exécuter l'application écrite sur iOS, vous devez être autorisé Développeur iOS(en d'autres termes, être abonné à Développeur iOS programme). Cela ne vous dérangera que si vous développez des applications pour Produits Apple, avec d'autres plateformes (Android, Windows Phone) tout est beaucoup plus simple. Ceux qui étudient dans une université ont la possibilité d’accéder au programme gratuitement grâce à certains avantages. Tout le monde doit payer 99 $ par an pour participer au programme. Apple délivre un certificat avec lequel vous pouvez signer votre code. L'application signée peut s'exécuter sur iOS et être distribuée dans Magasin d'applications. Si vous n'êtes pas étudiant et que vous vous sentez quand même désolé d'avoir payé 99 $ pour des expériences innocentes, alors il existe un autre moyen : tromper le système. Vous pouvez créer un certificat auto-signé pour vérifier votre code et exécuter programme mobile sur un appareil iOS jailbreaké (je ne m'étendrai pas là-dessus, car tout est décrit le plus en détail possible dans cet article : bit.ly/tD6xAf). D'une manière ou d'une autre, vous verrez bientôt une application fonctionnelle sur l'écran de votre téléphone mobile. Arrêtez le chronomètre. Combien de temps cela vous a-t-il pris?

Autres plateformes

En plus de PhoneGap, il existe d'autres plateformes qui vous permettent de créer Applications mobiles sans utiliser les langues maternelles. Listons les joueurs les plus cool.

Appcelerator Titanium (www.appcelerator.com).

Titanium peut créer des applications principalement pour Android et iPhone, mais il prétend également prendre en charge BlackBerry. En plus du framework lui-même, le projet fournit un ensemble de widgets natifs et d'IDE. Vous pouvez développer des applications sur Titanium gratuitement, mais le support et modules supplémentaires vous devrez payer (à partir de 49$ par mois). Prix ​​de certains modules tiers atteint 120 $ par an. Les développeurs d'Appcelerator Titanium affirment que plus de 25 000 applications ont été écrites sur la base de leur framework. Le code source du projet est distribué sous licence Apache 2.

SDK Corona (www.anscamobile.com/corona).

Cette technologie prend en charge les principales plateformes – iOS et Android. Le framework est principalement destiné au développement de jeux. Bien entendu, les développeurs revendiquent une optimisation de haute qualité sur OpenGL. Version gratuite ce n'est pas le cas de la plateforme, et le prix est assez élevé : 199 $ par an pour une licence pour une plateforme et 349 $ par an pour iOS et Android. Corona propose ses propres émulateurs IDE et de périphériques. Les applications Corona sont écrites dans un langage similaire à JavaScript.

Conclusion

Nous avons créé un simple application web mobile et dans plusieurs étapes simples je l'ai porté sur la plate-forme iOS à l'aide de PhoneGap. Nous n'avons pas écrit une seule ligne de code Objective-C, mais nous avons obtenu un programme de qualité décente, passant un minimum de temps à porter et à apprendre l'API PhoneGap. Si vous préférez une autre plateforme, comme Android ou Windows Mobile 7, vous pouvez alors tout aussi facilement, sans aucune modification pour ces plates-formes, créer notre application (pour chacune d'elles, il existe un bon manuel d'introduction et un didacticiel vidéo : phonegap.com/start). Pour vérifier la viabilité de la plateforme, vous pouvez consulter des applications prêtes à l'emploi sur PhoneGap, que les développeurs technologiques ont rassemblées dans une galerie spéciale (phonegap.com/apps). En fait, PhoneGap est une plateforme idéale pour créer au moins un prototype d'une future application. Ses principaux avantages sont la rapidité et les coûts minimes, qui sont activement utilisés par les startups aux ressources limitées à tous égards. Si l'application échoue et que, pour une raison quelconque, vous n'êtes plus satisfait des composants internes de HTML+JS, vous pouvez toujours porter l'application vers un langage natif. Je ne peux m'empêcher de dire que PhoneGap a été initialement développé par Nitobi en tant que projet open source (le référentiel se trouve sur GitHub : github.com/phonegap). Le code source restera ouvert, même si Nitobi a été racheté par Adobe en octobre dernier. Dois-je dire quelles sont les perspectives du projet avec le soutien d’un tel géant ?

Chaque jour, il existe de plus en plus d'applications pour Android. Des millions jeux intéressants Et programmes utiles peuvent être trouvés dans Jouer au marché. Elles ont toutes interface conviviale et faire face à la tâche. C'est difficile d'imaginer sans eux monde moderne technologies de l'information. Cet article s'adresse aux personnes qui apprécient non seulement la fonctionnalité et apparence applications, et s’intéressent également à leur structure interne.

Si vous vous êtes déjà demandé ce qu’il y a « sous le capot » de votre application préférée, et que vous connaissez un peu la programmation, cet article est fait pour vous. Nous vous expliquerons comment afficher le code source d'une application Android directement sur votre gadget. Aller!

informations générales

La plupart des programmes pour le système d'exploitation Android, comme la plupart du système d'exploitation lui-même, sont écrits dans un langage de programmation. Cela signifie que si nous regardons le code source des programmes Android, nous verrons très probablement du code Java avec en utilisant Android SDK (qui inclut les outils de la plateforme Android). Je le répète : pour comprendre le code source des applications, il faut avoir notions de base Principes de fonctionnement Java et Android.

Comment connaître le code source des applications Android ?

Tout d’abord, téléchargez l’application dont le code source vous intéresse. Accédez ensuite au Play Market et téléchargez un utilitaire appelé Show Java. C'est elle qui fera la décompilation. Installée? Très bien, passons maintenant à la partie la plus intéressante : extraire l'original Code Android programmes. Lancez Afficher Java.

Sélectionnez l'application souhaitée parmi celles installées ou recherchez-la sur la carte SD. Vous devez maintenant sélectionner un décompilateur. Je choisis généralement CRF. Si vous rencontrez des problèmes, essayez JaDX.

À la fin du processus, vous recevrez une liste des packages sources Applications Android. Bien entendu, il ne s’agit pas d’une copie à 100 % du code écrit par les développeurs de cette application. Mais la logique fondamentale reste la même et n’est pas difficile à comprendre. Que faire des sources ? Rien. Regardez, jetez un œil, peut-être serez-vous intéressé par certaines « fonctionnalités » ou fonctionnalités de mise en œuvre des fonctionnalités du programme.

Titre:

Le terme « codes secrets pour Android » fait référence à de telles combinaisons de caractères qui étaient initialement destinées à tester les appareils sur lesquels ce logiciel est installé. système opérateur.

Avec leur aide, les développeurs testent les téléphones et les tablettes avant de les mettre en vente. Et leur nombre total atteint plusieurs dizaines.

La saisie d'une certaine séquence vous permet d'obtenir des données ou d'effectuer des actions qui ne sont pas disponibles utilisateurs ordinaires.

Contenu:

Caractéristiques des chiffres « secrets »

De nombreux utilisateurs confrontés à la nécessité d'utiliser de telles commandes peuvent s'interroger sur la raison de leur secret.

Tout d'abord, les combinaisons de symboles et de chiffres ont reçu ce nom car la plupart des propriétaires n'en ont pas besoin.

Et il n'y a aucune mention de ces commandes dans les instructions.

Pour utiliser l'un d'entre eux, vous devez accéder à l'application Téléphone dans le composeur (combiné vert ou bleu sur l'écran principal).

Les tablettes sans module 3G ne disposent pas de cette option par défaut.

Et pour exécuter les codes, l'utilisateur doit télécharger application spéciale, après l'avoir trouvé dans la requête « Dialer ».

Combinaisons pour n'importe quel gadget sur Android OS

Les séquences d'informations vous permettent d'obtenir des données sur différentes caractéristiques appareil et ses éléments individuels :

  • *#06# - Ô Numéro IMEI;
  • *#*#4636#*#* – à propos de la batterie et du réseau Wi-Fi ;
  • *#*#44336#*#* – sur le micrologiciel, y compris le numéro CSC et la date de construction ;
  • *#*#232338#*#* – à propos de l'adresse réseau sans fil;
  • *#34971539# – sur les caméras du gadget ;
  • *#*#1234#*#* (bien que *#2222# fonctionne beaucoup plus souvent) – à propos du firmware.

En entrant *#*#1111#*#* Vous pouvez obtenir des informations sur la version du logiciel à l'écran.

Introduction *#*#2222#*#* affiche les informations du tableau.

Les informations sur la version du capteur seront affichées par le code *#*#2663#*#* , à propos de la RAM – *#*#3264#*#* , et les données d'adresse Bluetooth sont *#*#232337#*#*.

Commandes de vérification et de tests

Il existe un groupe distinct pour tester l'appareil :

  • vérifier Services Google Talk assure la cohérence *#*#8255#*#* ;
  • pour vérifier le fonctionnement de l'affichage - *#*#0*#*#* ;
  • pour tester diverses pièces (de la caméra au microphone) – *#0*# ;
  • pour le test audio - deux à la fois : *#*#0673#*#* Et *#*#0289#*#* .

Vous pouvez vérifier le fonctionnement du rétroéclairage et des vibrations en saisissant la combinaison *#*#0842#*#* .

Testé à l'aide de la commande *#*#232339#*#* et supplémentaire *#*#526#*#* .

Le contrôle s'effectue en envoyant les commandes *#*#1472365#*#* (pour un test régulier) ou *#*#1575#*#* .

Réseau Bluetooth vérifié *#*#232331#*#* .

Plusieurs encore commandes utiles vous permettent de tester les performances de l'écran ( *#*#2664#*#* ), détecteurs de mouvement ( *#*#0588#*#* ) Et Module GSM (*#*#7262626#*#* ).

Une entrée *#197328640# offre une transition vers mode de service.

Des combinaisons dangereuses

Il existe plusieurs options, en entrant lesquelles vous pouvez apporter des modifications importantes au système sans pouvoir revenir à l'état initial.

Ceux-ci incluent, par exemple *#*#7780#*#* Et *2767*3855# .

Le premier garantit que tous les paramètres sont réinitialisés et supprimés utilisateur installé applications, la deuxième commande entraîne réinstallation complète systèmes.

Combinaison *#*#7594#*#* vous permet de vous débarrasser du menu d'arrêt - lorsque vous appuyez sur le bouton correspondant, ou s'éteint automatiquement sans rien demander à l'utilisateur.

Sélection des codes *#*#8351#*#* nécessaire pour permettre l'enregistrement numérotation vocale, UN *#*#8350#*#* – pour désactiver ce mode.

Sous-séquence #*5376# utilisé pour effacer les messages, et plusieurs combinaisons pour le type Android #*3876# , #*3851# Et #*2562# redémarrez le gadget.

Codes spéciaux pour les produits de fabricants individuels

Il existe plusieurs combinaisons adaptées uniquement à certains modèles ou des marques de gadgets. Ils peuvent être résumés dans un petit tableau.

Tableau 1. codes pour certains modèles appareils mobiles sur le système d'exploitation Android.
Modèle de marque Équipe Action
Sony **05***# débloquer le code PUK
LG, G3 3845#*855# entrer dans le menu de service
Samsung Galaxy S4 *#0011# aller au menu
HTC ##3424#

##33284#

démarrer le processus de diagnostic

informations sur l'état du réseau

Motorola *#*#786#*#*

*#*#2486#*#*

réinitialiser tous les réglages

aller au menu intégré

En plus de celles-ci, il existe d'autres commandes. L'application spéciale Secret Codes de PlayMarket vous aidera à les trouver. Avec son aide, vous pouvez même détecter ceux qui ne figurent pas sur la liste.

Tu devrais savoir: Toutes les séquences, même universelles, ne fonctionneront pas sur tous les smartphones. Une limitation à l'utilisation d'une combinaison secrète peut être un système d'exploitation auto-réinstallé provenant non pas du site officiel, mais de sources tierces.

Utiliser et apprendre des applications open source code source, vous pouvez apprendre à créer bonnes applications tout seul.


Ci-dessous sont répertoriés meilleurs projets pour Android et open source. Grâce à eux, vous pouvez apprendre de nombreuses bonnes pratiques pour le développement Android.

1. Application Android avec architecture MVP

MVP en utilisant .

2. Application Android avec architecture MVVM

Ce référentiel contient une application qui implémente l'architecture MVVM en utilisant Dagger2, GreenDao, RxJava2, Fast-Android-Networking et PlaceholderView.

3. Application Android Google I/O

Google E/S est une conférence de développeurs qui a lieu chaque année. Il propose des centaines de démonstrations technologiques réalisées par des développeurs.


Ce projet est une application Android pour une conférence. L'application prend en charge les appareils sous Contrôle Android 5.0+ et optimisé pour les téléphones et tablettes de toutes formes et tailles.


4. Dessins d'architecture Google Android

La plateforme Android offre une grande flexibilité lors de l’organisation et de l’archivage d’une application. Cette liberté peut conduire à des applications avec de grandes classes. Cela peut rendre les tests, le support et l’expansion difficiles.


Architecture Modèle Android destiné à la démonstration moyens possibles aider à résoudre ces problèmes. Ce projet montre la même application implémentée plusieurs fois en utilisant différents concepts et outils architecturaux.


Vous pouvez utiliser ces exemples comme point de départ pour créer propres applications. Ici, l'accent est mis sur la structure du code, l'architecture et les tests. Cependant, gardez à l’esprit qu’il existe de nombreuses façons de créer des applications avec ces architectures et outils. Concentrez-vous sur vos propres priorités et ne vous laissez pas trop emporter par ce qui pourrait être considéré comme des exemples canoniques.

5. Télégramme

Une application Android qui peut inspirer par son design, grâce à l'excellente mise en œuvre du Material Design.

7. Fil

Cette application de chat regorge d'images, de films, de GIF, de musique, de croquis et d'autres formes de médias. Il fournit également un cryptage sécurisé de bout en bout à tout moment.


8. Robot d'application Android

Kickstarter est une communauté mondiale qui contribue à faire projets créatifs dans la vie. Explorez des milliers de projets dans les domaines de l'art, du design, du cinéma, des jeux, de la musique et bien plus encore.

10.PocketHub

GitHub a refusé de prendre en charge l'application, elle a donc été rendue publique et maintenue en tant que projet public. Aujourd'hui, la société travaille activement à la réédition de cette application en Jouer au magasin. Cette application sera le successeur spirituel de l'application originale.

11. Application Android simple avec MVP

Une application très simple montrant comment implémenter une architecture MVP.