34 votes

Application Android pour téléphone et tablette: 1 ou 2 applications?

Je dois développer une application pour les téléphones Android sous forme de comprimés. La logique de l'application est la même, tandis que l'INTERFACE utilisateur est complètement différent. Je me demandais comment je dois traiter avec ceci: 1 grand app pour les deux, ou une application pour téléphone et une application pour tablette (et puis téléchargez les 2 apk est comme 1 app dans le marché).

Quand je fais 1 demande, je dois vérifier si c'est un téléphone ou une tablette dans le code pour rediriger vers l'activité appropriée. Aussi je devrais inclure la compatibilité de code pour faire de la compilation pour les téléphones. Si je voulais faire 2 applications, je n'ai pas besoin que de vérifier et je n'ai pas besoin d'inclure le code de compatibilité, de sorte que l'application serait beaucoup plus petit. Mais dans ce cas, je vais copier/coller de la logique de l'application constante d'un projet à l'autre alors que le développement.

C'est pour ça que je me demandais, quelle est la meilleure pratique dans ce cas? J'ai été la recherche d'informations à ce sujet, mais je ne trouve que des articles sur la façon de gérer les différents layouts xml, ou des articles avec des pas tellement d'informations.

17voto

Vinayak B Points 16555

Ma réponse, une application. L'exemple de démonstration iosched - Google I / O App pour Android de Google I / O explique tout sur comment et quoi. Code source disponible! Ça vaut le coup!

Lien de téléchargement Apk: http://www.mediafire.com/?wck52jweyz1

7voto

sravan Points 2403

Certainement faire une application.

Vous pouvez créer différents fichiers de mise en page pour les téléphones et les tablettes. Pour les tablettes, vous devriez créer des fichier de mise en page dans le dossier res qui est appelé schéma de large (pour les tablettes), par téléphone qui fournit par défaut du fichier de mise en page, et en même temps pour le mode paysage, vous pouvez créer un sous-dossier nommé à la présentation du grand paysage (comprimés) pour les téléphones mise en page-paysage

create extra resourse folders like this

et ajouter quelques balises pour prendre en charge plusieurs écrans:

  1. <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="9"/>
  2. <supports-screens android:anyDensity="true" />

4voto

Pointer Null Points 14229

Certainement faire une application.

Android est parfaitement conçu pour s'adresser à différents périphériques, son système de sélection des ressources à partir de ser/ dossiers en fonction de l'appareil capacités est une grande aide pour vous. Vous pouvez avoir complètement différente de la mise en page pour les grands écrans vs petits, portrait vs paysage pour les tablettes vs téléphones, etc.

Et votre code est écrit/maintenue juste une fois.

Bien sûr, vous voulez faire venir de code conditionnel en fonction de si votre chargé de mise en page de point de vue particulier, par exemple chargés uniquement sur grand écran, et à condition de remplir il y a des données supplémentaires si son présent.

Lire des documents sur Android développeur de site sur la façon de prendre en charge plusieurs écrans, de multiples versions d'Android, les modes de compatibilité avec les anciennes versions d'Android, etc.

Aussi, si vous expédiez une seule application, vous obtenez unique aux commentaires des utilisateurs / notation sur l'Android Market, et pas dans 2 apps.

1voto

Aiden Fry Points 606

J'ai réfléchi à la même chose, bien que mes dispositions de code soient déjà réparties pour les variantes de tablette / téléphone.Je cherche une optimisation de la taille en utilisant deux applications, mais j'ai défini une méthode pour utiliser UN jeu de codes pour construire les deux variantes.

Android dois-je diviser mon application en variantes de tablette et de téléphone

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X