Juin
28
|
Pour faire une capture d’écran d’un périphérique Android, il existe au moins 2 méthodes (j’n’en connais pas d’autre, pour l’instant, mais cela n’implique pas qu’il n’en existe pas ) :
- Installer le SDK d’Android et utiliser
- l’application Davilk Debug Monitor
- l’outil MonkeyRunner
- Avoir un téléphone rooté
- Utiliser des applications tierces
Vous pouvez trouver des informations sur le blog de Lorand concernant ces méthodes.
Ce qui m’intéresse, c’est plus le comment fait le DDMS pour obtenir une capture… s’il en est capable, je devrais aussi pouvoir le faire sans passer par lui…
Du coup, j’ai lancé mon EclipseW pour faire un vrai projet JavaW, et non pas un projet AndroidW.
J’ai inclus au nouveau projet une bibliothèque du SDK d’Android, ddmlib.jar.
Puis, j’ai créé deux classes :
- Une pour parser les arguments que j’envoie en ligne de commande
- Une pour aller récupérer la capture d’écran
La classe pour les arguments est basée sur cet exemple.
Le code de cette classe dans mon implémentation est le suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package org.whiler.helper; import java.util.*; public class ArgumentsParser { private Vector<String> params = new Vector<String>(); private Hashtable<String, String> options = new Hashtable<String, String>(); private int paramIndex = 0; public ArgumentsParser(String[] args) { for (int i = 0; i < args.length; i++) { if (args[i].startsWith("-") || args[i].startsWith("/")) { int loc = args[i].indexOf("="); String key = (loc > 0) ? args[i].substring(1, loc) : args[i].substring(1); String value = (loc > 0) ? args[i].substring(loc + 1) : ""; options.put(key.toLowerCase(), value); } else { params.addElement(args[i]); } } } public boolean hasOption(String opt) { return options.containsKey(opt.toLowerCase()); } public String getOption(String opt) { return (String) options.get(opt.toLowerCase()); } public String nextParam() { if (paramIndex < params.size()) { return (String) params.elementAt(paramIndex++); } return null; } } |
Sur la page suivante, le code pour la connexion au périphérique et la récupération de l’image…
Pages : 1 2
Moi j’ai un super système personnalisé pour faire mes captures d’écran
Merci Whiler
@ Lorand :
j ai un tel android et une cam ip j ai fait le flux de l image maintenant je veux capturer une image je fai comment
@ emna : je ne comprends pas la question…
Je ne vois pas le rapport entre la caméra IP et les captures d’écran dont je parle dans cet article ?
Vous avez développé une application sur Android comme IP Cam Viewer ?
modifié/traduit par Whiler
Politique de confidentialité