Sunteți pe pagina 1din 340

LiveCode Mobile Development

Gua para principiantes


Crea divertidas, aplicaciones ricas para Android y iOS con
LiveCode
Colin Holgate
BIRMINGHAM- MUMBAI
Gua LiveCode Mobile Development principiantes
Copyright 2012 Packt Publishing
Todos los derechos reservados. Ninguna parte de este libro puede ser reproducida,
almacenada en un sistema de recuperacin, o transmitida en cualquier forma o por
cualquier medio, sin el permiso previo y por escrito del editor, excepto en el caso de
breves citas incluidas en artculos crticos o revisiones.
Cada esfuerzo se ha hecho en la preparacin de este libro para asegurar la exactitud de la
informacin presentada. Sin embargo, la informacin contenida en este libro se vende sin garanta,
ya sea expresa o implcita. Ni el autor, ni Packt Publishing y sus concesionarios y distribuidores
sern responsables por cualquier dao causado o presuntamente causado directa o
indirectamente por este libro.
Packt Publishing ha tratado de proporcionar informacin sobre todas las marcas de las compaas
y productos mencionados en este libro por el uso adecuado de los capitales. Sin embargo, Packt
Publishing no puede garantizar la exactitud de esta informacin.
Publicado por primera vez: Julio 2012
Produccin de Referencia: 1190712
Publicado por Packt Publishing
Ltd. Place Livery
35 Livery Street
Birmingham B3 2PB, Reino Unido.
ISBN 978-1-84969-248-9
www.packtpub.com
Cover Image Artie por Ng (artherng@yahoo.com.au)
Crdito
s
Autor
Colin Holgate
Revisores
Bjrnke von Gierke
Andreas Rozek
Adquisicin Editor
Mara Jazmn Nadar
Lead Editor Tcnico
Susmita Panda
Editores Tcnicos
Rati Pillai
Lubna Shaikh
Coordinador del Proyecto
Leena Purkait
Corrector de pruebas
Stephen Seda
Los indizadores
Hemanjini Bari
Tejal Daruwale
Coordinador de Produccin
Arvindkumar Gupta
Cubrir las obras
Arvindkumar Gupta
Acerca del Autor
Colin Holgate se form originalmente como un tcnico en telecomunicaciones en la
Real Fuerza Area, pero con el advenimiento de la era de la computadora personal hizo la
transicin a trabajar como ingeniero de soporte tcnico para las empresas que se incluyen
Apple Computer Reino Unido.
En 1992 se traslad a los EE.UU. para convertirse en un programador de tiempo multimedia
completo, que trabaja para La Compaa Voyager. En este cargo, programado premio
ganando varios CD-ROM, incluyendo la Noche de un da duro y This Is Spinal Tap.
Durante los ltimos 12 aos ha trabajado para Colin basura divertida, una ciudad de Nueva
York basado empresa Diseo de Medios Interactivos. Adems de utilizar Adobe Director y
Adobe Flash para Internet
y las aplicaciones de puestos, se ha utilizado para crear LiveCode de la casa y las
herramientas de cliente de produccin. En la Conferencia RunRevLive en 2011, Colin
particip y gan un concurso para crear una aplicacin mvil hecho con LiveCode.
Acerca de los
revisores
Bjrnke von Gierke comenz scripting con HyperCard cuando era un adolescente.
Comenz a usar LiveCode como un hobby y porque quera crear un juego de ordenador, por
lo que nunca hizo ningn tipo de codificacin. Pronto su enfoque cambi a varias iniciativas
comunitarias y libres de add-ons para desarrolladores LiveCode, as como pequeas
aplicaciones de bases de datos para la organizacin local sin fines de lucro
organizaciones. Por ahora ha funcionado y, sobre todo, juega con LiveCode por ms de 10
aos.
Andreas Rozek es un fsico (aunque con muchos aos de experiencia en proyectos de
investigacin de la UE en materia de telecomunicaciones y multimedia mvil). Pero, como
su esperanza (es decir,
que "Las computadoras debe ser divertido y apoyar a las personas en lugar de molestar o
incluso impedir") todava tiene que convertirse en la realidad comn, esencialmente de
bsqueda - da tras da - para entornos de desarrollo muy adecuado "para el resto de
nosotros" y trata de construir "soluciones humanitarias" por medio de sistemas acoplados
de manera inteligente, conceptos intuitivos operativos, interfaces de usuario atractivas y
procedimientos de tolerancia a fallos.
LiveCode es a la vez, un lenguaje de programacin que puede ser fcilmente utilizado por
los programadores "casuales", y un entorno de desarrollo que ayuda en la construccin
de interfaces de usuario visualmente atractivas para una amplia variedad de dispositivos
de destino. Por esa razn, Andreas se alegra de haber tenido la oportunidad de revisar
este maravilloso libro que le ayudar a convertir sus ideas en aplicaciones mviles reales.
www.PacktPub.com
Los archivos de soporte, libros electrnicos, ofertas de
descuento y mucho ms
Es posible que desee visitarwww.PacktPub.com para los archivos de soporte tcnico y
descargas relacionadas con tu libro.
Saba usted que Packt ofrece versiones de libros electrnicos de todos los libros
publicados, con archivos PDF y ePub disponibles? Puede actualizar a la versin de libro
electrnico en www.PacktPub.com y como cliente Libro, usted tiene derecho a un
descuento en la copia de libros electrnicos. Pngase en contacto con nosotros en
service@packtpub.com para ms detalles.
En www.PacktPub.com, Tambin se puede leer una coleccin de artculos libres de
tcnicos, regstrate para abrir una serie de boletines gratuitos y recibe descuentos y
ofertas exclusivas en los libros Packt y libros electrnicos.
http://PacktLib.PacktPub.com
Necesita soluciones inmediatas a todas sus preguntas? PacktLib est en lnea Packt
biblioteca digital de libros. Aqu, usted puede acceder, leer y buscar en toda la biblioteca
de Packt de libros.
Por qu registrar?
Se pueden hacer bsquedas a travs de cada libro publicado por Packt
Copiar y pegar, imprimir y marcar contenido
A peticin y accesible a travs del navegador web
Acceso gratuito para los titulares de cuentas Packt
Si usted tiene una cuenta con Packt en www.PacktPub.com, Puede utilizar esta
opcin para acceder PacktLib hoy y ver nueve libros totalmente gratis. Slo tiene que
utilizar sus credenciales de inicio de sesin para acceso inmediato.
Tabla de contenidos
PreFas 1
Toter 1: LivEcode fundatals 7
Antecedentes historia y metaphors8
Usted tiene LiveCode, no? 9
Aprender la disposicin de la land9
Principal windows10
Tiempo de accin - es un lastre, pero te va a gustar 11!
Creacin de un hierarchy13
Pila structure14
Dnde cdigo goes14
Tiempo para la accin - de decisiones y la navegacin entre cards15
Realizacin de una aplicacin sencilla calculadora 18
Inspector de pistas, oh ... 18
Tiempo de accin - hacer de la calculadora buttons19
Verbosidad, sinnimos, y "yo" 20
Adicin de la tarjeta handlers22
Tipos de variables en LiveCode24
Ampliacin de la calculator27
Otra interfaz controls28
Reproductor de vdeo control28
Imagen fija control28
Rollover buttons28
Controles muchos ms ... 30
Debugging30
Tutorials32 lnea de RunRev
Summary32
Toter 2: Getting Starteed con LivEcode Mobile 35
iOS, Android, o ambas 36?
Table of Contents
[ 2 ]
Convertirse en un Android developer36
Android Market36
Amazon Appstore40
Descarga del SDK44 Android
Instalacin del SDK de Android en Mac OS X (Intel) 45
Instalacin del SDK de Android en Windows46
LiveCode Sealando el SDK47 Android
Convertirse en un developer49 iOS
Instalacin Xcode57
LiveCode Sealando el SDKs59 iOS
Antes de que podamos hacer nuestro primer mvil app60
Cmo prepararse para la prueba de Android60
Tiempo de accin - a partir de un Android virtuales device60
Conexin de un fsico device61 Android
El uso de un Fire61 Kindle
Tiempo para la accin - la adicin de un fuego Kindle a ADB62
Cmo prepararse para la prueba de iOS64
Tiempo de accin - con el iOS simulator64
Appiness por fin! 64
Tiempo para la accin - probando una simple pila en la simulators65
Tiempo para la accin - probando una simple pila de devices66
Adems reading67
Summary68
Toter 3: El usuario Edificio Enterfaces 69
La creacin de un banco de pruebas mvil app70
Tiempo para la accin - lo que el banco de pruebas stack70
Invocando el escritorio aplicacin de correo electrnico 72
Tiempo de accin - pidiendo que el nativo de aplicacin de correo electrnico 72
Instalacin del correo electrnico de prueba a devices72
Tiempo de accin - stack tratando de banco de pruebas en devices73
Abrir una web page75
Tiempo de accin - pidiendo la aplicacin del navegador nativo 75
Mobile-solamente, fecha picker76
Tiempo de accin - que muestra una fecha picker77
Mvil de slo carga pictures77
Tiempo de accin - Carga pictures78
Haciendo OS estilo buttons79
Usando bitmaps80
Tiempo para la accin - el uso de Photoshop para preparar botn states80
MobGUI al rescate! 83
Tiempo de accin - Conceptos bsicos del MobGUI84
Table of Contents
[ 3]
Test app cama, el way86 MobGUI
Tiempo de accin - con MobGUI para hacer un banco de pruebas app86
MobGUI nativo controls88
Tiempo de accin - con controles nativos de MobGUI89
Ajuste de las cosas por pantalla diferente sizes91
Diseo con un cambio de tamao handler91
Tiempo para la accin - diseo simple cdigo example92
Layout usando la Geometra LiveCode Manager93
Tiempo para la accin - con el Administrador de Geometra para posicionar buttons94
Layout usando MobGUI95
Tiempo de accin - con MobGUI recordar diseos para US95
Adems reading96
Summary97
Toter 4: Uso de RemotDa etuna y Medios de Comunicacin 99
Pila structure100
Cdigo impulsado y creado manualmente layouts100
Lugares para code101
Cargar y guardar data103 externos
Consultar un URL103
Leer y escribir en un archivo de texto 105
Usando otra pila para almacenar data107
Tiempo de accin - la creacin de una base de datos guardar stack107
Creacin de una web "scraper" app110
Tiempo de accin - la creacin de navegacin por pestaas 110
El navegador card112
Tiempo de accin - la adicin del navegador controls113
El card114 Links
Tiempo para la accin - hacer una funcin de extraccin de enlaces 115
Las personas desaparecidas links118
Una cosa ms ... 118
Tiempo de accin - la adicin de la tarjeta de Enlaces "init" handler118
El texto card120
Tiempo de accin - la creacin de la card120 Texto
El card121 Medios
Tiempo para la accin - la extraccin de una lista de medios links121
Tiempo de accin - la creacin de la tarjeta de los medios de comunicacin scripts123
Los encargados card125
Time for Action - la creacin de los Guardianes card126
Y ahora qu? 129
Summary129
Table of Contents
[ 4 ]
Toter 5: Realizacin de una Jigsaw Puzzle Aplicuncin 131
Datos Formato de la imagen 132
Misterio byte ... 133
El mal uso imageData del! 134
Tiempo para la accin - probando una funcin getPixel 134
Simulacin de un montn y un montn de botones 136
Tiempo de accin - hacer un mapa de los Estados Unidos 136
Uso de maskData para la deteccin de colisiones 139
Tiempo de accin - haciendo un hipdromo 139
Tiempo para la accin - lo que un coche de carreras 141
Cmo hacer un rompecabezas 146
Ir a pedazos ... 146
Tiempo de accin - la creacin de las piezas y la eleccin de un image146
Tiempo de accin - la transferencia de imageData151
Adicin de interactividad 154
Tiempo para la accin - creacin contacto events155
Summary158
Toter 6: Realizacin de una Reminder Aplicuncin 159
Qu es un "recordatorio"? 159
Cundo? 160
Fecha y hora pickers161
Tiempo de accin - la creacin de fecha y hora pickers161
Dnde? 164
Tiempo para la accin - probando ubicacin nativo tracking165
Clculo de la distancia entre dos puntos en Earth167
Qu? 169
Hacer que los recordatorios app170
Disear el cards170
Tiempo de accin - crear el recordatorio aplicacin screens170
Pila nivel scripts174
Tiempo para la accin - la adicin de funciones de nivel de pila 174
Home tarjeta scripts177
Tiempo para la accin - lo que los botones de la tarjeta Inicio work178
Crear una ubicacin card180
Tiempo de accin - hacer de la ubicacin de la tarjeta work181
Recordatorio entrada form182
Tiempo de accin - teniendo en informacin sobre el reminder182
Summary185
Toter 7: deploying to YDe nuestrovicio 187
Configuracin de aplicaciones independientes 188
Table of Contents
[ 5 ]
General188
Stacks189
Copia Files189
iOS189
Construir for190
Configuracin bsica de aplicacin 191
Icons192
Splash Screens193
Opciones de orientacin 194
URL personalizada Scheme194
Requisitos y restricciones 194
Estado Bar195
Android196
Configuracin bsica de aplicacin 196
Requisitos y restricciones 198
Aplicacin Permissions198
Opciones de la interfaz de usuario 199
Creacin de aplicaciones para Beta Testers199
Envo de una aplicacin Android para testers199
Preparacin de una aplicacin iOS para que pueda trabajar en algn otro device200
La creacin de "Over The Air" instaladores para iOS202
AirLaunch202
BetaBuilder203
TestFlightApp.com204
Creacin de una tienda de aplicaciones de archivo de envo 204
Encontrar y utilizar la aplicacin para Android Keytool 204
Creacin de un certificado de distribucin para iOS206
Subida a la aplicacin stores208
Qu es similar209
Qu es different209
Line209 Bottom
Summary210
Apndice: Extterminando LivEcode 211
La historia hasta ahora ... 211
Extender LiveCode212
MobGUI212
tmControl213
DropTools Palette214
mergExt215
La creacin de su propio complemento ons216
Custom controls216
Externals216
Table of Contents
[ 6]
Pop Concurso Answers 219
Captulo 1, LiveCode Fundamentals219
Captulo 2, Primeros pasos con LiveCode Mobile220
Captulo 3, Edificio del usuario Interfaces220
Captulo 4, Uso de datos remotos y Media221
Captulo 5, Cmo hacer una aplicacin Jigsaw Puzzle 221
Captulo 6, Cmo hacer una aplicacin Recordatorios 222
Index 223
Table of Contents
[ 7 ]
Prefacio
Todo el mundo te conoce tiene un dispositivo mvil inteligente de algn tipo. Usted
probablemente posee varios! La idea general de tener aplicaciones de utilidad en un telfono
no es nueva, e incluso telfonos celulares y juegos de PDA han existido durante aos, pero la
forma en que el iPhone utiliza tctil en lugar de un lpiz o el teclado y gestos para reducir el
nmero de pasos para hacer algo, era un elemento de cambio.
El iPhone fue lanzado en junio de 2007, y el sistema operativo Android, en septiembre de
2008. Si quieres crear algo que funcionaba en ambas plataformas que tena que aprender
dos entornos de desarrollo y lenguajes; Objective-C para el iPhone y Java para Android.
En el mundo del escritorio hay varias herramientas de desarrollo que le permiten publicar
en Mac y Windows, as como Linux en el caso de LiveCode. La ms exitosa de estas
herramientas son Adobe Director, Adobe Flash, Unity, y LiveCode. La publicacin en iOS se
est trabajando para el director, lo que significa que las cuatro herramientas tambin son
adecuados para el desarrollo para mviles.
Estas herramientas tienen diferentes puntos fuertes. En algunos casos, las fortalezas se
refieren a la naturaleza de las aplicaciones que puede hacer, y en otros casos se refiere a la
accesibilidad de la herramienta es para personas que no son programadores hardcore. Si
quieres hacer un juego 3D de alta calidad, la Unidad sera la mejor opcin, con el director y
luego Flash como otras opciones. Si usted necesita una gran cantidad de animaciones de los
personajes, Flash sera la mejor opcin, con el director ser una buena alternativa.
Si lo importante es la forma en que la herramienta es accesible, entonces LiveCode gana
fcilmente. Es tambin
tan vlida una opcin para hacer la mayora de las aplicaciones que usted podra desear. De
hecho, para aplicaciones que
son un conjunto de pantallas individuales, como sera el caso para la mayora de aplicaciones de
utilidad, as como para el tablero
y los juegos de puzzle, LiveCode se adapta mejor que las otras herramientas. Tambin tiene un
mejor acceso
a elementos de la interfaz nativa, con el resto de herramientas que normalmente tienes que crear
grficos que
se asemejan a la apariencia de los controles nativos de iOS y Android, en lugar de acceder a la
realidad.
Preface
[ 2 ]
Con su fcil de usar Ingls-como lenguaje de programacin, y la "pila de tarjetas de" la
metfora, LiveCode le permite concentrarse ms en la creacin de la aplicacin que desea
hacer, y menos en los aspectos tcnicos del entorno de desarrollo.
Lo que este libro cubre
Captulo 1, Fundamentos LiveCode, le dar a conocer el entorno LiveCode, y su lenguaje de
programacin similar al Ingls. Los usuarios experimentados LiveCode puede saltarse este
captulo, pero para alguien nuevo en LiveCode este captulo le llevar a travs de la creacin
de una aplicacin de calculadora simple como una manera de hacer que usted familiarizado
con las distintas herramientas y la jerarqua de LiveCode.
Captulo 2, Introduccin a LiveCode Mobile, describe en detalle cmo configurar tu ordenador
Mac o Windows para que est listo para desarrollar y publicar aplicaciones mviles. Este
captulo le llevar hasta el final de registrarse como un desarrollador de iOS y Android, para
crear y probar su aplicacin mvil LiveCode primero.
Captulo 3, La construccin de interfaces de usuario, se muestra cmo utilizar algunas de las
caractersticas estndar de telefona mvil, tales como selectores de fecha, lbum de fotos y
cmara. En este captulo tambin mostrar cmo hacer sus propios botones con iOS mirar a
ellos, y cmo utilizar el LiveCode add-on, MobGUI, para hacer su vida ms fcil!
Captulo 4, Uso de datos remotos y medios de comunicacin, se analiza la estructura de las
aplicaciones, dnde colocar el cdigo, y cmo leer y escribir en archivos de texto externos.
Tambin crear una aplicacin mvil que es un "web-scraper", capaz de extraer enlaces y los
medios de comunicacin desde una pgina web, y mostrar o reproducir el contenido de esa
pgina.
Captulo 5, Realizacin de una aplicacin Puzzle Jigsaw, le mostrar cmo procesar datos de
imagen, y utilizar la informacin para crear un selector de color, detectar las regiones, y para
hacer un mapa de la colisin. A continuacin, crear una aplicacin de rompecabezas
completo que lleva su imagen desde el lbum de fotos o cmara del dispositivo.
Captulo 6, Realizacin de una aplicacin Recordatorios, examina qu tipo de informacin se
necesita para representar un "recordatorio", y cmo configurar los eventos de notificacin
para que sean alertadas en una fecha y hora especificadas. Va a hacer una aplicacin de
recordatorios que puede crear una lista de este tipo de eventos, e incluso una lista de los
eventos en funcin de su ubicacin actual.
Captulo 7, Implementacin en tu equipo, es un captulo de referencia que describe todos los
ajustes de publicacin mviles. El captulo tambin muestra cmo enviar aplicaciones a los
probadores beta, y cmo empezar con la presentacin de su aplicacin final a las tiendas de
aplicaciones diversas.
Apndice A, Extender LiveCode, describe los complementos para LiveCode que har que sus
Preface
[ 3 ]
aplicaciones mviles se ven mejor, o que se extiendan las capacidades mviles de LiveCode.
Preface
[ 4 ]
Lo que necesitas para este libro
Adems del propio LiveCode, se necesitara un Mac o un PC, iOS y / o dispositivos Android, y
una cantidad de dinero si se siguen las partes sobre cmo registrarse como desarrollador
mvil! Para el desarrollo de iOS tendr acceso a un Mac basado en Intel para algunos de los
pasos. El cdigo de ejemplo requiere LiveCode versin 5.5 o posterior.
Quin es este libro para
El lector ideal para este libro sera alguien que ya sabe LiveCode, est interesado en la
creacin de aplicaciones mviles, y quiere salvar a las muchas horas que tomara para
localizar toda la informacin sobre la manera de empezar! Captulo 1, Fundamentos
LiveCode, ayudar a los lectores que saben de programacin, pero no estn familiarizados
con LiveCode suficiente para que puedan beneficiarse del resto del libro.
Convenios
En este libro, usted encontrar varios epgrafes que aparecen con frecuencia.
Dar instrucciones claras de cmo llevar a cabo un procedimiento o tarea, usamos:
Tiempo de accin - en el epgrafe
1. Accin 1
2. Accin 2
3. Accin 3
Instrucciones a menudo necesitan una explicacin adicional para que tengan
sentido, por lo que se siguen con:
Qu ha pasado?
En este epgrafe se explica el funcionamiento de las tareas o instrucciones que acaban
de terminar. Usted tambin encontrar algunas otras ayudas de aprendizaje en el libro,
incluyendo:
Pop Quiz - encabezamiento
Estos son cortas preguntas de opcin mltiple destinadas a ayudarle a probar su comprensin.
Preface
[ 5 ]
Tener un hroe go -
encabezamiento
Estos fijar objetivos prcticos y darle ideas para experimentar con lo que has
aprendido.
Usted tambin encontrar una serie de estilos de texto que distinguen a los diferentes tipos de informacin.
Estos son algunos ejemplos de estos estilos, y una explicacin de su significado.
Las palabras de cdigo en texto se muestran de la siguiente manera: "En la lnea en blanco
entre en mouseUp y mouseUp final, tipo numberPressed la etiqueta de m. "
Un bloque de cdigo se
establece como sigue:
en clearPressed
poner en verdadero newNumber
poner 0 en el campo
"display" poner 0 en
currentTotal
poner 0 en CurrentValue
puesto vaco en el extremo
currentCommand clearPressed
Cualquier entrada de lnea de comandos o de salida se
escribe de la siguiente manera:
export PATH = $ PATH :/ Usuarios / nombredeusuario / Documents /
android-sdk-macosx /
plataforma-
herramienta
Los nuevos trminos y las palabras importantes se muestran en negrita. Las palabras que
usted ve en la pantalla, los mens y cuadros de dilogo, por ejemplo, aparecen en el texto
de esta manera: "Toma nota de los elementos en el lado derecho, las Muestras de
usuario, tutoriales, recursos, y un diccionario.".
Advertencias y notas importantes aparecen en un cuadro
como este.
Consejos y trucos aparecer as.
Preface
[ 6]
Lector de retroalimentacin
Los comentarios de nuestros lectores siempre es bienvenida. Hganos saber lo que
piensas acerca de este libro, lo que le gust o no le gustaba puede haber. Lector de
retroalimentacin es importante para nosotros desarrollar ttulos que realmente sacar el
mximo provecho de.
Para enviarnos sus consultas generales, slo tiene que enviar un e-mail afeedback@packtpub.com,
y mencionar el ttulo del libro a travs del tema de su mensaje.
Si hay un tema que tiene experiencia y est interesado en cualquiera de los dos por
escrito o contribuir a un libro, ver nuestra gua de autor en www.packtpub.com /
autores.
Atencin al cliente
Ahora que usted es el orgulloso propietario de un libro de Packt, tenemos una serie de
cosas que le ayudarn a sacar el mximo partido a su compra.
Descargar el cdigo de ejemplo
Puede descargar los archivos de cdigo de ejemplo para todos los Packt libros que haya comprado de su cuenta
al http://www.packtpub.com. Si ha adquirido este libro en otra parte, se puede visitar
http://www.packtpub.com/support y registrarse para tener los archivos enviados por
correo electrnico directamente a usted.
Fe de erratas
Aunque hemos tomado todas las precauciones para asegurar la exactitud de nuestro
contenido, los errores ocurren. Si usted encuentra un error en uno de nuestros libros, tal vez
un error en el texto o el cdigo estaramos agradecidos si usted desea informar de esto a
nosotros. De esta manera, usted puede ahorrar otros lectores de la frustracin y nos ayudan
a mejorar las versiones posteriores de este libro. Si encuentra alguna
fe de erratas, por favor informe al visitar http://www.packtpub.com/support, la
seleccin de su libro, al hacer clic en el enlace de envo de formularios fe de erratas, y entrar
en los detalles de sus erratas. Una vez que sus erratas se verifican, su presentacin ser
aceptada y la fe de erratas se subirn a nuestro sitio web, o aadir a una lista de erratas
existentes, en la seccin de erratas de ese ttulo.
Preface
[ 7 ]
Piratera
La piratera de material con copyright en Internet es un problema constante en todos los
medios. En Packt, tomamos la proteccin del derecho de autor y licencias muy en serio. Si te
encuentras con las copias ilegales de nuestras obras, en cualquier forma, en el Internet, por
favor indquenos la direccin de ubicacin o el nombre del sitio web inmediatamente para
que podamos presentar un recurso.
Por favor, pngase en contacto con nosotros en copyright@packtpub.com con un enlace al
material sospechoso pirata. Le agradecemos su ayuda en la proteccin de nuestros autores, y
nuestra capacidad para producir contenido valioso.
Preguntas
Puede contactar con nosotros enquestions@packtpub.com si usted est teniendo
problemas con algn aspecto del libro, y haremos nuestro mejor esfuerzo para resolver
el problema.
1
Fundamentos LiveCode
Es este captulo para usted?
LiveCode tiene un lenguaje de programacin similar al Ingls, un entorno de
desarrollo grfico, y una metfora fcil de entender estructural. Cuando se crea
una aplicacin, pasar ms tiempo pensando en cmo poner en prctica las
diferentes caractersticas, y menos acerca de las complejidades de la
herramienta que est utilizando. Pero si usted nunca ha usado antes LiveCode,
todava va a ser desconocido al principio. Este captulo le llevar hasta la
velocidad, listo para los ltimos captulos que requerirn que usted est ms
familiarizado con la terminologa y las caractersticas de la herramienta.
LiveCode es fcil, pero hay miles de cosas fciles de aprender! A lo largo del libro vamos a
ver la ltima de las cosas fciles, sobre todo los relacionados con las aplicaciones mviles,
pero primero debemos repasar algunos de los conceptos bsicos.
En este captulo, deber:
Familiarizarse con el entorno LiveCode
Investigar la jerarqua de un LiveCode "pila"
Crear una aplicacin de calculadora simple
Ms informacin sobre los controles de la interfaz diversos
As que vamos a seguir adelante con ella ...
LiveCode Fundamentals
[ 8 ]
Antecedentes historia y metforas
Muchas herramientas de desarrollo slo tiene que presentar un lenguaje de
programacin y las interfaces con las rutinas del sistema. Herramientas de alto nivel a
menudo presentan las mismas cosas, pero con una estructura de tal manera que se
pueda imaginar metforas del mundo real de los diferentes aspectos de la herramienta.
LiveCode es muy parecido a eso, y su metfora es una pila de tarjetas. Esta metfora se
origin con
HyperCard de Apple Computer herramienta de autora, creada por Bill Atkinson en
mediados de 1980. La primera versin de HyperCard fue lanzado en agosto de 1987, y se
convirti en un gran xito tanto en la educacin y multimedia. Empresas como la Compaa
Voyager publicada lneas enteras de productos que se crearon utilizando HyperCard.
Otras compaas producen herramientas que estaban muy parecido a HyperCard, sino que
tambin intent
para dar al usuario ms funciones que estaban en HyperCard. La ms destacada de estas
herramientas
eran SuperCard, Plus y MetaCard. Plus pas a tener una vida interesante, el producto
s mismo se convirti slo para Windows (era multiplataforma al principio), pero termin ms
tarde el mismo cdigo
en las plataformas de herramientas Objetos Oracle Media. Todas estas herramientas perpetuado
la
metfora de una pila de tarjetas.
MetaCard fue ms notable por el hecho de que era multi-plataforma, no slo entre
plataformas. Stacks, el trmino general que se utiliza para los documentos creados por
estas herramientas, hechas con MetaCard poda correr en sistemas Unix y Linux, as como
Mac y Windows. Por desgracia, era un poco feo! La compaa escocesa RunRev hizo un
producto que era un intento de presentar MetaCard de una manera ms atractiva.
Eventualmente RunRev adquirido MetaCard, y desde
2003 RunRev ha seguido basndose en MetaCard, utilizando el nombre del producto "en tiempo
de ejecucin
Revolucin ", ms tarde renombrado a LiveCode.
Bajo la variacin HyperCard de la metfora, los documentos consistan en cartas que
sostena botones, campos y grficos de mapas de bits, fondos que mantenan un conjunto
de tarjetas y pilas que contenan un conjunto de fondos. LiveCode adopta un enfoque
ligeramente diferente, y en lugar de tener fondos que sostienen las tarjetas, que le permite
agrupar un conjunto de controles de interfaz y configurar aquellos a actuar como si fueran
una entidad de fondo. Esto termina siendo ms flexible, aunque algo ajeno a las personas
que han utilizado HyperCard mucho.
Tanto HyperCard y LiveCode proporcionar formas de extender la jerarqua ms. Usted ser
capaz de tomar otras pilas y ponerlas en uso. Para guardar reescribir el mismo conjunto de
funciones en cada pila, usted puede optar por tener una pila dedicado a dichas funciones y,
Chapter 1
[ 9]
a continuacin aadir que la pila a la "stackinsuse", utilizando el comando:
empezar a utilizar la pila "utilidad pila"
Adems, puede escribir lo externo, que son comandos y funciones escritas en C
idioma, lo que puede ampliar las capacidades de LiveCode an ms.
LiveCode Fundamentals
[ 10]
Usted tiene LiveCode, no?
Si an no ha instalado LiveCode, vaya to esta pgina web: http://www.runrev.com/
descargas /. Usted tendr que crear una cuenta para poder descargar la versin de
prueba. Si usted planea ir a comprar LiveCode, lea esta pgina:
http://www.runrev.com/ productos / livecode / licencia de tipo-
overview / para comprender las variaciones de licencia hay. Como gua aproximada,
basada en el precio en el momento de la escritura, para crear aplicaciones mviles que son
libres, que sera de $ 99, o si desea hacer que las aplicaciones que
podra cobrar, que sera de $ 499. Cada plataforma adicional que usted desea publicar seran
otros $ 99.
Una vez que haya descargado la versin de prueba, o comprar una de las licencias,
por qu no seguir adelante y lanzar l!
El aprendizaje de la configuracin del terreno
La primera vez que LiveCode abierto se le mostrar una ventana de inicio, que funciona
como una forma de abrir documentos recientes, una lista de enlaces a foros, e informacin
de instalacin inicial. Tambin proporciona una manera de ver la informacin promocional.
No hace ningn dao para mantener la ventana abierta, pero si lo hace pasar a cerrarla
puede volver a abrir la interfaz de inicio en el men Ayuda.
Como te ves en LiveCode por primera vez, te dars cuenta de una barra de herramientas
en la parte superior de la pantalla, justo debajo de la barra de mens. Toma nota de los
elementos en el lado derecho, las Muestras de usuario, tutoriales, recursos, y un
diccionario. Estas reas estn llenas de informacin que le ayudar a empezar con
LiveCode. El diccionario es algo que va a utilizar un
mucho, y slo la navegacin a travs de las entradas o bien a responder a su pregunta
inmediata o darle informacin avanzada acerca de los problemas que se encontrar ms
adelante.
El men Ayuda tambin proporciona acceso a una gua del usuario y varios archivos de
notas de la versin. Consulte la Gua del usuario para leer con mayor profundidad acerca
de las caractersticas mencionadas aqu.
Las lecciones en lnea
Adems de los recursos que se ven dentro de s mismo
LiveCode, hay una enorme cantidad de informacin y
tutoriales en el sitio web RunRev. Un buen starting punto
sera: http://lessons.runrev.com/
Chapter 1
[ 11 ]
La captura de pantalla siguiente muestra las ventanas y paletas que vamos a utilizar por el
momento, as como la ventana del documento, que muestra una calculadora sencilla que
pronto va a construir:
Principal ventanas
Adems de la ventana del documento en s, estas son las ventanas principales que
tendremos que estar familiarizado con por ahora:
Instrumentospaleta
Inspector paleta
Message Box
LiveCode Fundamentals
[ 12 ]
La parte superior de la paleta de herramientas muestra todos los controles de la interfaz
que usted tendr que crear una aplicacin interactiva. Debajo de ellos son un conjunto de
herramientas para la edicin de grficos vectoriales, y un conjunto de herramientas para la
edicin de grficos de mapa de bits.
La paleta Inspector muestra todas las opciones para el control que ha seleccionado
actualmente. En la imagen de arriba no es seleccionada, por lo que la paleta
Inspector muestra informacin acerca de la propia pila.
El cuadro de mensaje es una ventana que le permite probar ya sea una o varias lneas de
cdigo. Usted ser capaz de invocar funciones en sus stacks demasiado, por lo que es
una manera muy til para comprobar distintas funciones mientras se est rastreando
temas. Vamos a utilizar el cuadro de mensaje en captulos posteriores.
Como se sugiri anteriormente, usted debe leer la Gua del Usuario para obtener una
comprensin ms profunda de estas ventanas, pero vamos a tratar de armar algo simple,
por ahora, para conseguir que ms familiarizados con el uso de la paleta de herramientas.
Tiempo de accin - es un lastre, pero te va a gustar!
Usted construye cosas en LiveCode arrastrando los iconos de la paleta de herramientas a la ventana Stack. Si las
paletas no estn abiertas, la paleta Inspector se puede abrir haciendo clic en el icono en la parte izquierda de la
barra de herramientas, o seleccionando una de las opciones del inspector de men en el men Objeto. La paleta
de herramientas se puede abrir mediante la seleccin de la paleta de herramientas en el men Herramientas.
Paraello, siga estos pasos:
1. En el men Archivo, seleccione Nuevo Mainstack.
2. En la paleta de herramientas, haga clic en la herramienta de edicin (la parte superior
derecha icono de lado).
Seleccione Editar, o no ...
En LiveCode puede arrastrar controles de la paleta de herramientas a la
ventana de la tarjeta sin seleccionar primero la herramienta de edicin. Sin
embargo, si usted est en la herramienta de ejecucin que no ser capaz de
seleccionar el control con el fin de ajustar su posicin o tamao, por lo que
en estas instrucciones se nos intencionalmente la seleccin de la herramienta
de edicin antes de agregar controles a la ventana de la tarjeta, slo para
estar seguro.
3. Arrastre los iconos de la parte superior de la paleta de herramientas a la ventana de pila.
4. Pruebe las opciones de capas en la parte inferior del men Objeto.
Chapter 1
[ 13]
5. Seleccionar ms de un elemento, y experimentar con las opciones de alineacin de
los objetos en la paleta Inspector. La alinear opciones se muestran de forma
automtica cuando se selecciona varios objetos, pero tambin puede seleccionar
Alinear objetos en el men desplegable de la paleta Inspector. Usted no ver esta
opcin si slo hay un objeto seleccionado. Aqu vemos las opciones, porque tres
botones estn seleccionados:
6. Seleccione un solo botn, y en la paleta Inspector introduzca un nombre y una
etiqueta. Si no ve el nombre y los campos de la etiqueta, asegrese de que ha
seleccionado las propiedades bsicas de men desplegable la paleta Inspector.
LiveCode Fundamentals
[ 14 ]
7. Agregar varios controles ms a la ventana de la tarjeta, y practicar la alineacin y el
nombramiento de los controles. Tambin puede cambiar el tamao arrastrando las
asas que se ve en las esquinas y los laterales, mientras que el control est
seleccionado. As es como se podra mirar si haba aadido algunos botones, un
campo, un panel de pestaas, y un control de reproductor de video:
Qu ha pasado?
Esperamos que pueda haber hecho un montn de controles de interfaz aleatorio,
tal vez algunos que estn muy bien alineados tambin! Ahora eliminar a todos
ellos, y preprate para hacer que la interfaz simple calculadora.
Pero primero debemos repasar algo de la estructura y la jerarqua de una pila LiveCode, y
tambin crear algo de navegacin bsica.
Creacin de una jerarqua
Todo va a alguna parte, pero tener las cosas en el lugar equivocado puede llevar a problemas.
As que debemos aprender ms sobre la estructura de una pila LiveCode.
Chapter 1
[ 15]
Pila estructura
Como se describe en la seccin Antecedentes y metforas de este captulo, LiveCode utiliza
una pila de tarjetas de metfora. Cuando usted hace una pila nueva que, en efecto, tiene
una tarjeta de un solo
pila de tarjetas. Sin embargo, incluso la aplicacin ms sencilla es probable que tenga ms de
una tarjeta. Por ejemplo, podra haber una pantalla de bienvenida, una tarjeta de ttulo, las
tarjetas de la tarea real en la mano, y una pgina de crditos. En la pantalla de la calculadora
vamos a utilizar dos tarjetas. El men Herramientas incluye una opcin para ver la estructura
de la pila, al mostrar el navegador de aplicacin:
Dnde va el cdigo
En lenguajes de programacin como la de LiveCode, el cdigo se refiere como est,
mientras que los mtodos o funciones se conocen como controladores (aunque en
LiveCode un controlador que devuelve un valor tambin se llama una funcin). Proyectos
hechos con ms difciles de utilizar herramientas de programacin a menudo consisten en
decenas de archivos de texto, uno para cada modelo, vista o controlador. En este
LiveCode es ms simple que los guiones se adjuntan al objeto que necesita ese cdigo.
Para hacer frente a la interaccin del usuario en otras herramientas que usted tendr que escribir el cdigo que
recibe el evento (tal vez slo un clic del ratn sobre un botn) y, a continuacin, realizar la accin correspondiente.
En LiveCode hay una ruta del mensaje que se ocupa de estos eventos y los pasa a
la jerarqua. Si hace clic en un control de interfaz LiveCode que no tiene un controlador de
eventos del ratn, haga clic en el sube por la jerarqua hasta el nivel de la tarjeta. Si la
tarjeta no tiene un controlador para ese evento, que contina hasta el nivel de la pila.
Usted puede tener otros niveles de jerarqua, al poner otras pilas en uso, pero para nuestros propsitos
slo tenemos el botn, tarjeta, y las jerarquas de la pila.
Esta jerarqua mensaje nos permite colocar el cdigo necesario por varios controles de
LiveCode Fundamentals
[ 16]
interfaz en un nivel superior, a disposicin de todos los controles. Uno de estos casos ser
con los botones numricos de la calculadora, y cada uno tiene que hacer exactamente lo
mismo, y al poner ese cdigo en el nivel de tarjeta, cada uno de ellos puede hacer uso de
ese solo controlador.
Chapter 1
[ 17 ]
No hay ninguna ventaja de rendimiento de tener el controlador compartido en el nivel de
tarjeta, o mucho de una mejora del tamao del archivo, pero como se est desarrollando el
cdigo de la calculadora, puede realizar cambios en el guin sola tarjeta, en lugar de 11
calculadora individuo guiones botn.
Ahora vamos a empezar a construir la calculadora, y agregar secuencias de comandos
para los 14 botones, un campo, y la tarjeta.
Descargar el cdigo de ejemplo
Puede descargar los archivos de cdigo de ejemplo para todos los Packt libros que haya comprado
de su cuenta al http://www.packtpub.com. Si ha adquirido este libro en
otra parte, se puede visitar http://www.packtpub.com/support y
registrarse para tener los archivos enviados por correo electrnico directamente
a usted.
Tiempo de accin - haciendo y navegar entre las tarjetas
Una calculadora en realidad no necesita una pantalla de ttulo, pero vamos a hacer de todos
modos, con el fin de
practicar la adicin de secuencias de comandos y haciendo un poco de navegacin bsica.
Usted puede tomar su borrado Salida
pila de antes, o iniciar un Mainstack Nuevo en el men Archivo.
1. Seleccionar tarjeta nueva en el men Objeto.
2. Utilice el men Ver para ir ya sea a la tarjeta anterior (Ir Anterior), o primera tarjeta
(Vaya primero).
3. Asegrese de que dispone de la herramienta de edicin seleccionado en la paleta de
herramientas y arrastre un campo Etiqueta para el centro de la ventana de la
tarjeta. En este caso es fcil ver cul es el campo Label (etiqueta que dice: en el
icono), sino como un consejo general, puede apuntar a los controles
en la paleta de herramientas y ver un mensaje de ayuda que muestra qu tipo de control
que es.
4. En la seccin Propiedades de base de la paleta Inspector, desactive la casilla No
envuelva
casilla de verificacin.
5. Tipottulo en el campo de entrada Nombre.
6. Elegir contenido del Inspector men desplegable, y reemplace el texto inicial que
dice Label: escribiendo Simple Calculator en el campo de entrada de
contenido.
7. Elija el formato de texto en el men desplegable, y haga clic en el botn de
LiveCode Fundamentals
[ 18 ]
texto alinear el centro, que es el medio de los tres botones Alinear.
Chapter 1
[ 19]
8. Cambiar la fuente, el tamao y las opciones de estilo, para hacer un ttulo bonito,
cambiar el tamao del propio campo hasta que te gusta como se ve:
9. Arrastre un botn de insercin (el segundo icono de la parte superior izquierda de la
paleta de Herramientas)
desde la paleta de herramientas y colquelo debajo del campo de ttulo.
10. En el Inspector, seleccione Propiedades bsicas del men desplegable (que es el
men que dice Formato de texto en la captura de pantalla anterior), el tipo de
Comenzar en el campo de entrada Nombre. LiveCode mostrar automticamente
el mismo texto como etiqueta del botn, aunque no lo escriba en la casilla de
Etiqueta.
11. Usted puede entrar en las opciones de formato de texto para los botones tambin, si lo desea!
12. Prepararse mentalmente - estamos a punto de escribir nuestro primer script!
13. Con el botn seleccionado, elija Objeto de secuencias de comandos en el men
Objeto. Tambin puede hacer clic en el mismo botn y seleccione Editar guin.
LiveCode Fundamentals
[ 20
]
14. La ventana Script aparecer y mostrar un script de arranque, de en
mouseUp, (Lnea en blanco), y final mouseUp como se muestra en la
siguiente captura de pantalla:
15. Completar la secuencia de comandos escribiendo ir ahora en la lnea en
blanco que le demos este guin final:
en mouseUp
ir ahora
final mouseUp
16. Cierre la ventana de script, y haga clic en S cuando se le pregunte si
desea guardar los cambios.
17. Elija la herramienta Buscar de la paleta de herramientas (el superior izquierdo-
herramienta, que se parece a una flecha de cursor regular), y haga clic en el botn
Comenzar que usted acaba de hacer. Todo est bien ahora ests mirando una
tarjeta en blanco. No se preocupe, usted no acaba de borrar
el campo de ttulo y un botn! Ahora se encuentra en la segunda de las dos cartas
que usted hizo antes. Utilice el men Ver de nuevo para volver a la primera tarjeta,
para tratar de nuevo el botn.
18. Ahorre! En el men Archivo, seleccione Guardar y guarde la pila, con el nombre
Calculadora Simple, en algn lugar se puede encontrar fcilmente ms tarde.
Chapter 1
[ 21 ]
Tal vez usted podra hacer una carpeta para guardar las pilas que usted har
durante la lectura de este libro.
LiveCode Fundamentals
[ 22
]
Qu ha pasado?
Eso puede parecer como un montn de pasos, pero s crear las dos cartas que necesitamos,
presentado
un bonito campo en busca del ttulo, y ha creado un botn Comenzar con su propio guin. En
realidad, esos pasos
tomar menos de dos minutos, y mucho menos a medida que adquiera experiencia en LiveCode.
Pop Quiz - mejor nombre?
Si usted quiere hacer algo grande en el mundo herramienta de autora multimedia,
cul de estos nombres sera una mala eleccin?
1.Henry
2.Bill
3.Bob
4.Kevin
Realizacin de una aplicacin sencilla calculadora
Incluso con un conocimiento bsico de LiveCode, puede empezar a hacer algo de uso. Aqu
vamos a hacer una pila calculadora muy simple.
Inspector de pistas, oh ...
Usted se encontrar con la paleta Inspector mucho, as que tome un momento para estudiar cmo se
comporta. Cuando se selecciona un objeto en la tarjeta, ver que la paleta Inspector cambia su apariencia, a
veces incluso su altura, para mostrar las opcionespara el elemento seleccionado. Es lo suficientemente
inteligente como para notar cuando se ha seleccionado varios artculos, a continuacin, se mostrar la
alineacin herramientas.
A veces usted querr mantener un conjunto de paleta Inspector para ver las opciones de un
objeto determinado en la tarjeta, y no cambia para mostrar un objeto diferente como lo
hacen otras selecciones. En la esquina del lado superior derecho de la paleta Inspector es
un icono de un candado, que le permitir bloquear el inspector al objeto actual.
Hasta ahora, la mayora de las opciones de la paleta Inspector no nos ha afectado, pero que
est a punto de ser relevante es el hecho de que se puede establecer un nombre para un
elemento que es diferente a su etiqueta. Usted puede conocer a otros lenguajes de
programacin, y esto tambin se aplica a LiveCode, que algunos nombres son menos legal
que otros. Tal vez usted no puede tener espacios en el nombre, o utilizar los dos puntos o
barra invertida. Si el nombre de un botn con un nmero, Botn "1" no puede ser un botn,
lo que podra dar lugar a confusin.
Chapter 1
[ 23]
Para las teclas de la calculadora vamos a configurar una etiqueta para que se vea correcto, y
un nombre que no d lugar a confusin. Hablando de las teclas de la calculadora ...
LiveCode Fundamentals
[ 24
]
Tiempo para la accin - lo que los botones de la calculadora
Uso de la primera captura de pantalla de este captulo como gua, vamos a construir los
botones de la calculadora (los guiones que se escriben tambin se enumeran ms adelante,
si usted quiere asegurarse de que la ha escrito correctamente):
1. Si no est ya ah, dirjase a la segunda tarjeta (la actualmente vaca).
2. Asegrese de que el botn Editar est seleccionada en la paleta de herramientas y
arrastre un botn de comando a la tarjeta, en la posicin del botn con la etiqueta
7.
3. En las propiedades bsicas de la paleta Inspector, para cambiar el estilo del men
desplegable
a Rectngulo redondeado (en la vida real que se tomara el tiempo para tener buen grfico
botones, aqu se acaba mi juego feo "arte programador!").
4. Establezca el nombre del botn para number7, y la etiqueta 7.
5. Seleccione Guin objeto en el men de objetos para ver la secuencia de comandos
de arranque como lo hizo con el botn Begin.
6. En la lnea en blanco entre en mouseUp y mouseUp final, tipo
numberPressed la etiqueta de m.
7. Cierre y guarde el script.
8. Seleccione el botn y hacer una copia de la misma, por la eleccin de objetos
duplicados en el men Editar, y la posicin que el botn con la etiqueta 8 ser.
Copiar / Pegar alt y arrastrar otras dos formas para duplicar un objeto.
9. Establezca el nombre de Number8, y la etiqueta 8.
10. Repetir los pasos 8 y 9, por los botones 9, 4, 5, 6, 1, 2, 3, 0, y el punto decimal,
usando el nmero correspondiente en lugar de 8. Para el punto decimal, defina el
nombre de
decimalpoint.
11. Duplicar uno de los botones de nuevo, el nombre del nuevo botn
dividir, y el tipo /por su etiqueta.
12. Seleccione Secuencia de comandos de objetos para el botn de divisin,
y cambiar numberPressed en la lnea media para
operatorPressed, hacer toda la lnea se lea como
operatorPressed el nombre corto de m.
13. Duplicar el botn divisin tres veces ms, y establecer los nombres de se
multiplican,
Chapter 1
[ 25 ]
plus, y menos. Ajuste las etiquetas para *, +, y -.
14. Duplicar el botn Dividir de nuevo, indicando el nombre es igual a para el botn
y establezca la etiqueta =, y el cambio de la lnea media de la secuencia de
comandos para decir equalsPressed
LiveCode Fundamentals
[ 26
]
15. Duplicar la es igual a botn y establecer el nombre del nuevo botn para
toggleSign y la etiqueta al + -, a continuacin, cambie la lnea media de la
secuencia de comandos para toggleSign.
16. Duplicar la es igual a botn, defina el nombre del nuevo botn para claro y
la etiqueta al C, a continuacin, cambie la lnea media de la secuencia de
comandos para ser clearPressed.
17. Arrastre un campo de etiqueta de la paleta de herramientas, y en la paleta Inspector
elegir el formato de texto en el men desplegable. En la configuracin de formato de
texto elija una fuente bonita, texto justificado a la derecha, y un tamao de fuente
grande. Nombre del campo mostrar.
18. Edite el guin de la mostrar campo. Con los campos no obtiene la secuencia de
comandos de arranque que se obtiene con los botones, por lo que tendr que
escribir las lneas mouseUp ti mismo. Escriba las siguientes tres lneas:
en mouseUp
establecer el clipboardData
["texto"] a m mouseUp final
19. Mueva todos los botones en sus lugares correctos y seleccionar conjuntos de
botones de usar que las herramientas Alinear para hacer su presentacin coincide
con la calculadora de pantalla.
20. Ahorre!
Qu ha pasado?
Mucho ha pasado! Hemos hecho todos los objetos de nivel de tarjeta y escribi en sus
guiones. La mayor parte de las secuencias de comandos estn "llamando" a un manejador de
nivel de tarjeta que se va a establecer el prximo. Antes de hacer eso, vale la pena tratar de
entender algunas de las lneas que acabamos de ingresar.
Verbosidad, sinnimos, y "yo"
La naturaleza cerca-Ingls del lenguaje de programacin en LiveCode es increblemente poderoso,
pero tan rgidamente. En algunas otras herramientas que usted tiene la opcin de si utiliza
detallado similar al Ingls
sintaxis, menos detallado, o lo que se llama la sintaxis con punto. El lenguaje Lingo, en Adobe Director,
es un
buen ejemplo para comparar.
Supongamos que queremos cambiar el texto dentro de un campo que es la primera entrada
del reparto de una pelcula del director, se puede utilizar la sintaxis verbose:
poner "hola mundo" en el texto del elemento 1
Chapter 1
[ 27 ]
o un poco menos detallado sintaxis:
el texto del miembro 1 = "hola mundo"
LiveCode Fundamentals
[ 28
]
o un punto
sintaxis:
miembro (1). text = "hola
mundo"
En LiveCode no hay esa eleccin - lo que escribe tiene que ser en forma de:
poner valor en un
contenedor
Usted tiene la posibilidad de elegir si utiliza una versin larga de una palabra, una versin corta, o una forma
abreviada. Tambin hay sinnimos, que le permiten utilizar una palabra que tiene ms sentido para usted.
Aqu hay dos maneras de decir la misma cosa, con la segunda variacin utilizando una
forma abreviada de la palabra clave:
poner de 3 caracteres de la palabra 2 de la tarjeta de campo
"nombre del campo 1" en aVariable
poner 3 caracteres de la palabra 2 de fld 1
en aVariable
Cuando se trata de los contenidos del objeto que tiene la secuencia de comandos que se
est ejecutando, puede utilizar la palabra clave me para ahorrar un poco de mecanografa, y
LiveCode tambin tratar de averiguar lo que usted tiene en mente, si es posible.
Tome las lneas que hemos introducido como
ejemplos:
numberPressed la etiqueta de
m
numberPressed se propagar hasta un controlador de tarjeta vamos a aadir (pronto). la
etiqueta de m
se ver en la etiqueta que se define para el objeto de que el guin est
dentro de.
establecer el clipboardData
["texto"] a m
En este caso, me normalmente se refieren al objeto (como es el caso con la etiqueta de
m), sino porque nos dio la pista adicional de ["Texto"], LiveCode sabe que es el
contenido de texto del campo que tiene ese guin, y no el propio campo. Sin embargo,
debido a que es el potencial de confusin al leer su propio cdigo ms tarde, habra que
agregar un par de palabras para que el significado ms claro:
establecer el clipboardData ["texto"] en el
texto de m
Chapter 1
[ 29]
Por cierto, que el guin de presentacin del campo no es necesario
para la calculadora a trabajar. Simplemente est ah para que en
cualquier momento puede hacer clic en el campo y tienen el valor
actual se copia en el portapapeles para pegar
en otras aplicaciones.
LiveCode Fundamentals
[ 30
]
Usted puede optar por ser ms detallado de lo que se necesita, slo por razones de legibilidad, y en estos
captulos que va a ser el caso. Uso:
poner el texto de m en textvariable
hace que sea ms fcil saber lo que va a suceder que si se utiliza el igualmente vlida:
me puso en textVariable
En cualquier caso, ya que es un campo, LiveCode sabe lo que significa.
Ahora mira el guin en el que hemos escrito nombre corto de m - Qu es todo eso? Los
objetos en LiveCode tienen una larga descripcin del lugar en que se encuentran, por
ejemplo, "Botn" buttonname "de tarjeta de identificacin 1234 de pila" ruta / a /
stack.livecode "". En la aplicacin de la calculadora slo tenemos la palabra de lo que
establece como el nombre del botn. Si nos preguntamos por nombre de m, an dira
botn "buttonname". Para tomar slo el nombre en s, se utiliza nombre corto de m.
Hay ocasiones en las que desear utilizar las otras variantes de "nombre", incluyendo el
nombre completo y el nombre abreviado, que se puede leer en la entrada del Diccionario
LiveCode para "nombre". Adems de una descripcin de las diferentes maneras de utilizar
"nombre", hay una serie de precauciones se muestra.
Maysculas y minsculas
Si algn usuario LiveCode avanzadas estn leyendo este captulo, se puede
notar que en algunos casos tengo la caja equivocada. LiveCode no le importa
lo que el caso de haber utilizado, as que cuando me dijo incorrectamente
clipboardData en lugar de clipboardData, no importaba. Esto no
es exclusivo de LiveCode, pero es comn entre los lenguajes de programacin
de Ingls-como para no exigir que el usuario obtiene exactamente el caso
justo antes del comando funcionar.
Adicin de los controladores de tarjetas
Si hubieras atrevido a tratar de usar los botones de la calculadora, usted habra visto un
montn de errores de script. Tenemos que aadir en los controladores de la tarjeta de nivel
para estar en el extremo receptor de las llamadas que los botones estn haciendo. En lugar
de caminar a travs de escribir una sola lnea de cdigo a la vez, probablemente sera ms
rpido para presentar las lneas de una sola vez y explicar lo que hace cada lnea. En una
sesin de prctica, aqu estn las lneas que hemos celebrado hasta el momento:
En todos los botones numricos y el botn de punto decimal, usted debe tener este script:
en mouseup
numberPressed la etiqueta de
mouseup final me
Chapter 1
[ 31 ]
en mouseUp se activa al presionar y soltar el botn izquierdo del ratn mientras en el
botn, numberPressed llamar a un controlador de tarjeta de llamada
"numberPressed", pasando con ella el sello que haba establecido para el botn que tiene
este script.
La C(Borrar) botn tiene este script:
en mouseUp
clearPressed
final mouseUp
clearPressed llamar a un guin carta llamada "clearPressed"
Los otros botones todos funcionan de la misma manera - que ellos llaman un controlador
del nombre utilizado, que estamos a punto de aadir a la secuencia de comandos de la
tarjeta. La siguiente es la secuencia de comandos para los smbolos +, -, *, / y botones,
pasando el nombre del botn en cuestin al nivel de tarjeta:
en mouseUp
operatorPressed el nombre corto del
mouseUp final me
Y este es el que est en el botn + -:
en mouseUp
toggleSign
final mouseUp
El campo de la pantalla tiene este script:
en mouseUp
establecer el clipboardData
["texto"] a m mouseUp final
En el caso del campo, es slo el procesamiento de una sola lnea de cdigo, as que no hay
necesidad de poner eso en el nivel de tarjeta, a menos que tuviramos una gran cantidad de
campos que hacen lo mismo.
As que, por qu no aadir todos los scripts de nivel de tarjeta? Aqu estn, uno a la
vez, con una explicacin de cmo cada uno funciona:
Pero espera ... an no hemos hablado de variables. Espere un momento, mientras vemos cmo
LiveCode gestiona las variables.
LiveCode Fundamentals
[ 32
]
Tipos de variables en LiveCode
En trminos generales, las variables son posiciones de memoria donde se almacenan los
valores que usted necesita para acceder ms tarde. En la mayora de lenguajes de
programacin que usted puede dictar que las rutinas tienen acceso a las variables. Menos
Ingls-como lenguas pueden utilizar los trminos "pblico", "privado", y "protegido". Las
cosas no son tan diferentes en LiveCode pero aqu las palabras utilizadas describir
ms de la regin donde se encuentra la variable utilizada. Si una variable ha de ser legible en
todas partes, que sera "global". Si es slo para ser usado en el guin actual, es "local".
LiveCode tambin tiene variables de propiedades personalizadas, y mucha gente usara los
de los valores de la calculadora de botn en lugar de confiar en la etiqueta del botn.
Nosotros tal vez las utilizaremos ms adelante!
Ahora, dnde estaba ... ah, s, los scripts de
nivel de tarjeta: Esta es la primera lnea de la
escritura de la tarjeta:
currenttotal mundial, CurrentValue, currentcommand, newnumber
Como hemos comentado, se trata de variables que permitirn a todos los controladores
para pasar valores entre s. En este caso las variables podra haber sido local, pero a
menudo se puede decidir utilizar global en cambio, pensando que un caso puede surgir
despus que usted necesita para acceder a las variables desde fuera de la secuencia de
comandos que est adentro
Es bueno para restablecer las cosas al empezar, y tiene una LiveCode OpenCard evento
que podemos utilizar para hacer esto. Los siguientes cdigos se restablece cosas:
en OpenCard
clearpressed
final OpenCard
en clearpressed
poner en verdadero newnumber
poner 0 en el campo
"display" poner 0 en
currenttotal
poner 0 en CurrentValue
puesto vaco en el extremo
currentcommand clearpressed
Tener las lneas de reposicin en el clearPressed manejador nos permitir llamar en otro
momento y no slo cuando la tarjeta se abre. Nos puede llamar directamente al hacer clic en
el C(CLEAR)
Chapter 1
[ 33]
que pondr a cero el campo de visualizacin, el total acumulado para su clculo, y el ltimo
nmero que ha introducido en la calculadora. Tambin borra la variable que se utiliza para
recordar
que el operador presiona el botn por ltima vez, y un booleano (true / false) variable se
utiliza para reconocer si un botn se presiona nmero debe borrar la pantalla o agregar en el
display.
LiveCode Fundamentals
[ 34
]
Todos los botones numricos y el botn de punto decimal, llama a este controlador:
en numberPressed n
si es cierto, entonces newnumber
n poner en el campo
"display" poner en falso
newnumber
ms
n despus de poner el campo
"display" end if
final numberPressed
La ndespus de que el nombre del controlador es una variable que almacena el parmetro
que se ha enviado al controlador. En este caso se trata de la etiqueta de la tecla que se
presion. Toda esta rutina tiene que hacer es agregar el carcter a la final del campo de
visualizacin, a excepcin de cuando se est escribiendo un
nuevo nmero. Ah es donde el newNumber variable booleana dentro - si que se establece
en verdadero, el carcter entrante reemplaza el contenido del campo de visualizacin. Sin
embargo, si es falsa, el carcter se aade al final del campo.
Este es el controlador para al pulsar las teclas +, -, *, / o botones:
el operador operatorPressed
currentCommand si est vaco,
poner campo "display" en operador
currentTotal poner en currentCommand
poner en verdadero
newNumber ms
poner operador en currentCommand
equalsPressed
End If
final operatorPressed
Cuando se utiliza una calculadora, escriba un nmero, un operador y luego otro nmero,
seguido de otro operador o el =botn. A la vez que se pulsa el botn de operacin no hay
manera de saber el resultado, ya que an no ha entrado en el prximo nmero
en el clculo. As, recordamos que el operador hasta que haya introducido el nmero
siguiente. Si el currentcommand variable no tiene ya un valor, se guarda el texto en el
campo de visualizacin currenttotal variable, el carcter explotador que usted
presiona en el
currentcommand variable, y asegrese de que newnumber se establece cierto. De esta
forma se asegura de que el botn se pulsa siguiente nmero se borrar el campo de
visualizacin. Si currentcommand ya tiene un valor, lo reemplazamos con el nuevo valor y,
a continuacin, llamar al controlador que se usa cuando se pulsa el =botn.
Chapter 1
[ 35 ]
Hay maneras ms probable ms cortas para hacer frente a la =pulsar una tecla, pero aqu
vamos a utilizar varios si declaraciones, y ejecutar el cdigo de clculo apropiada:
en equalsPressed
poner campo "display" en CurrentValue
si currentCommand est vaca salga equalsPressed
si currentCommand es "dividir" a continuacin, poner currentTotal
/ CurrentValue en el campo "display"
si currentCommand es "multiplicar" y luego poner currentTotal *
CurrentValue en el campo "display"
si currentCommand es "menos" a continuacin, poner currentTotal -
CurrentValue en el campo "display"
si currentCommand es "plus" a continuacin, poner currentTotal +
CurrentValue en el campo "display"
poner campo "display" en currentTotal
poner en verdadero newNumber
puesto vaco en el extremo
currentCommand equalsPressed
El contenido del campo de visualizacin se almacenan en la CurrentValue variable, y el
botn operador ha pulsado ltimo (que se almacena en currentCommand) se mira para
ver qu sucede despus. Si no haba un operador anterior (como sera el caso si se ha
pulsado =dos veces en una fila) no hacemos caso al pulsar el botn y salir de la rutina. Para
los cuatro operadores,
nosotros hacemos el clculo correspondiente. Despus, guarde el nuevo total corriendo a la
currentTotal variable, asegrese de que el newNumber variable booleana se establece
verdadero (De modo que el botn siguiente nmero pulsado borrar el campo de la
pantalla), y nos olvidamos de la ltima tecla de mando que se pulsa, poniendo vaco en
la currentCommand variable.
Una cosa a tener en cuenta es que LiveCode es lo suficientemente inteligente como para
saber que la cadena de texto dentro del campo de la pantalla debe ser tratada como un
nmero de punto flotante.
Para el ltimo controlador, togglesign, inserte el siguiente cdigo:
en togglesign
si el personaje de un campo de "display" es
"-" y luego borrar el carcter de un campo
"display"
ms
poner "-" delante campo
"display" end if
final togglesign
Esta es una rutina muy simple, que no tiene que entender que es un nmero de punto
flotante se representa. Simplemente mira para ver si el primer carcter es un punto negativo
LiveCode Fundamentals
[ 36
]
o no, y si lo es,
borra el carcter. Si no es as, se inserta el guin que ms tarde LiveCode interpretar
como un valor negativo.
Chapter 1
[ 37 ]
Pop Quiz - Trato de recordar ...
Como se llega a aprender una nueva herramienta que puede llegar a tomar un montn de
tiempo recordando que la cosa es que usted necesita. Sabes lo que quieres hacer, ya
sabes cmo hacerlo, pero
no puede recordar dnde se encuentra esa cosa! A dnde fuiste a establecer el estilo de
texto para el campo ttulo de la calculadora?
1.El men Editar.
2.El men Objeto.
3.El seccin Formato de texto de la paleta Inspector.
4.El men Texto.
Ampliacin de la calculadora
Es posible aadir ms caractersticas a la calculadora simple. Si tenemos en cuenta cmo se
nombran los botones y las funciones de la escritura tarjeta, usted puede comenzar a ver lo
que tenga que agregar una nueva habilidad:
Los botones de la calculadora de operador se nombran para que el script tarjeta
sabe que uno hace clic sobre.
Cuando el botn se presiona =, hay un conjunto de si declaraciones en el
equalspressed controlador que determinar qu sucede despus.
Tener un hroe go - para llegar a la raz de las cosas
En Windows, puede hacer un smbolo de raz cuadrada con Alt 251, y en Mac con Opcin +
v Desafortunadamente LiveCode no le gusta como los rtulos de los botones! Al menos en
Mac, al escribir ese personaje en la paleta Inspector, el carcter inmediatamente se
desvanece. Una solucin alternativa sera utilizar el cuadro de mensaje y escriba lo
siguiente:
establecer la etiqueta de btn "raz cuadrada" a ""
Eso te dar el smbolo de la derecha como la etiqueta del botn.
LiveCode tiene una funcin de raz cuadrada, escribiendo esto en el cuadro de mensaje
que producira la raz cuadrada de 10:
poner sqrt (10)
Ahora, armado con la informacin anterior, trate de agregar una funcin raz cuadrada en la
calculadora.
LiveCode Fundamentals
[ 38
]
Otros controles de interfaz
Hasta ahora slo hemos tenido que buscar en los botones y los campos para poder crear
la calculadora. En captulos posteriores vamos a usar muchos controles ms, as que
vamos a echar un vistazo a ellos.
Reproductor de vdeo de control
Si su sistema tiene instalado QuickTime, LiveCode puede reproducir pelculas QuickTime,
utilizando el tipo de control del reproductor. Aquellos se pueden aadir a la tarjeta de
varias maneras, as como mediante el uso de un comando de secuencia de comandos tal
como se describe en los siguientes puntos:
Un archivo puede ser aadido de su disco duro seleccionando Importar como archivo de
control / Video
en el men Archivo
Un jugador de vaco puede ser creado seleccionando Nuevo Control / Jugador de la
Objeto men
Un control del reproductor se pueden arrastrar desde la paleta de herramientas a la
tarjeta
Un jugador puede crear con cdigo, incluyendo el establecimiento de su nombre:
nuevo jugador "player name"
Despus de haber aadido el jugador a la tarjeta, puede configurar qu archivos de vdeo se
va a jugar por entrar en la ruta del archivo o URL del archivo con la configuracin bsica de la
paleta Inspector. Tambin puede establecer la ruta de acceso al video con la siguiente
secuencia de comandos:
establecer el nombre del archivo "nombre del jugador" jugador "ruta de
archivo o URL"
Imagen fija de control
De la misma manera que se acaba de ver para la reproduccin de vdeo, imgenes fijas
tambin se puede aadir a una pila. Todas las opciones que se muestran para la adicin de
un reproductor de vdeo puede ser utilizado para las imgenes. Aqu, por ejemplo, es el
script necesario para aadir el logotipo de su empresa RunRev de la tarjeta:
nueva imagen "revlogo"
establecer el nombre del archivo de imagen "revlogo" a
"http://www.runrev.com/runrev- globals / corporate-nav / images /
runrev.gif "
Botones Rollover
Chapter 1
[ 39]
Las imgenes que se importan se pueden utilizar como iconos en un botn. Para
configurar un botn para que tenga una imagen agradable estado de reposo, y una
imagen ms destacado asociado, deber seguir los siguientes pasos:
1.Seleccione Archivo | Importar como Control | Imagen de archivo ...
2.Seleccione las imgenes que representan los estados de inactividad y ms destacado, y
haga clic en Abrir.
LiveCode Fundamentals
[ 40
]
3.Seleccione el botn que desea ver como estas imgenes, y bajo los iconos y las
fronteras de la paleta Inspector, haga clic en el botn varita mgica para el lado
derecho de la entrada superior (Icono).
4.In el cuadro de dilogo que aparece, seleccione Esta pila en el men desplegable.
5.Seleccione la imagen que es el estado de inactividad para el botn.
6.Haga clic en el botn varita mgica junto a la entrada Hover, y elegir la imagen del
estado resaltado.
7.Under Propiedades bsicas, seleccione el botn transparente en el estilo
en el men desplegable.
8.Uncheck las casillas de nombre Show, hilite Auto, y hilite compartida.
9.Resize el botn para ser lo suficientemente grande como para mostrar la imagen.
10. Seleccione cada una de las imgenes originales, y en Propiedades Bsicas, desactive la
Visible caja.
Aqu podemos ver dos imgenes que se han importado con el fin de darle al botn Begin
una apariencia ms iOS. El botn est seleccionado y la paleta Inspector muestra el icono
Las opciones de seleccin.
Chapter 1
[ 41 ]
Entonces, cuando usted elige una imagen para usar el mismo botn se actualizar. En este
caso, el icono de la libracin se ha ajustado a la versin ms oscura de la grfica, pero como
se muestra aqu, el botn queda por cambiar de tamao.
Controles muchos ms ...
LiveCode tiene una gran cantidad de diferentes controles. Muchas variaciones son slo
leves, pero hay muchos que son bastante diferentes unos de otros. Mira el men Objeto y
luego nuevo control. Como vers la lista es muy larga!
Depuracin
Si lo hizo seguir adelante y tratar la calculadora antes de haber introducido todos los scripts que
necesitaba,
es muy probable que si se hubiera vuelto a ver la depuracin de scripts en accin. Esperemos que se
logr
para hacer frente a lo que ha visto, puede ser abrumador al principio. La captura de pantalla
siguiente es lo
que habra parecido:
LiveCode Fundamentals
[ 42
]
La mayora de lo que se ve es el mismo que cuando se edita scripts, pero si usted ve la
variacin de depuracin est en un estado de pausa, una imagen congelada del programa
mientras se ejecuta. En este ejemplo, el programa se detuvo porque la lnea 46 est en
busca de un campo denominado dis play, y no hay un campo, debe ser mostrar.
El mensaje de error en la parte inferior deja en claro que el error es algo que ver con el
nombre del campo, y rpidamente detectar el error. Aunque a veces puede ser
necesario inspeccionar las variables, para asegurarse de que contienen los valores que
creemos que deberan. La ficha Variables mostrar una lista de las personas.
Un problema inesperado es la nica vez que se puede ver el depurador, pero cuando se
desarrolla una secuencia de comandos que son capaces de establecer puntos de
interrupcin, haga clic en la columna justo a la izquierda del nmero de lnea que desea
detener el programa en.
Si el guin se detuvo por un punto de interrupcin, puede utilizar la fila de botones en la
parte superior para pasar a travs del cdigo. Los botones son:
Continuar establecer el script que se ejecuta de nuevo
Detngase se detendr la secuencia de comandos en ejecucin, de modo que usted
puede hacer cambios
Mostrar siguiente instruccin mostrar un indicador a la izquierda de la lnea actual
Entra en la declaracin siguiente Se utiliza para entrar en un controlador diferente
Chapter 1
[ 43]
Paso a paso por la declaracin siguiente ir en el prximo estado de cuenta en
el controlador de corriente, sin entrar en un controlador mencionado en la lnea
actual
Al salir del manejador actual se utiliza para saltar las lneas restantes en un
controlador que haba entrado previamente en y salir de vuelta al controlador
que llam a la actual
Usted se familiarizar con el editor de script y depurador a medida que avanza, pero que debera empezar!
Tutoriales en lnea de RunRev
En este captulo hemos cubierto lo suficiente como para que se familiarice con el entorno,
para practicar el uso de algunos controles, y para hacer un poco de escritura de guiones. Hay
mucho para LiveCode como una herramienta, y por lo que puede estar interesado en mirar
en otros temas, o entrar en ms profundidad de la que se describe aqu.
Un buen punto de partida sera propio conjunto RunRev de tutoriales en lnea, que se
encuentran en la fespus de ubicacin:
http://lessons.runrev.com/
Escriba las palabras de bsqueda en la caja que describen su rea de inters, y podrs ver una lista de
artculos sobre ese tema.
Resumen
Despus de haber creado una calculadora sencilla a partir de cero, ahora debera estar ms
familiarizado con el
LiveCode ambiente.
En este captulo cubrimos:
Botones, campos, secuencias de comandos y la estructura de la pila, para
obtener una comprensin de cmo funcionan juntos.
Varios guiones cortos, para ilustrar la sintaxis de Ingls-como utilizado por LiveCode.
La ventana de script, y cmo le depurar un script.
Otros controles de la interfaz, como preparacin para su uso en los captulos posteriores.
LiveCode Fundamentals
[ 44
]
Tambinhablamos sobre los tipos de variables utilizadas por LiveCode, y cmo se pueden utilizar
los comandos abreviados y sinnimos.
Ahora que hemos aprendido lo suficiente para hacer que las pilas normales LiveCode, es
necesario descargar e instalar software adicional de Google y Apple que se requiere para la
publicacin de una pila para un dispositivo mvil, y luego comenzar a probar caractersticas
mviles especficas, las cuales se tratan en el siguiente captulo.
2
Introduccin a LiveCode Mobile
Antes de que podamos hacer cosas interesantes ...
Creacin de pilas que hacer algo que usted encontrar til o que puede llegar a
ser una aplicacin mvil que se puede vender, es un proceso muy gratificante.
Minuto a minuto, puede estar haciendo progresos, y al instante ver las mejoras
que se han hecho. Por desgracia, hay un montn de trabajo menos gratificante
que hacer antes y despus de haber hecho su obra maestra. Este captulo le
guiar por el "antes" parte.
LiveCode hace que las aplicaciones mviles mediante la adopcin de la pila que ha
presentado, junto con todos los archivos de soporte que ha aadido, y compila el archivo
de la aplicacin utilizando el kit de desarrollo que se descarga desde el mvil proveedor OS
- Google para Android y Apple para iOS.
En este captulo vamos
a:
Regstrate para Android Market
Regstrate para Amazon Appstore
Descargar e instalar el SDK de Android
Configurar LiveCode para que sepa dnde buscar para el SDK de Android
Convirtete en un desarrollador de iOS de Apple
Descargar e instalar Xcode
Configurar LiveCode para que sepa dnde buscar los SDK de iOS
Configure simuladores y dispositivos fsicos
Pruebe una pila en un simulador y dispositivo fsico
Aqu vamos
...
Getting Started with LiveCode Mobile
[ 36]
iOS, Android, o las dos cosas?
Podra ser que slo tienen inters en iOS o slo en Android. Usted debe ser capaz de ver
fcilmente dnde vaya directamente a, a menos que ests intrigado acerca de cmo vive la
otra mitad! Si, como yo, eres un capitalista, entonces usted debe estar interesado en
ambos sistemas operativos.
Muchos menos pasos son necesarios para obtener el SDK de Android que conseguir las
herramientas para desarrolladores de iOS, ya que de tener que registrarse como un desarrollador
de Apple, pero la configuracin para Android es ms complicado. Vamos a ir a travs de todos los
pasos para Android y despus los de iOS. Si usted es un tipo iOS slo de la persona, pase las
pginas siguientes, recogiendo de nuevo en la seccin Convertirse en un desarrollador de iOS.
Convertirse en un desarrollador de Android
Es posible desarrollar aplicaciones Android OS sin tener que firmar nada, pero vamos a tratar
de ser optimista y suponer que en los prximos 12 meses, usted tendr tiempo para hacer
una aplicacin impresionante que le har rico! Para ello, vamos a repasar lo que est
involucrado en la firma
a publicar sus aplicaciones tanto en el Android Market y la Appstore de Amazon.
Android Market
Una buena ubicacin inicial wa ser http://developer.android.com/.
Chapter 2
[ 37 ]
Usted estar de regreso aqu en breve para descargar el SDK de Android, pero por ahora, haga clic en el
enlace Ms informacin en el rea de publicacin. Habr una pantalla de inicio de sesin, inicie sesin
con sus habituales detalles de Google.
Qu direccin de correo electrnico para usar?
Algunos servicios de Google son ms fciles para inscribirse, si usted
tiene una cuenta de Gmail. Crear una cuenta de Google +, o firmar para
arriba para algunos de sus servicios de Cloud, requiere una direccin de
Gmail (o eso me pareca a m en el tiempo). Si ya ha configurado Google
Checkout como parte de su cuenta, algunos de los pasos de proceso de
la firma a ser ms simple. Por lo tanto, usa tu cuenta de Gmail, y si usted
no tiene uno, cree uno!
Google cobra una tarifa de $ 25 para que se inscriba para el mercado Android.
Por lo menos usted se entere de esto de inmediato! Introduzca los valores para
Nombre del desarrollador, correo electrnico, URL del sitio web (si tiene uno), y
nmero de telfono.
Getting Started with LiveCode Mobile
[ 38]
El pago de los $ 25 se puede hacer a travs de Google Checkout.
El uso de Google Checkout le evita tener que introducir sus datos de facturacin,
cada vez. Esperemos que no va a adivinar los otros 12 dgitos de mi nmero de
tarjeta de crdito!
Chapter 2
[ 39]
Por ltimo, es necesario aceptar el Acuerdo de distribucin para desarrolladores de
Android Market.
Que le den una excusa para ir y hacer un poco de caf ...
[ 40]
Chapter 2
Algn tiempo despus, ya est todo firmado y listo para hacer su fortuna!
Amazon Appstore
Considerando que las normas y los costos para el mercado Android de Google son bastante
relajado, Amazon ha adoptado un enfoque ms Apple-como, tanto en la cantidad que
cobran que te registres y en el proceso de revisin para aceptar propuestas de aplicaciones.
La spgina tarting es http://developer. amazon.com / home.html.
[ 41 ]
Getting Started with LiveCode Mobile
1.Cuando hace clic en Comenzar, se le pedir que inicie sesin en su cuenta de Amazon.
Qu direccin de correo electrnico para usar?
Esto se siente como dj vu! No hay ninguna ventaja real en Google
utilizando su direccin de correo electrnico al registrarse en el Programa de
Desarrolladores de Amazon Appstore, pero
si le sucede que tiene una cuenta en Amazon, inicia sesin con eso. Se
simplificar la etapa de pago, y su cuenta de desarrollador y la cuenta
general de Amazon se asocian entre s.
[ 42 ]
Chapter 2
2.You se les pide que de acuerdo con los trminos del convenio AppStore
DISTRIBUCIN antes de aprender acerca de los costos.
Costos 3.Those son de $ 99 por ao, pero el primer ao es gratis. As que eso es bueno!
[ 43]
Getting Started with LiveCode Mobile
4.Unlike el Google Android Market, Amazon le pide a su banco por adelantado detalles,
listo para enviar un montn de dinero en el futuro, esperamos!
5.That 'it s, usted est listo para hacer otra fortuna, para ir junto con el que
Google te enva!
[ 44]
Chapter 2
Pop Quiz - cuando algo es demasiado?
Re 1.You 'al final del desarrollo de su mega-aplicacin, es en 49,5 MB de tamao, y slo
tiene que aadir msica de ttulo de la pantalla. Por qu no aades esa meloda
pica de dos minutos que se han alineado?
a.It tomara demasiado tiempo para cargar
b. Las personas tienden a omitir la pantalla de ttulo
tamao de archivo c.El pronto de todos modos se va
a ir a ms de 50 MB
d. Heavy metal podra no ser apropiada para aplicaciones de cuentos para nios
Descarga del Android SDK
Jefe de vuelta a http://developer.android.com/, y haga clic en Descargar enlace, o ir
directamente a http://developer.android.com/sdk/index.html.
En este libro, slo vamos a cubrir Windows y Mac OS X (Intel), y slo lo que se
necesita para hacer el trabajo LiveCode con el SDK de Android y iOS. Si tiene
la intencin de hacer nativas aplicaciones basadas en Java, entonces usted
puede estar interesado en la lectura a travs de todos los pasos que are
describe en la web pgina:
http://developer.android.com/sdk/installing.html.
Haga clic en el siguiente enlace para su plataforma. Los pasos que tendr que ir a
travs son diferentes para Mac y Windows. Vamos a empezar con Mac.
[ 45]
Getting Started with LiveCode Mobile
Instalacin del SDK de Android en Mac OS X (Intel)
LiveCode s mismo no requiere un Mac con procesador Intel, se puede desarrollar pilas
usando un Mac basado en PowerPC, pero tanto el SDK de Android y algunas de las
herramientas para iOS requiere un Mac basado en Intel, que lamentablemente significa que
si usted est leyendo esto como se sienta al lado de su Mac G4 o G5, entonces no vamos a
llegar muy lejos!
El archivo que acaba de descargar automticamente se expandir para mostrar una carpeta
con el nombre android-sdk-macosx. Puede ser en tu carpeta de descargas en este
momento, un lugar ms natural para lo que sera en la carpeta Documentos, por lo que
mudarse all antes de realizar los siguientes pasos.
Hay un SDK Lame archivo de texto que enumera los pasos que tendr que tomar. Si estos
pasos son diferentes a lo que tenemos aqu y siga los pasos de la Lame, en caso de que se
hayan actualizado desde los pasos que se muestran aqu fueron escritos.
Abrir el Terminal de aplicacin, que est en Aplicaciones / Utilidades. Es necesario
cambiar los directorios que se ubicar en el android-sdk-macosx carpeta. Un truco muy
til en la Terminal es que usted puede arrastrar los elementos en la ventana de terminal para
obtener la ruta de acceso a ese elemento. Con ese truco, puede escribir CD y un espacio en la
ventana de Terminal, a continuacin, arrastre el android-sdk-macosx carpeta justo
despus del espacio. Usted va a terminar con esta lnea:
nuevo-host-3: colin ~ $ cd / Users / colin / Documents / android-sdk-macosx
Por supuesto, la primera parte de la lnea y el usuario carpeta coincide con la suya, no ma!
El resto ser el mismo aspecto. As es como se vera un usuario llamado fred:
nuevo-host-3: fred ~ $ cd / Users / fred / Documents / android-sdk-macosx
Sea cual sea su nombre, pulse la tecla Retorno o Intro despus de escribir esa lnea. Los
cambios en las lneas de ubicacin a un aspecto similar al siguiente:
nuevo-host-3: android-sdk-macosx colin $
O escriba cuidadosamente o copiar y pegar esta lnea del archivo Lame:
tools / android update sdk - no-ui
Pulse Intro o Enter nuevamente. Cunto tiempo toma la descarga depender de su
conexin a Internet. Incluso con una conexin a Internet muy rpida, todava tardar
ms de una hora.
[ 46]
Chapter 2
Instalacin del SDK de Android en Windows
La pgina de descargas recomienda utilizar el exe enlace de descarga, y que va a hacer
cosas adicionales, tales como comprobar si tiene el Java Development Kit (JDK) instalado. Al
hacer clic en el enlace, utilice la opcin Ejecutar o Guardar las opciones como lo hara con
cualquier descarga de un instalador de Windows. Aqu se opt por utilizar Ejecutar. Si usted
hace uso de Guardar, entonces usted tendr que abrir el archivo despus de que se guardan
en el disco duro. En el siguiente caso, ya que el JDK no se ha instalado, un
cuadro de dilogo aparece diciendo para ir al sitio de Oracle para obtener el JDK:
Si usted ve esto, entonces usted puede dejar el cuadro de dilogo de abrir y haga clic en el
botn java.oracle.com visita. En la pgina de Oracle, lo que tienes que hacer clic en una casilla
de verificacin para aceptar sus trminos, y luego en el siguiente enlace correspondiente a su
plataforma. Elija la opcin 64-bit si est ejecutando una versin de 64 bits de Windows, o la
opcin x86 si est ejecutando Windows 32-bit.
De cualquier manera, te da la bienvenida con otro instalador para ejecutar o guardar,
como usted prefiera. Naturalmente, se necesita un tiempo para que el instalador haga lo
suyo tambin! Cuando finalice la instalacin, aparecer una pgina de registro JDK, sino
que depende de usted si se registra o no.
De vuelta en el cuadro de dilogo de instalacin de Android SDK, puede hacer clic en el
botn Atrs y, a continuacin, en el botn Siguiente para volver a esa etapa JDK de
cheques, slo que ahora se ve que usted tiene el JDK instalado. Complete los pasos
[ 47 ]
Getting Started with LiveCode Mobile
restantes de la instalacin de SDK, como lo hara con cualquier instalador de Windows.
[ 48]
Chapter 2
Una cosa importante a notar, y la ltima pantalla del instalador ofrece para abrir el
Administrador de SDK. Usted quiere hacer eso, as que resistir la tentacin de
desactivar esa caja!
Haga clic en Finalizar, y le dar la bienvenida con una ventana de lnea de comandos por
unos momentos, y luego el Administrador de Android SDK aparecer y haga su cosa.
Al igual que con la versin para Mac, se necesita mucho tiempo para todos estos add-ons para
descargar.
LiveCode Sealando el SDK de Android
Despus de todo el trabajo de instalacin y de lnea de comandos, es un cambio
refrescante para volver a LiveCode!
[ 49]
Getting Started with LiveCode Mobile
Abra las Preferencias LiveCode, y seleccione Soporte Mvil.
Vamos a establecer las dos entradas para iOS iOS va despus de conseguir (en Mac es decir, estas
opciones se atenuarn en Windows). Por ahora, haga clic en el botn ... situado junto al campo de
Android SDK desarrollo de las races, y vaya a donde el SDK est instalado. Si ha seguido los pasos
anteriores correctamente, entonces ser en el Documentos carpeta en Mac, o en C: \
Archivos de programa (x86) \ Android \ en Windows (o en otro lugar si decide
utilizar una ubicacin personalizada).
Uf! Ahora, vamos a hacer iOS ...
Pop quiz - nombres sabrosos cdigo
1.Android OS utiliza algunos nombres curiosos de cdigo para cada versin. En el
momento de escribir esto, estamos en Android OS 4, que tena un nombre en clave
de Ice Cream Sandwich. Versin 4.1, presentado en el Google I / O en 2012, es Jelly
Bean, y la siguiente versin se piensa que es tarta de lima. Cul de estos es ms
probable que sea el nombre de cdigo para la posterior OS Android?
una. Entrar b
Cabin.
Almuerzo c
[ 50]
Chapter 2
Box. Munchies
d. Cheesecake de limn
[ 51 ]
Getting Started with LiveCode Mobile
Convertirse en un desarrollador de iOS
Creacin de aplicaciones para iOS LiveCode requiere que LiveCode debe tener acceso al SDK
de iOS. Esto est instalado como una parte de las herramientas de desarrollo Xcode, y que es
un programa Mac-slo. Adems, al hacer subir una aplicacin para iOS App Store, la aplicacin
que se utiliza es tambin slo para Mac, y tambin es parte de la instalacin de Xcode. Si
usted es un desarrollador basado en Windows y desean desarrollar y publicar para iOS,
entonces necesitar una mquina virtual que se puede ejecutar Mac OS, Mac o un real.
La mayor diferencia entre convertirse en un desarrollador de Android y un desarrollador de
iOS es que usted tiene que firmar con Apple para su programa de desarrolladores, incluso si
nunca producir una aplicacin para iOS App Store. Si las cosas van bien, y terminan haciendo
una aplicacin para las diferentes tiendas, entonces esto no es un gran problema. Se le habr
costado $ 25 para poder presentar al Android Market, $ 99 al ao (el primer ao gratis) para
presentar a la Appstore Amazon, y
$ 99 por ao (incluyendo el primer ao) para ser un desarrollador de iOS de Apple. Slo venden
ms de
300 copias de su aplicacin sorprendente 0,99 dlares, y es pagado fo s!
Su punto de partida para iOS eshttp://developer.apple.com/programs/ios/.
[ 52 ]
Chapter 2
Cuando se registra para ser un desarrollador de iOS, existen cuatro posibilidades cuando
se trata de su estado actual. Si ya dispone de un ID de Apple, para que puedas usar con
sus compras en la tienda online de Apple, o tal vez sus compras de iTunes Store, entonces
usted puede elegir el que ya tiene un ID de Apple ... opcin. Con el fin de ilustrar todos los
pasos en la firma,
vamos a elegir para empezar como un nuevo usuario.
[ 53]
Getting Started with LiveCode Mobile
Usted puede optar por inscribirse como individuo o como empresa. Vamos a elegir Individual.
[ 54]
Chapter 2
Al igual que con cualquier tal proceso de registro, tendr que introducir sus datos
personales, establecer una pregunta de seguridad, y escriba su direccin postal.
[ 55]
Getting Started with LiveCode Mobile
La mayora del software de Apple y servicios tienen su propio acuerdo legal para que las
firmen. ste es el acuerdo general registrada de Apple Developer.
Con el fin de verificar la direccin de correo electrnico que ha utilizado, una verificacin de e-
mail se enva a usted, con
un enlace en el e-mail para hacer clic, o puede introducir el cdigo manualmente. Una vez que
haya completado
el paso de verificacin, puede introducir los datos de facturacin.
[ 56]
Chapter 2
Podra ser que usted vaya a hacer aplicaciones LiveCode para la Mac App Store, en cuyo caso
tambin habra que aadir el Mac Developer Program producto. Para nuestros propsitos,
slo hay que registrarse para iOS Developer Program.
Cada producto que se suscribe a tiene su propio acuerdo. Un montn de letra pequea para leer!
[ 57 ]
Getting Started with LiveCode Mobile
La compra real de la cuenta de desarrollador de iOS se maneja a travs de la Apple Store
para su regin.
[ 58]
Chapter 2
Como vern, va a costar $ 99 por ao, o $ 198 por ao si tambin se ha registrado para
la cuenta de desarrollador Mac. La mayora de los usuarios LiveCode no tendr que
inscribirse en la cuenta de desarrollador de Mac, a menos que el plan es presentar
tambin las aplicaciones de escritorio de la Mac App Store.
Una vez enviado el pedido, son recompensados cuando se les dice que ahora est registrado
como un
Apple Developer!
[ 59]
Getting Started with LiveCode Mobile
Por desgracia, no es una aprobacin inmediata, como fue el caso con el Android Market o
Appstore Amazon. Usted tiene hasta cinco das para esperar la aprobacin. En los das
tempranos de desarrolladores de iPhone, podra tomar un mes o ms, por lo que 24
horas es una mejora!
Pop quiz - nombres de cdigo para iOS
Usted tuvo fcil con el examen sorpresa sobre los nombres de Android OS de cdigo! No es as con iOS.
1.Which de estos nombres es ms probable que sea un nombre de cdigo para una versin
futura de iOS?
a.Las Vegas
b. Laguna Beach
c.Hunter Mountain d.
Valle de la Muerte
Instalar Xcode
Una vez que reciba la confirmacin de ser un desarrollador de iOS, you podr iniciar sesin
en el iOS Dev Center, en
https://developer.apple.com/devcenter/ios/index.action.
[ 60]
Chapter 2
Esta pgina se utiliza la misma por los desarrolladores de iOS que no usan LiveCode, y est
llena de documentos de apoyo para ayudar a alguien a crear aplicaciones nativas usando
Xcode y Objective-C. No necesitamos ms de eso, pero es necesario descargar Xcode.
[ 61 ]
Getting Started with LiveCode Mobile
En el rea de descargas de la pgina iOS Dev Center, podrs ver diferentes versiones de Xcode
para Mac OS 10.6 (Snow Leopard) y Mac OS 10.7 (Lion), as como el enlace a la antigua
Xcode 3. Tambin puede obtener el cdigo de la Mac App Store, ya partir de la versin 4.3 de
Xcode, que
toma la forma de una aplicacin en lugar de una carpeta de desarrollador.
Instalar Xcode desde la Mac App Store es muy sencillo, es como comprar cualquier otra
aplicacin en la tienda, slo que es gratis! Se requiere que usted utiliza Mac OS 10.7.3 o
posterior. Si est utilizando un sistema mayor, entonces usted descargue una de las
versiones ms antiguas de la pgina del desarrollador.
El mayor proceso de instalacin de Xcode es muy similar a cualquier otra aplicacin de Mac:
Las instalaciones Xcode tomar un tiempo muy largo, pero al final, usted debe tener la
Revelador carpeta o aplicacin Xcode nuevo, listo para LiveCode de encontrar.
[ 62 ]
Chapter 2
Hacer frente a los dispositivos ms nuevos y mayores
A principios de 2012, Apple lanz al mercado un nuevo iPad. El principal
punto de venta de ste en comparacin con el iPad 2 es que tiene una
"Retina" display. Los iPads regulares tienen una resolucin de 1024x768,
y la versin retina tiene un
resolucin de 2048x1536. Si desea crear aplicaciones para tomar ventaja de
eso, usted debe obtener la versin de Xcode desde la Mac App Store, y
no es una de las versiones ms antiguas de la pgina del desarrollador. El
nuevo Xcode exige que sea en Mac OS 10.7.3 o posterior. Por lo tanto, para
apoyar plenamente los ltimos dispositivos, es posible que tenga que
actualizar el software del sistema ms de lo que esperbamos! Pero espere,
hay ms. Al tomar una versin posterior de Xcode, se
A continuacin se ausente de las versiones de iOS SDK que se necesitan para
apoyar mayores dispositivos iOS, como el iPhone original y el iPhone 3G.
Afortunadamente, usted puede ir a Preferencias en Xcode, y hay una
pestaa de descargas, donde se puede disfrutar de los SDKs mayores
descargados en la nueva versin de Xcode.
LiveCode Sealando los SDK de iOS
Abra las Preferencias LiveCode, y seleccione Soporte Mvil.
[ 63]
Getting Started with LiveCode Mobile
Haga clic en el ...situado junto a la ubicacin de la raz desarrollador de iOS 5.0 y superior:
campo, y usted ver un cuadro de dilogo que le pregunta si est usando Xcode 4.2 o 4.3. Si
selecciona 4,2, entonces
seguir para seleccionar la carpeta con el nombre Revelador en la raz de su disco duro.
Para 4.3, seleccione la aplicacin Xcode s mismo, en su Aplicaciones carpeta. Si est
utilizando un sistema antiguo que no era capaz de correr Xcode 4.2 o 4.3, y tuvo que tomar el
Xcode 3 descarga, haga clic en
la ...situado junto a la ubicacin de la raz desarrollador de iOS 4.0 y superior: campo, y
de nuevo, seleccione la carpeta con el nombre Revelador en la raz de su disco duro.
LiveCode ahora sabe dnde encontrar los SDK para iOS.
Antes de que podamos hacer nuestra primera aplicacin
mvil
Ahora que los SDK necesarios estn instalados y LiveCode sabe dnde estn, podemos hacer
una pila y probarlo en un simulador o en un dispositivo fsico. Nosotros, sin embargo, tiene
que conseguir los simuladores y dispositivos fsicos calentado ...
Cmo prepararse para la prueba de Android
Simulacin en iOS es ms fcil de lo que es para Android, y las pruebas en un dispositivo fsico es
ms fcil en
Android que en iOS, pero la puesta en marcha de los dispositivos Android fsicas puede ser
horrendo!
Tiempo de accin - a partir de un dispositivo virtual de Android
Usted tendr que hacer un poco de investigacin profunda en las carpetas del SDK de Android para encontrar
el programa de instalacin de Android Virtual Device, y bien puede ser que desee crear un acceso directo o
alias para un acceso ms rpido.
1. Navegue hasta el SDK de Android instrumentos carpeta, situado en C: \
Archivos de programa (x86) \ Android \ android-sdk \ en Windows,
y en su Documentos: android-sdk-macosx: herramientas carpeta en Mac
OS.
2. Abra el Administrador de AVD en Windows o Android en Mac (se parece a un ejecutable
de Unix
- Haz doble clic en l, y la aplicacin se abrir a travs de una ventana de lnea de
comandos).
3. Si ests en Mac, seleccione Administrar AVDS ... en el men Herramientas.
[ 64]
Chapter 2
4. Seleccione Tablet de la lista de dispositivos (slo hay dos cuando se ha
instalado por primera vez el SDK de Android - usted puede aadir sus
propios personalizados aqu tambin).
5. Haga clic en el botn Inicio.
6. Sintate pacientemente mientras el dispositivo virtual se pone en marcha!
7. Abra LiveCode, y crear un nuevo Mainstack y Guardar la pila en su disco duro.
8. Seleccione Archivo | Configuracin de aplicaciones independientes ....
[ 65]
Getting Started with LiveCode Mobile
9. Haga clic en el icono de Android, y seleccione la casilla de verificacin Build Andoid.
10. Cierre el cuadro de dilogo Configuracin, y echar un vistazo en el men Desarrollo.
11. Si la mquina virtual est en funcionamiento, debera ver que aparece en el
Target Testsubmen.
Qu ha pasado?
Ustedes han abierto un dispositivo Android virtual, y LiveCode podr probar las pilas que utilizan ese
dispositivo, carga una vez que ha terminado.
Conexin de un dispositivo fsico Android
Conexin de un dispositivo Android fsico puede ser muy sencillo:
1.Conecte el dispositivo por USB.
2.Observe el submen Desarrollo Target Test para ver en la lista.
Puede haber casos problemticos sin embargo, y de bsqueda de Google se convertir en su
mejor amigo antes de que haya terminado! Deberamos considerar un caso problema de
ejemplo para darle ideas sobre cmo resolver situaciones similares que pueden aparecer.
El uso de un Kindle Fire
Cuando se trata de encontrar los dispositivos Android, el SDK de Android reconoce que
muchos de ellos de forma automtica. Algunos dispositivos no son reconocidos, y hay
que hacer algo para ayudar Android Debug Bridge (ADB) encontrarlos.
ADB es la parte del SDK de Android que acta como un intermediario entre desde el
dispositivo a cualquier software que necesita para ser capaz de acceder al dispositivo. En
algunos casos, usted tendr que entrar en el sistema Android en el dispositivo para indicarle
que debe permitir el acceso para fines de desarrollo. Por ejemplo, en un Android 3
(Honeycomb) del dispositivo, tienes que ir a Ajustes | Aplicaciones | Desarrollo y activar el
modo de depuracin USB.
Kindle Fire viene con la depuracin USB ya est habilitado, usted no tiene que hacer nada,
pero el sistema ADB no sabe sobre el dispositivo en absoluto. Usted puede arreglar eso!
[ 66]
Chapter 2
Tiempo para la accin - la adicin de un fuego Kindle a ADB
Slo se necesita una lnea de texto para agregar el Kindle Fire a la lista de dispositivos que
ADB conoce. La parte difcil es localizar el archivo de texto para editar y conseguir ADB para
reiniciar despus de hacer los cambios. Las cosas estn ms involucrados con Windows a
Mac, ya que tambin hay que configurar el controlador de USB, por lo que los dos sistemas
se muestran aqu como procesos distintos:
Para Windows:
1. En el Explorador de Windows, navegue hasta la ubicacin del archivo
adb_usb.ini se encuentra, en C: \ Users \ nombredeusuario \
android \..
2. Abrir el archivo de texto adb_usb.ini en un editor de texto. El archivo no tiene
saltos de lnea visibles, por lo que Wordpad sera una opcin mejor que el Bloc de
notas.
3. En la lnea despus de las tres lneas de instruccin, tipo de 0x1949.
4. Asegrese de que no hay lneas en blanco, y el ltimo carcter del archivo de texto
debe ser el 9al final de 0x1949.
5. Guardar.
6. Vaya a donde android_winusb.inf se encuentra, en C: \ Archivos de
programa
(X86) \ Android \ android-sdk \ extras \ google \ USB_Driver \.
7. Haga clic derecho en el archivo y en Propiedades | Seguridad, seleccione
Usuarios de la lista, y haga clic en Editar para configurar los permisos para que se
le permite escribir en el archivo.
8. Abierto android_winusb.inf en el Bloc de notas.
9. Agregue estas tres lneas al [Google.NTx86] y [Google.NTamd64] secciones,
y guardar el archivo.
; Kindle Fire
%% SingleAdbInterface = USB_Install, USB \ VID_1949 PID_0006 y
%% CompositeAdbInterface = USB_Install, USB \ VID_1949 PID_0006 + +
MI_01
10. Usted tendr que ajustar el Kindle para utilizar el controlador USB que Google acaba de editar.
11. En el panel de control de Windows, el Administrador de dispositivos, busque la
entrada Kindle en la lista que se encuentra bajo USB.
12. Haga clic en la entrada Kindle y seleccione Actualizar software de controlador ....
[ 67 ]
Getting Started with LiveCode Mobile
13. Elija la opcin que le permite encontrar el controlador en la unidad local, vaya a la
google \ USB_Driver \ carpeta, y seleccione para ser el nuevo controlador.
[ 68]
Chapter 2
14. Cuando se actualice el controlador, abra una ventana de comandos (prctico truco:
Shift + clic derecho en el escritorio y seleccione Abrir ventana de comandos aqu).
15. Cambie al directorio donde la herramienta ADB se encuentra, escribiendo lo siguiente:
cd C: \ Archivos de programa (x86) \ Android \ android-sdk \ platform-
tools \
16. Escriba estas tres lneas, presionando ENTRAR despus de cada lnea:
adb kill-server
adb start-server
adb dispositivos
17. Usted debe ver el Kindle Fire en la lista (comoun nmero desconocido buscando), as como el
dispositivo virtual, si usted todava tiene que correr.
Para Mac (mucho ms simple!):
1. Vaya a la ubicacin del archivo adb_usb.ini se encuentra. En Mac, en el
Finder, seleccione el men Buscar | Ir a la carpeta ..., y el tipo de ~ /. Android
/.
2. Abrir el archivo adb_usb.ini en un editor de texto.
3. En la lnea despus de las tres lneas de instruccin, tipo de 0x1949.
4. Asegrese de que no hay lneas en blanco, y el ltimo carcter en el archivo de texto sera
el 9
al final de 0x1949.
5. Guardar.
6. Open Utilities | Terminal.
7. Usted puede dejar OSX saber cmo encontrar ADB desde cualquier lugar, al escribir esta lnea
(reemplaceyourusername con su nombre de usuario, y tambin cambiar la ruta si
ha instalado el SDK de Android en una ubicacin diferente):
export PATH = $ PATH :/
Users/yourusername/Documents/android-sdk- macosx / platform-
tools
8. Ahora, introduzca las mismas tres lneas que hicimos con Windows:
adb kill-server
adb start-server
adb dispositivos
[ 69]
Getting Started with LiveCode Mobile
9. Una vez ms, usted debe ver el Kindle Fire en la lista.
[ 70]
Chapter 2
Sospecho que vas a tener pesadillas sobre todos los pasos! Me tom un montn de
bsqueda en la web para encontrar algunos de esos hacks oscuros. El caso general con
dispositivos Android
en Windows es que usted tiene que modificar el controlador USB para el dispositivo para
ser manejado por el conductor Google USB, y es posible que tenga que modificar la
adb_usb.ini archivo (en Mac tambin) para el dispositivo sea considerado como un
dispositivo compatible ADB.
Cmo prepararse para la prueba de iOS
Si cuida pas por todas las etapas Android, sobre todo en Windows, se espera que sea
divertido por la brevedad de esta seccin! Hay un problema, aunque, en realidad no se
puede probar en un dispositivo iOS de LiveCode. Vamos a ver lo que tiene que hacer en su
lugar en un momento, pero primero, aqu estn los pasos necesarios para probar una
aplicacin en el simulador de iOS.
Tiempo de accin - utilizando el simulador de iOS
Los primeros pasos son muy parecidos a los de aplicaciones de Android, pero luego se
vuelve ms rpido. Recuerde que esto slo se aplica a Mac OS, y slo se puede hacer
estas cosas en Windows si est utilizando Mac OS en una mquina virtual, y hacer que
muy probablemente no cubiertos por el acuerdo de usuario Mac OS! En otras palabras, lo
mejor es conseguir un Mac si tiene la intencin de desarrollar para iOS.
1. Abra LiveCode, cree un nuevo Mainstack y guarde la pila en su disco duro.
2. Seleccione Archivo | Configuracin de aplicaciones independientes ....
3. Haga clic en el icono de iOS y seleccione la casilla de verificacin Generar para iOS.
4. Cierre el cuadro de dilogo de configuracin, y echar un vistazo en el men Desarrollo.
5. Usted ver una lista de opciones del simulador, para el iPhone y el iPad, y diferentes versiones de
iOS.
Qu ha pasado?
Eso fue todo, todo lo que necesita para ponerse en marcha con las pruebas
utilizando los simuladores de iOS! Las pruebas en un dispositivo iOS fsica requiere
que crear una primera aplicacin, as que vamos a hacer eso.
Appiness por fin!
[ 71 ]
Getting Started with LiveCode Mobile
What just happened?
En este punto, usted debera ser capaz de crear un nuevo Mainstack, guardarlo, seleccione iOS
o Android en el cuadro de dilogo Configuracin independiente, y ser capaz de ver los
simuladores o dispositivos virtuales en el men Desarrollo / Test. En el caso de una aplicacin
para Android, tambin podr ver el dispositivo en la lista, si est conectado a travs de USB a la
vez.
[ 72 ]
Chapter 2
Tiempo para la accin - probando una simple pila en los
simuladores
Sintase libre de hacer lo que es ms elaborado que solicit en estos pasos! Las instrucciones
estarn haciendo la suposicin de que usted sabe cmo encontrar las cosas por ti mismo en la
paleta de inspector de objetos.
1. Abra LiveCode, cree un nuevo Mainstack, y gurdelo en un lugar donde es fcil
encontrar en un momento de ahora.
2. Establecer la ventana de la tarjeta a un tamao de 1024x768, y desactive la casilla de
verificacin Redimensionable.
3. Arrastre un campo de etiqueta en la esquina superior izquierda de la ventana de la
tarjeta, y establecer su contenido en algo apropiado. Hello World podra hacer
muy bien!
4. Si est desarrollando en Windows, vaya al paso 11.
5. Abra la aplicacin autnoma de dilogo Configuracin, haga clic en el icono de
iOS y seleccione la casilla de verificacin Generar para iOS.
6. En Opciones de orientacin, establecer la orientacin inicial iPhone en horizontal.
7. Cierre el cuadro de dilogo.
8. Desde el Desarrollo / Target Test sub-men, seleccione el simulador de iPad.
9. Seleccione Prueba en el men Desarrollo.
10. Usted debe ahora ver a su pila de prueba que se ejecuta en el simulador de iOS!
11. Como se seal anteriormente, el lanzamiento del dispositivo virtual Android.
12. Abra la aplicacin autnoma cuadro de dilogo Configuracin, haga clic en el icono
de Android, y seleccione la casilla de verificacin Build para Android.
13. En Opciones de la interfaz de usuario, establezca la orientacin inicial a Horizontal.
14. Cierre el cuadro de dilogo.
15. Si el dispositivo virtual est en ejecucin por ahora, hacer todo lo necesario
para pasar de la pantalla de inicio bloqueada, si eso es lo que se est
mostrando.
16. Desde el Desarrollo / Target Test sub-men, seleccione el emulador de Android.
17. Seleccione Prueba en el men Desarrollo.
[ 73]
Getting Started with LiveCode Mobile
What just happened?
18. Usted debe ahora ver a su pila de prueba que se ejecuta en el emulador de Android!
[ 74]
Chapter 2
Si todo va bien, que acaba de hacer y corri su primera aplicacin mvil, tanto en Android y
iOS! Para un encore, debemos probarlo en dispositivos fsicos, aunque slo sea para dar
Android oportunidad de demostrar lo fcil que puede ser para hacer eso. Hay toda una lata
de gusanos que an no han abierto que ver con conseguir un dispositivo IOS configurado de
manera que puede ser utilizado para la prueba. Esto se trata en profundidad
En un captulo posterior, que se puede leer ahora, o puede visitar el Pro iOSPortal visionario
en https://developer.apple.com/ios/manage/overview/index.action, Y mirar
en la ficha Cmo en cada una de las diferentes secciones.
Tiempo para la accin - probando una simple pila de dispositivos
Consiga sus cables USB listo, y conectar los dispositivos a su computadora. Android primero ...
1. Se le debe quedar seleccionado en Configuracin Android aplicacin independiente.
2. Obtenga su dispositivo a su pantalla de inicio, ms all de la pantalla de bloqueo inicial, si
es que existe.
3. Elige Desarrollo / Target Test y seleccione su dispositivo Android. Bien puede decir
Androide y un nmero muy largo.
4. Elige Desarrollo / Test.
5. La pila debe ahora estar ejecutndose en su dispositivo
Android. Ahora iOS ...
1. Si usted no ha ledo el captulo posterior sobre la implementacin en el dispositivo,
o las pginas de Apple, o que no han instalado los certificados y los archivos de
aprovisionamiento, entonces usted tendr que pasar esta prueba, por ahora.
2. Cambiar la configuracin de aplicacin independiente de nuevo a iOS.
3. En Configuracin de la aplicacin bsica de la configuracin de iOS es un perfil en
el men desplegable que muestra los archivos de aprovisionamiento que ha
instalado. Elija el que est configurado para el dispositivo que se va a probar.
4. Cierre el cuadro de dilogo y selecciona Guardar como aplicacin autnoma ... en el
Expediente men.
5. En Finder, busque la carpeta que acaba de crear, y lo abre para revelar la App
propio archivo. Como no se dio por la pila de un nombre sensible, ser nombrado
Untitled 1.
6. Abra Xcode, que est en la carpeta del desarrollador que cre anteriormente, en el
Aplicaciones sub-carpeta.
[ 75]
Getting Started with LiveCode Mobile
What just happened? 7. En Xcode, seleccione Organizador en el men Ventana y seleccione Dispositivos,
si no est ya seleccionado.
8. Debe aparecer en la lista. Seleccinelo, y si ves un botn etiquetado para uso
Desarrollo, haga clic en ese botn.
9. Arrastre el archivo app directamente desde el Finder a su dispositivo en la ventana de
Organizer.
10. El pequeo crculo de color naranja a su vez, por un momento, y luego de vuelta a verde.
11. Ahora puede abrir la aplicacin en tu dispositivo iOS!
Qu ha pasado?
Adems de obtener una pila de prueba trabajando en dispositivos reales, tambin vimos lo
fcil que es, una vez que todo est configurado, para poner a prueba una pila directamente
a un dispositivo Android. Si est desarrollando una aplicacin que se va a desplegar en
tanto Android y iOS, es posible que la manera ms rpida al trabajo es poner a prueba con
el simulador de iOS para las pruebas de iOS, pero para probar directamente en un
dispositivo Android en lugar de utilizar el Android SDK virtuales dispositivos.
Tener un hroe go - Nook
Hasta hace poco, el apoyo de Android para el Nook Color de Barnes and Noble no era lo
suficientemente bueno para aplicaciones LiveCode a instalar. Parece que ha mejorado, sin
embargo, y bien podra ser otra tienda de aplicaciones que vale la pena para que usted
pueda apuntar.
Investigar el proceso de firma, descargar su SDK, y as sucesivamente. Con un poco de
suerte algo de lo que aprendi en la suscripcin a las otras tiendas tambin se aplicar a la
tienda de Nook. Esta es su punto de partida:
https://nookdeveloper.barnesandnoble.com
Otras lecturas
Los proveedores de SDK, Google y Apple, tienen pginas extensas de informacin sobre la
configuracin de sus entornos de desarrollo, la creacin de certificados y
aprovisionamiento de los archivos, y as sucesivamente. La informacin tiene que cubrir
una gran cantidad de temas que no se aplican a LiveCode, as que no trate de perderse!
Estos seran good pginas que empiezan por:
http://developer.android.com/
http://developer.apple.com/ios/
[ 76]
Chapter 2
Resumen
La inscripcin para los programas, archivo de la descarga, de comandos alineando su
camino por todo el lugar, y esperando pacientemente a que el emulador de Android para
poner en marcha, significa que podra tomar la mejor parte de un da a trabajar a travs de
lo que hemos cubierto en este captulo ! Afortunadamente, usted slo tiene que ir a travs
de l una vez.
Hicimos el trabajo a travs de las tareas que tiene que hacer antes de poder crear una
aplicacin mvil en LiveCode:
Descargar e instalar el SDK de Android
Regstrate como desarrollador de iOS
Descargar e instalar Xcode y el iOS SDK
Configurar dispositivos y simuladores
Tambin cubre algunos temas que sern tiles una vez que est listo para cargar una aplicacin de acabado:
Registrarse en Android Market
Inscribirse en Amazon Appstore
Habr cosas ms mundanas que cubren cerca del final del libro, pero no por mucho
tiempo! El siguiente, vamos a empezar a jugar con algunas de las habilidades especiales de
los dispositivos mviles.
[ 77 ]
Getting Started with LiveCode Mobile
3
La construccin de interfaces de
usuario
As que muchas pantallas diferentes!
Cuando se realizan aplicaciones de servicios pblicos o juego para computadoras de
escritorio que puedas
a menudo llegar a tener una ventana de tamao especial, por lo que usted puede hacer
grficos personalizados que se ajustan exactamente. Con los dispositivos mviles que tiene
que hacer frente a una
amplia gama de tamaos de pantalla, y relaciones de aspecto, y tambin tienen elementos
de interfaz
que parecen correctos para el sistema operativo en el dispositivo del usuario.
LiveCode es capaz de publicar en Mac, Windows y Linux, y supone un avance hacia la
solucin de la dificultad de buscar elementos de la interfaz adecuada para cada plataforma.
El men View tiene un aspecto y elemento de men Feel donde se puede elegir entre el
tema indgena, Mac OS Classic, Windows 95, y Motif. Lo mismo no puede decirse de los
sistemas operativos mviles, todos
controles parecen Motif. Usted todava tiene dos opciones: puede crear grficos que parecen
que pertenecen en su sistema operativo de destino, o puede llamar a rutinas nativas con el fin
de que el sistema se presenta los controles adecuados que buscan.
En este captulo vamos a:
Establecer un "banco de pruebas" de aplicaciones mviles
Abra el correo electrnico y las ventanas del navegador
Muestra un control de selector de fecha
Carga de imgenes de la biblioteca y la cmara
Hacer un botn de iOS buscando
Manual de disear una interfaz
Utilice el cdigo para disear una interfaz
Mira a controles de la interfaz mvil de gran alcance add-on
Building User Interfaces
[ 70 ]
La creacin de un banco de pruebas de aplicaciones
mviles
Como un campo de pruebas para las cosas que vamos a intentar, vamos a configurar una sola
aplicacin mvil que cuenta con varias pantallas, una para cada una de las cosas que
queremos probar.
Lo que hay que llamar a la aplicacin de banco de pruebas?
Podramos llamar a casi cualquier cosa, pero vamos a dejar que el iPhone ayuda a
tomar la decisin por nosotros. En el iPhone y el iPod touch, slo hay una pequea
cantidad de espacio debajo de los iconos de la pantalla de inicio para que aparezca
su nombre. iOS se
su nombre nice app largo y se mostrar una versin abreviada del nombre,
utilizando elipses para concatenar los extremos del nombre juntos. "Mi
aplicacin duper super" aparecer como "Mi sup ... app" - no es tan informativo!
El nmero de letras que puede aparecer sin que se truncada variar
dependiendo de la anchura de las letras utilizadas, pero tpicamente es un lmite
de 11 cartas. Por lo tanto, vamos a llamar al banco de pruebas de aplicacin "LC
banco de pruebas", que es exactamente 11 cartas!
Tiempo para la accin - lo que la pila de banco de pruebas
Antes de crear el iOS y Android, tenemos que conseguir lo que queremos ir como una pila
LiveCode, y completamente a prueba en nuestras computadoras de escritorio. Estos pasos
van a asumir que usted sabe cmo hacer lo que se le pide en LiveCode, sin instrucciones
precisas.
1. LiveCode Abrir, crear un nuevo Mainstack y Guardar como LCTestBed.
2. Establezca el tamao en 320x480. Slo para asegurarse de que las cosas van a
aparecer en la ms pequea de las pantallas. Las cosas que hacen que estar en la
zona lateral superior izquierdo de pantallas ms grandes.
3. Vamos a hacer un botn por cada carta en la pila. Comience por hacer una llamada
Men.
4. Nombre de la primera tarjeta Men.
Chapter 3
[ 71 ]
5. Agrega botones para correo electrnico, navegador, DatePicker e Imagen.
Asegrese de que los botones son lo suficientemente grandes para tocar en sus
dispositivos. Usted debe tener algo como la siguiente captura de pantalla:
5. Cree cuatro nuevas cartas. Nombre cada uno de tal manera que coincida
con uno de los nombres de los botones.
6. Volviendo a la primera tarjeta, ajuste el guin de cada botn de manera que va a
la tarjeta, con este script:
en mouseUp
ir tarjeta el nombre corto
del mouseUp final me
7. En cada tarjeta, crear un botn para volver a la tarjeta de men. Nombre del botn
Men.
Establezca su guin a los mismos que los otros botones.
8. Seleccione la opcin Ejecutar (browse) de herramientas, y tratar de hacer clic en
los botones para saltar a cada una de las cuatro cartas y de vuelta a la tarjeta del
men.
Qu ha pasado?
Pues bien, nada demasiado emocionante! Pero ahora debe tener cinco cartas y la habilidad para
moverse entre la tarjeta del men y los dems. Ahora vamos a agregar secuencias de comandos para
cada tarjeta para ayudar a ilustrar las diversas caractersticas. El enfoque ms eficaz consistira en
agregar todos los guiones y botones relacionados y campos, y luego probar la aplicacin de prueba
lecho final de una sola vez. Pero, dnde est la diversin en eso? Por lo tanto, vamos a crear una
funcin a la vez.
Building User Interfaces
[ 72 ]
Invocando el escritorio aplicacin de correo electrnico
Hay muchos casos en que es posible que desee saber de los usuarios de sus aplicaciones. Tal
vez usted quiere que correo electrnico mejoras sugeridas, o dejar que te hagan preguntas.
Desde aqu se puede poner en marcha su programa de correo electrnico, y luego se van a
decidir qu
escribir. Si lo prefiere, puede configurar automticamente la direccin "A", el tema, e
incluso algunos del cuerpo del mensaje. Por lo menos que podra hacer su vida ms fcil, ya
que puede filtrar los correos entrantes basado en algo que le coloca en el campo de asunto.
Tiempo de accin - pidiendo que el nativo de aplicacin de correo
electrnico
Vamos a hacer algunos campos y un botn para probar el envo de una funcin de correo electrnico.
1. Ir a la tarjeta e-mail y crear cuatro campos. Nmbrelos Desde, CC,
Asunto, y Cuerpo.
2. Hacer un botn denominado Test.
3. En el botn de prueba, escriba el siguiente guin:
en mouseUp
poner el campo "Para"
poner en ToText campo "CC"
en ccText
poner el campo "Asunto" en
subjectText poner campo "Cuerpo" en
bodyText
revMail ToText, ccText, subjectText,
bodyText final mouseup
4. Seleccione la herramienta de ejecucin y la informacin de ejemplo tipo en cada uno de
los campos.
5. Haga clic en el botn Probar.
Qu ha pasado?
Una cosa aseada sobre sintaxis LiveCode es que el cdigo de las aplicaciones mviles
tambin funciona para las aplicaciones de escritorio, y viceversa. Si todo va bien, cuando se
hace clic en el botn Probar te encontraras en tu correo electrnico predeterminado
aplicacin, lista para enviar el mensaje de que haba entrado en el campo LiveCode pila.
Instalacin del correo electrnico de prueba en los dispositivos
Chapter 3
[ 73]
No es ninguna sorpresa que la prueba funcion escritorio, la posibilidad de abrir otras
aplicaciones es una caracterstica bsica de LiveCode. An as, es estupendo para poder
establecer un texto inicial para el nuevo mensaje de su uso. A continuacin se debe ver
si esto puede funcionar en dispositivos tambin.
Building User Interfaces
[ 74 ]
Tiempo de accin - stack tratando de banco de pruebas en los
dispositivos
Conecta tu Android y / o dispositivo iOS al ordenador mediante USB. Estas instrucciones son
casi los mismos que en el captulo anterior, donde hemos probado un Hello World pila, y
despus de este punto cualquier direccin ser ms breve, basado en el supuesto de que usted
sabe los pasos necesarios para probar una aplicacin en su dispositivo. Captulo 7,
Implementacin en el dispositivo, se describen
todas las opciones del cuadro de dilogo Configuracin de aplicaciones independientes,
pero por el momento slo vamos a rellenar algunos detalles, as que aqu vamos a ver
slo una parte del dilogo, a partir de la configuracin de Android.
1. Asegrese de que Android est activada en la configuracin de aplicacin independiente
Cuadro de dilogo.
2. En el campo de identificador, el tipo de un identificador que ser nico.
com.yourname. lctestbed iba a hacer.
3. Obtenga su dispositivo a su pantalla de inicio, ms all de la pantalla de bloqueo inicial, si
es que existe.
4. En LiveCode, elija Desarrollo / Target Test y seleccione su dispositivo Android. Se
llamar Androide seguido de un nmero largo.
5. Elige Desarrollo / Test.
6. Despus de haber sido compilados, la pila debe ejecutarse en su dispositivo
Android, y usted debera ser capaz de tocar el botn Correo electrnico y crear un
mensaje de prueba que utilizar el Android aplicacin de correo electrnico.
Chapter 3
[ 75]
7. Pasando a iOS, si no lo ha hecho, lea el Captulo 7, Implementacin en el dispositivo, o
leer por lo menos aquellas partes que muestran cmo instalar los certificados para
desarrolladores iOS y archivos de aprovisionamiento. Al igual que con Android, slo
vamos a cambiar un par de elementos en el cuadro de dilogo Configuracin de la
aplicacin independiente. Esta es el rea que vamos a estar cambiando:
8. Cambiar la configuracin de aplicacin independiente para iOS.
9. Bajo la aplicacin bsica seccin Configuracin de los ajustes de iOS es un perfil
en el men desplegable de los archivos de aprovisionamiento que ha instalado.
Elija uno que est configurado para el dispositivo que se va a probar en.
10. En el campo de aplicacin interna en un ID nico de identificacin. Al igual que con
Android, com.yourname. lctestbed iba a hacer. sunombre Por supuesto,
sera su nombre, o el nombre de su empresa.
11. Si est probando el iPad, seleccione la opcin iPod, iPhone y iPad de la
Dispositivos compatibles en el men desplegable.
12. Cierre el cuadro de dilogo y selecciona Guardar como aplicacin autnoma ... en el
Expediente men.
13. Cuando el proceso de almacenamiento se haya completado puede ver un
mensaje de advertencia, informndole sobre pantallas de inicio y los iconos
que faltan. No haga caso de estos por ahora.
14. En Finder, busque la carpeta que acaba de crear, y lo abre para revelar la
App propio archivo.
15. Abra Xcode y seleccione Organizador en el men Ventana y, a continuacin, seleccione
Dispositivos, si no est ya seleccionado.
Building User Interfaces
[ 76]
16. Debe aparecer en la lista. Seleccinelo, y si ves un botn etiquetado para uso
Desarrollo, haga clic en ese botn.
17. Arrastre el archivo de aplicacin directamente desde la ventana del Finder para su
dispositivo en el Organizador
ventana.
18. El pequeo crculo de color junto al dispositivo se volver naranja por un momento,
y luego de vuelta a verde.
19. Ahora puede abrir la aplicacin y probar el botn Enviar para crear un mensaje de prueba, que utilizar
la aplicacin estndar de iOS correo.
Qu ha pasado?
Hemos pasado a travs de los pasos necesarios para instalar la aplicacin banco de pruebas tanto en
los dispositivos Android y iOS. Tambin tuvimos que cambiar un par de cosas en el cuadro de dilogo
Configuracin de la aplicacin independiente. Como has visto, hay un buen montn de ajustes all.
Usted puede esperar a conocer a todos en el Captulo 7, Implementacin en tu equipo
Apertura de una pgina web
Otra de las necesidades de su aplicacin ha de ser capaz de presentar informacin adicional
en lnea. Usted quiere que el usuario haga clic en un enlace, o el tacto como el caso puede
ser, y ser llevado a una pgina que enumera todas las otras aplicaciones que pueden
comprar a usted!
Tiempo de accin - pidiendo la aplicacin del navegador nativo
Esta prxima prueba ser mucho ms rpida. O al menos, las instrucciones sern ms
breves, como vamos a condensar algunos de los pasos en direcciones ms concisas.
1. Copie el botn de prueba en la tarjeta de E-mail, y pegarlo en la tarjeta del
navegador, slo para ahorrar algo de tiempo para hacer el botn de un aspecto
agradable.
2. Edite el script de botn de prueba, y el cambio a lo siguiente:
en mouseUp
lanzar url "http://www.runrev.com/"
final mouseUp
3. Elija la herramienta Ejecutar y haga clic en el botn Test. Debera ver la pgina de
inicio RunRev en su navegador predeterminado.
Chapter 3
[ 77 ]
Tratar la aplicacin en dispositivos es exactamente lo mismo que con las pruebas de la funcin de correo
electrnico. Para Android:
1. Seleccione Android en el cuadro de dilogo Configuracin de la aplicacin independiente.
2. Selecciona tu dispositivo Android como el blanco de prueba en el men de
Desarrollo (muy probablemente ya se habr seleccionado de la prueba anterior).
3. Seleccione Prueba en el men Desarrollo.
4. La prueba anterior de la aplicacin se pueden sobrescribir, y la nueva versin
se iniciar automticamente.
5. Pruebe el botn del navegador, y luego el botn de prueba que acaba de crear en el
Navegador tarjeta. La pgina runrev.com debe ser
abierta.
Para
iOS:
1. Seleccione iOS en el cuadro de dilogo Configuracin de la aplicacin independiente.
2. Rehacer el Guardar como aplicacin independiente, arrastre el archivo de aplicacin en su
dispositivo en el
Organizador ventana de Xcode, como lo hizo la
primera vez.
3. Prueba el navegador y botones de prueba, as que debera ver la pgina de inicio RunRev
abierto dentro de Safari.
Qu ha pasado?
Al igual que con el correo electrnico de prueba, aadiendo el cdigo estndar para la
apertura de una pgina web que funciona para Android y iOS, al igual que lo hace para una
computadora de escritorio.
Si est probando tanto en Android y iOS, te dars cuenta de que el comportamiento es
diferente cuando regrese de mirar una pgina web. Con Android, puede pulsar el botn de
flecha hacia atrs
y todava estar en la tarjeta del navegador de su pila. Con iOS la pila se reinicia cuando
regrese. Una solucin a esto que vamos a examinar ms tarde es para escribir datos en un
archivo externo, de modo que cuando la aplicacin se vuelve a abrir podemos regresar al
usuario a donde estaban antes de salir de la aplicacin.
Mobile-only, selector de
Building User Interfaces
[ 78 ]
fecha
El siguiente par de ejemplos vamos a tratar son los que slo funcionan en los dispositivos
mviles, no en las computadoras de escritorio.
Chapter 3
[ 79]
Tiempo de accin - que muestra un selector de fecha
Muchas aplicaciones requieren que el usuario seleccione una fecha para un evento, y con
los dispositivos mviles hay una mirada especial a la "selector de fechas" que se
muestran. LiveCode nos permite visualizar dicho control.
1. Copie el botn de prueba de la tarjeta de explorador y pegarlo en la tarjeta DatePicker.
2. Cambiar el guin a lo siguiente:
en mouseUp
iphonePickDate
"fecha" mouseUp final
3. Seleccione la herramienta Ejecutar y probar el botn de prueba. Vers un
error, porque esta es una caracterstica de slo mvil.
4. Para variar, seleccione Simulador de iPhone o iPad a partir de la Meta de Desarrollo / Test
men y, a continuacin, elija Prueba en el men Desarrollo.
5. Ver su stack abrir en el simulador de iOS, y puedes probar el DatePicker y
Pruebabotones, para ver el selector de fechas iOS se est visualizando.
6. Realice los mismos viejos Guardar Como e instalar siguiendo los pasos ventana del
organizador a fin de tratar el selector de fechas en su dispositivo iOS.
7. Pulse el botn DatePicker en la tarjeta del men y el botn de prueba de la tarjeta datepicker.
Un selector de fecha iOS nativo debe aparecer.
Qu ha pasado?
Espero que ests cada vez ms rpido en la construccin e instalacin de aplicaciones
mviles por ahora! Adems de probar de nuevo en un dispositivo, tambin probamos el
simulador. Generalmente hablando es el ms rpido para poner a prueba lo que puede
con el simulador de iOS, y slo en un dispositivo de prueba cuando se est examinando
cosas como multi-tctil, acelermetro y soporte de la cmara.
Mobile-solamente, cuadros de carga
Tal vez algn da ser posible poner en imgenes desde la aplicacin de escritorio ordenador
del usuario foto, o desde su cmara web, pero por ahora estas son caractersticas que slo
funcionan en dispositivos mviles.
Building User Interfaces
[ 80]
Tiempo de accin - Fotos de carga
LiveCode puede recurrir a la biblioteca de fotos natal y aplicaciones de la cmara. Vamos a
probar ambos en Android y iOS, pero por supuesto slo si el dispositivo tiene algunas
imgenes guardadas, y una cmara. Para el Kindle Fire, que no tiene una cmara, asegrese
de guardar algunas imgenes en la aplicacin Galera, de modo que por lo menos podemos
intentar cargar esos.
1. Copie el botn de prueba de la tarjeta DatePicker y pegarlo dos veces en las imgenes
tarjeta. Cambie el nombre de los botones para Prueba de la cmara y Prueba de
Biblioteca.
2. Edite el guin de la Prueba de la cmara botn a lo siguiente:
en mouseUp
mobilePickPhoto "cmara"
fin mouseup
3. Edite el guin de la Prueba Biblioteca botn a lo siguiente:
en mouseUp
mobilePickPhoto
"biblioteca" fin mouseup
4. Al probar la carga de imgenes, la imagen que se carga cubrir los botones de
prueba, nos impide volver a la carta men. Para resolver este problema, agregue
esto a la escritura de la tarjeta:
en mouseup
si la palabra 1 del objetivo es "imagen" a continuacin,
elimine el objetivo final mouseup
5. Ir a Ajustes aplicacin independiente, y seleccionar Android.
6. Tenemos que preguntarnos Android OS permiso para utilizar la cmara, y para almacenar
la imagen, a fin de comprobar los requisitos para la cmara y escritura de almacenamiento
externo como se muestra en la siguiente captura de pantalla:
Chapter 3
[ 81 ]
7. Repita los pasos habituales para las pruebas en su dispositivo Android, o instalar
en su dispositivo iOS.
Building User Interfaces
[ 82 ]
8. Una vez que la aplicacin se est ejecutando en las fotografas toque el equipo, en
la primera pantalla y, a continuacin, Biblioteca Test. Usted debe ver a las tpicas OS
opciones especficas para la eleccin de una imagen de tu biblioteca o una galera.
9. La imagen que ha seleccionado se carga en la ventana de la tarjeta, y llenar la
mayor parte de la pantalla, ocultando nuestra prueba y los botones del men. El
guin tarjeta entramos significa que usted puede tocar la imagen para borrarla, y
luego intente otra prueba.
10. Pruebe el botn de la cmara de prueba. Ver la aplicacin de la cmara con sistema operativo
especfico, y cuando hayas tomado una foto y toc el uso o el botn OK en la aplicacin de la
cmara, la imagen se coloca en la tarjeta Pictures.
Qu ha pasado?
Estas secuencias de comandos simples ilustrar cmo LiveCode es capaz de llamar a las
aplicaciones de OS-especficas para hacer lo que de otra manera sera tomar un montn de
codificacin. Incluso mejor, ya que las versiones posteriores de iOS y sistemas operativos
Android son liberados, las secuencias de comandos simples mismos activar las funciones
ms avanzadas que Apple y Google han puesto en prctica.
Pop Quiz - conseguir el cuadro grande
Nos tomamos tanto por sentado lo que se refiere a las mejoras en la tecnologa. Usted puede
sentir duro hecho por si la cmara del telfono es un msero 2 megapxeles, pero piensen en
cmo eran las cosas hace mucho tiempo, y lo grande que la imagen que estaban acostumbrados a
ver. En trminos de la
nmero de pxeles, el nmero de pantallas originales de Macintosh pueden encajar en el rea
indicada por una sola
8-megapixel foto?
un
a.
4
b. 15
c. 24
d. 45
Haciendo utilizar botones de estilo
Es bueno que LiveCode puede recurrir a los controles del sistema operativo nativo, sino
que plantea un problema debido a que los estndares de estilo Motif-botones se vean
muy bien en comparacin. Podemos arreglar que, o bien mediante el uso de algunas
caractersticas integradas de LiveCode, o con el uso de un producto de complemento.
Chapter 3
[ 83]
El uso de mapas de bits
Como vimos en el Captulo 1, Fundamentos LiveCode, puede utilizar mapas de bits diferentes
para los estados del botn. Usted puede obtener este tipo de imgenes, tomando imgenes
de los botones de su dispositivo mvil
por lo menos con iOS y OS Android v4 y ms tarde, o usted puede ahorrar mucho tiempo
descargando archivos que otros han hecho disponibles. Algunos de estos archivos slo tienen
licencia para su uso en prototipos,
pero vamos a echar un vistazo a uno que tambin tiene licencia para su uso en productos
comerciales.
Tiempo para la accin - el uso de Photoshop para preparar los
estados botn
El archivo que se va a utilizar Photoshop tiene efectos de filtro que GIMP no puede
manejar, as que por desgracia se necesita Photoshop para seguir estos pasos, o por lo
menos un amigo que tiene Photoshop!
1. Lea el artculo en el siguiente enlace:
http://spin.atomicobject.com/2011/03/07/photoshop-template-for-
iOS botones /
2. El artculo apunta a algunas otras fuentes de informacin, pero por ahora just
descargar este archivo:
http://spin.atomicobject.com/assets/2011/3/7/iOS_Buttons.psd
3. Abra el archivo en Photoshop (puede abrir automticamente).
4. En la paleta Capas ocultar las capas nombradas Antecedentes y Barra de Herramientas -
Retina.
5. Expanda la capa denominada Button Bar - Retina, y ocultar la capa de la etiqueta del
botn.
6. Utilice la herramienta Marco para seleccionar un rea alrededor del botn lateral
superior derecho. Ahora debera tener el siguiente aspecto:
Building User Interfaces
[ 84 ]
7. Elija Copiar combinado en el men Editar.
8. Seleccione Nuevo en el men Archivo, asegrese de que el contenido de fondo se
establece en
Transparente, y aceptar el tamao que le den.
9. Seleccione Pegar, ser un ajuste exacto, y usted ver el estado de reposo para ese botn.
10. Seleccione Guardar para Web y dispositivos ... en el men Archivo.
11. En el cuadro de dilogo Guardar, seleccione 24 bits PNG, y asegrese de que la
casilla de Transparencia est seleccionada. Guarde el archivo PNG con un nombre
adecuado, por ejemplo bluebuttonup.png.
12. Volver al documento principal y activar la capa activa visible =.
13. Haga otra Copiar combinado, Nuevo, Pegar y Guardar para Web y dispositivos ....
14. Guarde el PNG como bluebuttondown.png.
15. Vuelve a LiveCode.
16. Vuelva a abrir la pila de banco de pruebas.
17. Utilice Archivo | Importar como Control | Archivo de Imagen ... para traer los dos archivos
PNG en la pila.
18. Puede colocar las dos imgenes en cualquier lugar. Desactive la opcin Visible en Propiedades
Chapter 3
[ 85]
bsicas para cada imagen.
19. Aadir un nuevo botn a la primera tarjeta, y le dan el nombre Ubicacin.
Building User Interfaces
[ 86]
20. Establecer la secuencia de comandos botn para:
en iphoneStartTrackingLocation
mouseUp
poner iphoneCurrentLocation () en
theLocation theLocation respuesta
["latitud"]
final mouseUp
21. Seleccione la Ubicacin botn, y en las propiedades bsicas de la paleta
Inspector, desactivar el nombre de Show y opaco.
22. En Iconos y Fronteriza, apague Tres D, Border, y la frontera Hilite.
23. Haga clic en el botn varita mgica junto a la entrada del icono de la paleta Inspector.
24. Desde la biblioteca de imagen en el men desplegable, seleccione Esta pila.
25. Haga clic en el encendedor de las dos imgenes azules.
26. Haga clic en el botn varita mgica junto a la entrada icono Hilite, a
continuacin, haga clic en la ms oscura de las dos imgenes.
27. Cambiar el tamao del botn para ser lo suficientemente grande como para
mostrar la imagen azul sin que se recorta.
28. Coloque un campo Etiqueta en la parte superior de la tecla.
29. En Propiedades Bsicas, marque la casilla para discapacitados. Esto es para
asegurarse de que el campo no atrapar el clic que usted va a hacer. Queremos
que el botn para obtener ese clic.
30. En Contenido, introduzca Ubicacin.
31. En Formato de texto, establezca el campo para utilizar Helvetica Neue, 18 punto,
Bold, y
centro alineados.
32. En colores & las gamas, ajuste el color del texto a ser blanco.
33. Alinear el campo y el botn de modo que los dos se centra en la otra.
34. Si ahora prueba con el simulador de iOS y haga clic en el Ubicacin botn, usted
acaba de ver un cero, pero las pruebas en un dispositivo debe mostrar su latitud al
tocar el botn (se le tiene que dar permiso a la aplicacin para saber su ubicacin
la primera vez que pulse el botn).
Chapter 3
[ 87 ]
Qu ha pasado?
Aunque el botn que hizo no puede ser el tamao perfecto, ni siquiera tiene el aspecto
correcto para un botn independiente iOS, s que fuimos a travs de todos los pasos que
usted necesita para hacer imgenes de los botones de estado. La colocacin de un campo
LiveCode sobre los botones de imagen no es necesariamente la mejor apariencia. En realidad,
le tomara ms tiempo en Photoshop para hacer que el botn derecha para el ancho de la
etiqueta que est usando, y tambin puede aadir el texto a la imagen en s. Se vera mejor, y
usted no tendr que utilizar un campo para mostrar el nombre del botn en LiveCode.
LiveCode es capaz de utilizar cdigo para crear las imgenes que necesitamos, mediante el
establecimiento de los puntos de un grfico, as como su fillGradient. Pero una vez que
usted tiene los componentes necesarios para simular un botn u otro tipo de control, an se
requerir mucho ms secuencias de comandos para administrar dichos elementos.
No hay una salida fcil, aunque, pero que le costar $ 50!
Pop quiz - el costo de las cosas en estos das
Al igual que con el aumento de sus expectativas para el tamao de una foto digital,
tambin espera obtener una mayor cantidad de su dinero en estos das. Mientras que
sopesar las ventajas de gastar $ 50, cunto mejor valor crees que una memoria de
ordenador ahora en comparacin con hace 25 aos?
A.10 b veces mejor.
La mitad de bueno
C.100 veces mejor
d. 6.000 veces mejor!
MobGUI al rescate!
RunRev tiene su sede en Edimburgo, Escocia, y ellos son un grupo talentoso! Pero ellos no
son el pueblo escocs slo talento, tambin hay John Craig. Ha desarrollado un poderoso
complemento para LiveCode que incluye una lista cada vez ms larga de iOS y Android OS
buscando controles. Si usted fuera a comprar su producto que usted pagara $ 50, para lo
cual se obtiene la versin actual, adems de los cambios que se liberan en los 12 meses
siguientes a la fecha de compra. Al tiempo que toma un vistazo aqu, podemos utilizar una
versin de prueba del producto.
Building User Interfaces
[ 88]
Tiempo de accin - Conceptos bsicos del MobGUI
Al igual que con otros complementos para LiveCode, MobGUI tendr que ser instalado en la
carpeta de plugins LiveCode. En Windows que sern Mis documentos / Mi LiveCode
/ Plugins. En Mac ser ~ / Documentos / My LiveCode / Plugins.
1. Descargue la versin ms reciente de MobGUI de
http://mobgui.com/download. php.
2. El archivo comprimido se ampliar para convertirse en una pila LiveCode, llamado
revMobGUI.livecode.
3. Arrastre la pila en la plugins carpeta y volver a abrir LiveCode.
4. Hacer una nueva Maintstack.
5. En el men Desarrollo, elige Plugins / revMobGUI. Esta ventana aparecer:
Chapter 3
[ 89]
6. El primero de los iconos es la pantalla de bienvenida, y los ltimos cinco iconos
son para cosas tales como el registro, soporte y actualizaciones recibiendo. Haga
clic en el segundo icono, el que se parece a un botn de reproduccin. Ver este
acuerdo:
7. La ventana MobGUI se parece mucho a una combinacin de la herramienta y LiveCode
Inspector paletas.
8. Intenta arrastrar elementos diferentes en la tarjeta, y mirar las opciones para cada artculo.
9. Haga clic en la imagen iPhone, a ver que se puede cambiar entre los
diferentes conjuntos de controles.
10. Seleccione el iOS Controles 2 de la lista que aparece.
11. Arrastre un TabBar en la ventana de la tarjeta, tenga en cuenta la forma en que se ajusta
a la parte inferior.
Building User Interfaces
[ 90 ]
12. Haga clic en el control Button y seleccione 4 de la lista.
Chapter 3
[ 91 ]
13. Vers que ahora puede arrastrar y crear cuatro botones de una sola vez.
14. Alt + doble clic en uno de los nuevos botones que acaba de hacer. Los botones
hacia fuera para llenar la anchura de la tarjeta.
Qu ha pasado?
Algo muy importante de LiveCode es que las numerosas ventanas y paletas que se utilizan
en el programa estn a slo pilas, y hemos comenzado a hacer uso de una pila especializada
que nos va a ahorrar un montn de tiempo, y nos dar una OS agradable interfaz especfica
buscando.
Prueba de cama aplicacin, la forma MobGUI
Vamos a hacer mucho la misma aplicacin banco de pruebas, pero en este vamos a tratar de dar una
mirada ms a la aplicacin de iOS.
Tiempo de accin - con MobGUI para hacer una aplicacin de banco
de pruebas
A medida que trabaja en LiveCode y empezar pilas nuevas, guardar y cerrar otras pilas
abiertas previamente, ya que todava puede ser la memoria de ocupacin. A veces se puede
entrar en un estado de confusin en el que estamos haciendo una nueva pila sin ttulo, slo
para encontrar que ya hay una pila sin ttulo en el camino, que le pregunta si desea purgar.
Por qu no disfrutar de un lanzamiento para dejar de fumar y fresca de LiveCode!
1. Crear un nuevo Mainstack. Establezca el nombre de MGTestBed, y gurdelo en algn
lugar se puede encontrar fcilmente. Tal vez en la carpeta con el LCTestBed pila, que
se senta sola!
2. Abra la ventana MobGUI, seleccionando el Desarrollo / Plugins / revMobGUI.
3. En la pgina de la ventana de controles MobGUI usted ver que usted puede elegir
un tamao de la pila. Seleccione el tamao de iPhone, y la pila se convertir en
320x480.
Building User Interfaces
[ 92 ]
4. Haga clic en el botn denominado cdigo preOpenCard Aadir a la escritura de la
tarjeta. Se trata de introducir el cdigo necesario para inicializar MobGUI.
5. Establezca el nombre de esta primera carta a Correo electrnico.
6. Recuerde que puede cambiar entre los diferentes conjuntos de controles con un
clic derecho sobre la imagen del iPhone. A partir de ese men, seleccione iOS
Controles 2.
7. Arrastre el control de BG en la tarjeta. Se va a crear una capa de fondo.
8. Arrastre una barra de pestaas en la ventana de la tarjeta. Se acoplar a la parte
inferior de la ventana de la tarjeta, y tambin cambiar el tamao de la anchura de
la tarjeta.
9. Haga clic en el botn de control en la ventana MobGUI y seleccione 4.
10. Arrastre los botones en la ventana de la tarjeta, en la parte superior de la
barra de pestaas. Cuatro botones sern aadidos.
11. Lo ms probable los botones se fuera a la parte derecha de donde deben estar.
Alt + doble clic en uno de los botones, para cambiar el tamao y la propagacin a travs
del ancho de
la ventana de la tarjeta. Si es necesario, seleccione los botones y empujar hacia arriba o
hacia abajo para
hacer que ellos se sientan bien en contra de la barra de pestaas.
12. Seleccione cada botn y establecer los nombres y etiquetas a Correo
electrnico, Navegador, DatePicker, y Imagen.
13. Seleccione la Email botn y elegir objetos de secuencias de comandos en el
men Objeto o haga clic en el botn y elija la opcin Editar guin. La
secuencia de comandos se ver as:
Chapter 3
[ 93]
14. Usted puede agregar a la secuencia de comandos. Modifique laTouchstart controlador
para que se vea como el siguiente:
en Touchstart PID
mobGUITouch el identificador
largo de mi tarjeta ir el nombre
corto de m
final Touchstart
15. Puede copiar el guin completo del primer botn, y pegarlo en los otros tres botones.
16. Vamos a necesitar estos elementos en todas las cuatro cartas que vamos a hacer, as que
seleccione todos y luego elegir grupo seleccionado en el men Objeto.
17. Asegrese de que el grupo es seleccionado y en la paleta Inspector LiveCode
peridica, marque la casilla de comportarse como un fondo.
18. Hacer ms tres cartas, y el nombre de ellos Navegador, DatePicker, y Imagen.
19. Desde el men en el que elegimos iOS Controles 2, seleccione iOS Controles 1.
20. Arrastre el control NavBar en la ventana de la tarjeta para cada una de las cuatro
cartas, y establecer el nombre coincide con el nombre de la tarjeta,
21. En Configuracin de la aplicacin autnoma, elegir iOS o Android, segn el
dispositivo que desea probar sucesivamente.
22. Establezca el ID de aplicacin interna, o Identificador, para com.yourname.MGTestBed.
23. Si utilizas iOS, asegrese de elegir un perfil en el perfil en el men desplegable.
24. Ahora puede hacer una prueba en el men Desarrollo, despus de haber elegido cualquier
simulador de iPhone o tu dispositivo Android conectado.
Qu ha pasado?
Parece que unos cuantos pasos, pero no debe tomar mucho tiempo, y ya tenemos la
navegacin entre las cuatro cartas que parecen una autntica interfaz de iOS.
Ahora vamos a obtener algunas de las caractersticas de la prueba en marcha, pero de una manera
ms natural, de manera integrada que antes.
MobGUI controles nativos
Una de las caractersticas de gran alcance de MobGUI es que puede usar los controles
ordinarios LiveCode como marcadores de posicin para lo que ser controles nativos
cuando se ejecuta la aplicacin en un dispositivo. Esto es algo que puedes hacer por ti
mismo con el cdigo, pero ser capaz de mover los controles de marcador de posicin
Building User Interfaces
[ 94 ]
alrededor hasta que te gusta el diseo se ahorrar un montn de tiempo.
Chapter 3
[ 95]
Tiempo de accin - con controles nativos de MobGUI
Haga clic en la imagen pequea del iPhone en la ventana MobGUI, y asegrese de que
usted est en el Native iOS controles establecidos.
1. Ir a la tarjeta E-mail y arrastre tres controles de texto y un control de texto de
lneas mltiples de los controles nativos de iOS establecidos en la ventana
MobGUI.
2. Nombre de los controles de texto como Para, CC, y Asunto, y el control de texto de
lneas mltiples como
Cuerpo. El tamao de la Cuerpo debe hacerse lo suficientemente grande como para
entrar en unas pocas lneas de texto.
3. A medida que crea cada campo, tenga en cuenta que puede establecer el tipo de
teclado. Ajstelo a Email para la A y CC campos.
4. De iOS Controles 1 establecer y arrastrar dos botones a la ventana de la
tarjeta. Nombre de un Hecho, y el otro Enviar. Usted debe tener algo que se
parece a la siguiente captura de pantalla:
Building User Interfaces
[ 96]
5. Al probar la aplicacin y toca uno de los campos, la lmina del teclado aparecer.
Usaremos el Hecho botn como una manera para ocultar el teclado. Agregar una lnea de
atencin al
touchEnd manejador de la Hecho botn de secuencia de comandos:
en touchEnd PID
mobGUIUntouch el id de largo
que me centre en nada
- End otras
lneas touchEnd
6. MobGUI puede recuperar propiedades de estos campos nativas, utilizando un
mobFieldGet funcin. Cambie el botn Enviar touchEnd controlador a utilizar
esa funcin para cada campo, y tambin para llamar la revMail funcin:
en touchEnd PID
mobGUIUntouch el identificador largo de m
poner mobFieldGet ("A", "texto") en
ToText poner mobFieldGet ("CC", "texto")
en cctext
poner mobFieldGet ("Subject", "texto") en
subjecttext poner mobFieldGet ("Cuerpo", "texto")
en BodyText revMail ToText, cctext, subjecttext,
BodyText
final touchEnd
7. Ir a la tarjeta Browser.
8. A partir de los controles nativos de iOS establecidos, arrastre un control de texto a
la ventana de la tarjeta, y el nombre que URL.
9. Arrastre un control de explorador (el que muestra Google como su imagen) en la
ventana de la tarjeta, y el nombre Page.
10. Ajustar los tamaos de modo que el campo de texto llena el ancho de la tarjeta,
y el control del explorador llena la zona entre el campo de texto y la barra de
pestaas en la parte inferior.
11. Seleccione el control del navegador, y en la ventana MobGUI introduzca un valor
para el URL. Esto har que el control de la carga navegador la URL como su
primera pgina.
12. Edite el script del campo de texto URL, y aadir este controlador:
en inputReturnKey
mobBrowserSet "Pgina", "url", mobFieldGet ("URL", "texto")
final inputReturnKey
Chapter 3
[ 97 ]
13. Pruebe con otra prueba, e ir a las tarjetas de correo electrnico y el explorador para verlos en accin.
Building User Interfaces
[ 98 ]
Qu ha pasado?
Hemos recreado las dos primeras pruebas de nuestra aplicacin a principios de banco de pruebas,
pero ahora se ve mucho mejor! Tambin hizo uso de la habilidad MobGUI para obtener y establecer
datos en controles nativos de iOS, en este caso mediante el usode mobFieldGet y
mobBrowserSet.
Tener un hroe go - otras pruebas y bonitos iconos
Seguir adelante y aadir las otras dos pruebas a la pila.
Para el DatePicker ejemplo, aadir una OpenCard controlador para la tarjeta que incluye la
lnea:
iphonePickDate fecha.
Para la prueba de imagen, mira los cuatro pasos en la hora de la accin - Carga seccin de los
cuadros anteriormente en este captulo. Sin embargo esta vez se le aade a los botones de las
lneas nativas, y la insercin de las lneas en la touchEnd en lugar de un controlador
mouseUp manejador.
Para obtener un bono, edite el grupo de barras y seleccione uno de los botones. En la
ventana MobGUI ver que puede establecer iconos personalizados para los estados Dim y
activo para cada botn.
Si se realiza una bsqueda de imgenes en Google de Iconos gratis mviles,
usted debera ser capaz de encontrar un montn de ejemplos que se ven bien en los
cuatro botones que hicimos.
Ajuste de las cosas para diferentes tamaos de pantalla
Hasta ahora slo hemos comprobado con un tamao de iPhone, y slo la orientacin
vertical. Usted puede querer usar la misma pila para el iPhone y el iPad, o quizs iPad y
tabletas Android, que tienen relaciones de aspecto bastante diferentes.
Incluso si nos atenemos slo al iPhone, a pesar de ello quieren cuidar de Retrato y Paisaje
orientaciones. Por lo tanto, tenemos que encontrar maneras de organizar los numerosos
controles de la tarjeta para lucir lo mejor posible para cada tamao de pantalla y la
orientacin.
Hay varias maneras de lograr esto. En primer lugar vamos a ver en el uso de un controlador de
cambio de tamao.
Layout utilizando un controlador de cambio de tamao
Cuando se cambia una pila de tamao de la ventana, enva un LiveCode resizeStack
mensaje de que pueden atrapar, con el fin de reorganizar los controles para la nueva
Chapter 3
[ 99]
anchura y altura.
Building User Interfaces
[ 100
]
Tiempo para la accin - ejemplo sencillo diseo de cdigo
Podra llegar a ser muy complicado si se puso un vistazo a todos los controles de la tarjeta
con cdigo, as que slo vamos a construir un caso sencillo, para mostrar la tcnica. Puede
mejorar esta tarde para los casos ms complejos.
1. Crear un nuevo Mainstack.
2. Aadir cuatro botones travs de la anchura de la tarjeta.
3. Pon este controlador en el guin de la tarjeta:
en resizeStack newWidth,
newHeight
poner la anchura del botn 1 en buttonWidth
put (newWidth - 4 * buttonWidth) / 5 en
brecha de poner la parte superior del botn
1 en repeticin buttonTop con a = 1 a 4
fijar la parte superior de un botn para buttonTop
establecer la izquierda del botn una brecha a + (a-1) * (brecha
+ buttonWidth)
Fin de repeticin
pasar
resizeStack
resizeStack final
4. Cambiar el tamao de la ventana de la tarjeta. Los botones deben extenderse uniformemente
a travs de la tarjeta.
5. Vaya a Ajustes aplicacin independiente y seleccione la opcin iOS.
6. Asegrese de que los dispositivos compatibles incluyen los iPad.
7. Establezca las opciones de orientacin para incluir las cuatro orientaciones.
8. En el men de Desarrollo estableci el objetivo de prueba para ser el
simulador de iPad, y hacer una prueba.
9. En el simulador, elija Rotar a la izquierda o Girar a la derecha, en el men Hardware.
10. Los botones deben propagarse por toda la pantalla, tanto en orientacin vertical
y paisaje.
Qu ha pasado?
Adems de hacer un ejemplo sencillo de cmo la resizeStack controlador puede ser
usado, tambin hemos visto que los cambios de orientacin enviar el resizeStack
mensaje.
Chapter 3
[ 101 ]
Layout usando el Administrador de Geometra LiveCode
Mientras se selecciona un control en la tarjeta, la paleta Inspector tiene una entrada
denominada geometra. Es una interfaz un tanto extrao! Vamos a echar un vistazo.
Las barras horizontales y verticales tenues se utilizan para seleccionar si desea que el
control que reducirse o colocado en una cantidad fija o un familiar. Es decir, si un botn es
de 100 pxeles desde la parte derecha de la ventana de la tarjeta, y se selecciona la
posicin de ser una distancia fija, como cambiar el tamao de la ventana de la tarjeta del
botn permanecer 100 pxeles por el lado de la derecha borde de la ventana. Si, por el
contrario, se utiliza el valor relativo, y el botn es de 80 por ciento a travs de la ventana
de la tarjeta, todava ser del 80 por ciento a travs de la ventana despus de haberlo
cambiado de tamao.
Building User Interfaces
[ 102
]
El primer clic en una de esas barras har que sea de color rojo slido de color, lo que indica
que es una distancia fija desde el borde de la tarjeta. Si hace clic de nuevo se convierte en
una forma de onda de color rojo, lo que indica que va a ser relativo.
En la captura de pantalla anterior se puede ver que el botn seleccionado se ajusta para
que sea una distancia fija desde la parte inferior de la tarjeta, y una distancia relativa desde
el lado derecho de la tarjeta. La imagen tambin muestra los ajustes de escala para el
control.
Tiempo para la accin - con el Administrador de Geometra en la
posicin
botones
Ahora vamos a aadir algunos botones a la pila que hemos marcha. Una cosa a saber:
las caractersticas de diseo de MobGUI (que veremos a continuacin) estn en
competencia con el Administrador de la geometra, as que si usted todava tiene que
se abren desde antes, haga clic en la casilla de verificacin que dice "Desactivar la
geometra auto.
1. Tomar los primeros cuatro botones y duplicar ellos, por poner otro juego de cuatro por debajo de los
primeros.
2. Seleccione el primero de los nuevos botones y en la seccin Geometra de la
paleta Inspector, haga clic una vez sobre la barra vertical, y dos veces en la barra
horizontal, que termina con el estado que se muestra en la imagen.
3. Haga lo mismo con los otros tres botones.
4. Trate de cambiar el tamao de la ventana de la tarjeta.
Qu ha pasado?
Ese fue un gran test rpido, y si todo ha ido bien, ver que cambiar el tamao de la ventana
de la tarjeta es el posicionamiento de los cuatro primeros botones usando el resizeStack
manejador hemos aadido, y posicionar el segundo conjunto de cuatro botones con el
Gestor de geometra. Con la configuracin que hemos utilizado, los resultados deberan ser
lo mismo, excepto que el segundo conjunto de cuatro botones se mantendr una distancia
fija desde la parte inferior de la ventana de la tarjeta.
Hay una gran cantidad de energa en el Administrador de Geometra, y usted debe echar un
vistazo a las otras habilidades que tiene desde el enlace de referencia que aparece al final de
este captulo. Pero no resulta ser la mejor manera de lidiar con tamaos de pantalla mviles.
Una vez ms, MobGUI al rescate!
Chapter 3
[ 103]
Layout usando
MobGUI
El enfoque de diseo utilizado por el Administrador de Geometra est orientada a las
aplicaciones de escritorio, donde el usuario es muy probable que cambiar el tamao de la
ventana a una cantidad desconocida. Con mvil
aplicaciones, la disposicin slo cambia una vez que se carga la aplicacin y luego cada
vez que cambia la orientacin. Cuando lo hace cambiar lo va a cambiar entre solo dos
tamaos diferentes. Es una situacin mucho ms sencillo que cambiar el tamao de
ventana de una aplicacin de escritorio a un tamao arbitrario.
MobGUI utiliza un enfoque diferente para resolver el problema general, que tiene
ventajas cuando se trata de aplicaciones mviles.
Tiempo de accin - con MobGUI recordar diseos para
nosotros
Si has estado siguiendo a lo largo de all, y marc la casilla para desactivar ventana
MobGUI geometra auto, desactive de nuevo. Vamos a necesitar!
1. Crear un nuevo Mainstack.
2. Uso de la ventana MobGUI, establezca la ventana de la tarjeta para iPhone de tamao y
Paisaje.
3. Arrastre un control NavBar en la tarjeta.
4. Arrastre un TabBar en la tarjeta.
5. Haga clic en el botn de control MobGUI y seleccione 4, a continuacin, arrastre los
cuatro botones en la barra de pestaas que acaba de agregar.
6. Alt + doble clic en uno de esos botones para extenderse, y tambin ellos se
mueven verticalmente a ser muy bien posicionado en contra de la barra de
pestaas.
7. Haga clic en la imagen en la ventana de iPhone MobGUI, y cambiar la orientacin
de ser Retrato.
8. Seleccione la barra de pestaas y sus botones, y moverlos a la parte inferior de
la ventana de la tarjeta vertical.
9. Utilice las teclas Alt + doble clic truco para hacer que la barra de pestaas, la
barra de navegacin, y los botones, se extendieron por todo el ancho de la
ventana de la tarjeta vertical.
Building User Interfaces
[ 104
]
10. Trate de hacer clic en el Retrato y Paisaje botones. El diseo debe cambiar a lo que haba
creado cuidadosamente.
Chapter 3
[ 105]
Qu ha pasado?
Este enfoque de MobGUI, donde se acuerda el diseo de cada uno de los tamaos de
pantalla y orientaciones posibles, slo parece tener ms sentido para el uso mvil. El
Administrador de Geometra es ciertamente ms potente y flexible, pero en realidad
quiere cuidadosamente disposicin los arreglos diferentes para estar lo mejor posible para
una pantalla de tamao dado, en lugar de depender de la aritmtica para reposicionar
todo para usted.
Tener un hroe go - otros tamaos
Acabamos de hacer la propia tarjeta trazar muy bien para iPhone retrato y los modos de paisaje.
Ahora haga lo mismo otra vez, para el retrato iPad y modos de paisaje, y tambin para un tamao de
pantalla de costumbre
800x480, tanto vertical como horizontal.
Un consejo ahorro de tiempo es que usted puede seleccionar
todos los controles antes de hacer la Alt + doble clic. Esto har
que la barra de navegacin, TabBar y botones, que se extiende de
una sola vez.
Otras lecturas
Como se mencion anteriormente, el Gerente de Geometra tiene un montn de
caractersticas de gran alcance. Vamos a estar pegado con el enfoque MobGUI, pero si
usted tambin est interesado en las aplicaciones de escritorio, eche un vistazo a la leccin
en esta pgina:
http://lessons.runrev.com/s/lessons/m/4067/l/19026-Geometry-Manager
Building User Interfaces
[ 106
]
Resumen
El truco con herramientas fciles de usar, tales como LiveCode, es crear aplicaciones
mviles que los usuarios piensan fueron creados con la ms difcil de usar herramientas
nativas, como Xcode. Usted puede lograr que debido a la capacidad LiveCode para llamar
a funciones nativas, y porque se puede hacer que las interfaces que parecen correctas.
En este captulo hemos cubierto varias maneras de lograr ese objetivo:
Llamar a funciones nativas del sistema operativo, con comandos simples LiveCode
Preparacin de imgenes que se utilizarn para los estados botn
Haciendo OS botones especficos que buscan mediante la adicin de esas imgenes
Creacin de iOS controles nativos buscan con MobGUI
Trazado de la interfaz con el cdigo, el Administrador de Geometra y MobGUI
Hasta ahora, estos han sido pequeas pilas de prueba, para que nos calienta! Lo siguiente
que vamos a ver la estructura de aplicacin general, y hacer una aplicacin de utilidad de
pleno derecho.
4
Uso de datos remotos y medios de
comunicacin
Los datos tienen que salir ms!
Las solicitudes pueden presentarse en la que todos los datos de apoyo est
dentro de la aplicacin, pero muy a menudo queremos mostrar los datos que
estn en el mundo real en alguna parte, y tambin para guardar informacin
(una lista de puntajes altos tal vez) a archivos externos a la aplicacin.
Al crear una aplicacin LiveCode tenemos que pensar acerca de la estructura de la pila, su
cdigo, y los datos que utiliza.
En este captulo vamos a:
Mira las diversas formas que puede esperarse una pila estructurados
Piensa que el cdigo debe ir
Escribir y leer archivos de texto externos
Crear una aplicacin de bloc de notas-como para recordar interesantes archivos de los
medios de comunicacin basados en Internet
No te olvides de descargar los archivos de ejemplo!
Hay una gran cantidad de lneas de cdigo de este captulo. El cdigo se
muestra junto con explicaciones acerca de cada funcin, y se poda construir
algo que haca juego con el archivo de muestra correspondiente. Pero sera muy
fcil cometer un error al transcribir los guiones, tanto en trminos de lo que el
guin dice, y
donde el script debe ser colocado. Puede ser ms seguro para estudiar los
archivos de ejemplo y para leer la descripcin general aqu. Puede descargar el
cdigo desde el sitio Packt.
Using Remote Data and Media
[ 100]
Pila estructura
Hay dos aspectos en la forma de una pila puede ser estructurada. Uno tiene que ver con
cmo los elementos de interfaz de usuario se organizan, y el otro es en qu lugar de la
jerarqua de una pila se debe colocar el cdigo.
Cdigo impulsado y creado manualmente diseos
Si usted se imagina cmo una aplicacin mvil tpica aparece, podra ser algo como
lo siguiente:
A veces las aplicaciones son totalmente claves determinadas, donde cada pantalla se puede
ver que se crea utilizando el cdigo en el momento que se necesite. O tal vez ya estara
expuesto los elementos que
se guardan como recursos, y entonces el cdigo de carga esos recursos. En cualquier
caso, la aplicacin en su conjunto podra tener lugar en el equivalente de una tarjeta
LiveCode.
Otra posibilidad sera disear todas las combinaciones posibles de pantalla como tarjetas
diferentes, o incluso las pilas, e ir a la carta o grupo que se parece a la aplicacin debera en
ese momento.
Chapter 4
[ 101 ]
En el primer caso se necesitara para ejecutar la aplicacin y pasar por las acciones de los
usuarios con el fin de ver si el diseo es correcto, despus volver atrs y cambiar el cdigo
o los recursos, y vuelva a intentarlo. En el segundo caso, es posible que se enfrentan a
una gran cantidad de combinaciones de diseo.
A medida que comenzamos a hacer que las aplicaciones aqu, vamos a tratar de encontrar
un punto medio, donde vamos a utilizar tarjetas para configurar las pantallas principales que
vamos a necesitar, y luego utilizar el cdigo para mostrar y ocultar otros elementos. El
objetivo es tratar de ser eficiente, y no crear cdigo complejo para la colocacin de los
elementos que se pueden hacer rpidamente con la mano, o usar un montn de imgenes
cuando una pequea cantidad de cdigo podra obtener los mismos resultados.
Ubicaciones para el cdigo
LiveCode es extremadamente flexible en trminos de cmo estructurar las cosas que se
hacen con ella. Adems de una docena de tipos diferentes de control que podran contener
cdigo, puede tener scripts delanteros, los grupos, la tarjeta actual, un mainstack, pilas en el
uso de secuencias de comandos, la espalda, y LiveCode s mismo. Este diagrama muestra
slo unos pocos ejemplos de los controles, pero te da la sensacin de cuntos niveles hay a
la jerarqua en LiveCode:
Tambin puede hacer que las pilas de subprocesos, que a menudo se utilizan para mostrar ventanas de
dilogo, la capacidad de agregar delantero y scripts de espalda, y se puede poner las pilas dentro y fuera de
uso. En general, puede llegar a ser muy confuso!
Using Remote Data and Media
[ 102 ]
Es en gran parte un asunto de estilo personal en cuanto a donde poner los scripts, y muchas
veces usted puede tener un argumento razonable de por qu lo hiciste una determinada
manera. Se podra argumentar que toda la accin que se llevar a cabo debe estar en la
escritura del botn que has seleccionado. Sera ms fcil de editar todos los controladores
implicados, y si usted necesita las mismas caractersticas en otra pila que slo tienes que
copiar el botn de ancho. Sin embargo, si usted tena un nmero de esos botones en la
pantalla, y era necesario hacer cambios, habra que hacerlo para todos ellos.
Otro argumento sera vlido decir que todos los controladores estara en el nivel de la
pila. Usted tendra entonces un lugar central para hacer cambios, pero usted tendra que
hacer un montn de "if" para comprobar que el control haba sido operado.
Es posible que desee volver a utilizar las rutinas que se han desarrollado con el tiempo, y que tienen un
conjunto de pilas que se pone en servicio, cada uno manejando pila slo un aspecto particular de la tarea en
cuestin. En el mundo de la Programacin Orientada a Objetos (OOP) es muy comn para extender este
enfoque a un grado loco, con cientos, o incluso miles, de pequeos archivos que manejan cada una nfima
parte de la aplicacin en general.
No vamos a ir a cualquiera de estos dos extremos. En su lugar vamos a tratar de poner el cdigo en el nivel
ms bajo
que tiene que ser sin tener que duplicar el cdigo, ya que hacer controles adicionales que
Necesita mismo Cdigo. Para ello vamos a tratar de pensar en el futuro y tratar de detectar
eficiencias que
que podemos utilizar. Veamos un ejemplo ...
Suponga que tiene un botn de men principal, y su funcin es la de llevar al usuario a la
tarjeta de llamada principal. Teniendo esto como guin del botn parece tener sentido:
en mouseUp
ir tarjeta
"principal"
mouseUp final
Parece ser el nivel ms bajo que el cdigo puede ser, y no vamos a ser lo duplicar, hay slo
un botn del men principal. Pero, supongamos que desea realizar un seguimiento del
progreso del usuario,
el botn de men principal no se sabe nada de eso. Por lo tanto, podramos hacer esto en su
lugar:
en mouseUp
navTo
"principal" fin
mouseUp
En el guin tarjeta no habra este controlador:
en navTo Acard
Chapter 4
[ 103]
Acard
saveNavState
go tarjeta
final navTo
Using Remote Data and Media
[ 104]
saveNavState sera una funcin en algn lugar que es el que salva de estado del usuario.
El nico problema es que cada una de las tarjetas que hacen que incluye el botn Men principal
tiene que tener esta navTo manejador en sus guiones. Por lo tanto, vamos a poner el
controlador en el
mainstack guin pila. Con ella a ese nivel que puede manejar las llamadas de cualquier botn en
cualquier tarjeta.
El guin del botn de ayuda podran ser:
en mouseUp
navTo
"ayuda" fin
mouseUp
Ir a la tarjeta de ayuda tambin guardar el estado del usuario. Ms adelante se podra aadir
un efecto visual como saltar de un lugar a otro, y puede hacer que el cambio en navTo, en
lugar de tener que ir a todos los distintos botones que hacen uso de la navTo manejador.
Pop quiz - nombre que la estructura
1.There es un trmino comn usado para describir la jerarqua LiveCode que ayuda a
transmitir cmo la informacin se transmite hacia arriba y hacia abajo en la
jerarqua. Cul es ese trmino?
una. El b Event
Horizon. C La ruta del
mensaje. La pila de
llamadas
d. La pila de Inicio
Cargar y guardar datos externos
En muchas aplicaciones se desea realizar un seguimiento de los cambios que el usuario ha
hecho. Hay varias maneras de hacerlo que con LiveCode, incluyendo la consulta de una
URL, leer y escribir en un archivo de texto y guardar los datos dentro de una pila.
Consultar un URL
Muy a menudo aplicaciones basadas en web que cargar y guardar datos de secuencias de
comandos del servidor. Eso se puede hacer con las aplicaciones LiveCode tambin. He aqu
un ejemplo, cuando queremos saber cul es el precio de cierre fue para Google ayer:
poner url "http://quote.yahoo.com/d/quotes.csv?s=GOOG&f=p"
Chapter 4
[ 105]
En el momento en que la lnea se puso a prueba, 609,46 apareci en el cuadro de mensaje:
Quin sabe lo que va a encontrar cuando lo intento!
Al igual que con cualquier tipo de llamadas a un servicio en lnea que hay una posibilidad de
que puede tomar algn tiempo para devolver el valor, y en el LiveCode ejemplo anterior
puede ser bloqueado de hacer cualquier otra cosa hasta que los datos fue devuelto. Un
enfoque alternativo sera cargar la URL con el fin de almacenar en cach, y luego mostrar los
resultados cuando se almacena en cach. LiveCode sera capaz de hacer otras acciones
mientras los datos estn siendo devueltos. Un script de botn se vera as:
en mouseUp
descargar url "http://quote.yahoo.com/d/quotes.csv?s=GOOG&f=p"
Direccin URL de carga
"Http://quote.yahoo.com/d/quotes.csv?s=GOOG&f=p" con
mensaje "gotit"
final mouseUp
en gotit addr, estado
si el estado es "cach" o el estado es
"descargado" y conteste url addr
ms
responder
estado final si
terminar gotit
La gotit controlador tambin comprueba para ver si la llamada trabajado, y si no se
mostrar lo que el error era. La descargar lnea es asegurarse de que usted no est
leyendo el valor previamente almacenado en cach. Si se trata de un valor que slo se
cambian con poca frecuencia, como con el precio de cierre de una accin,
que generalmente se desactive slo la versin en cach cuando es probable que hayan
cambiado. Al da siguiente mercado financiero en este caso.
Using Remote Data and Media
[ 106]
Publicacin de datos puede trabajar de la misma manera. Un juego que enva tu puntuacin al
servidor podra hacerlo de esta manera:
el nombre de usuario sendscore, la puntuacin
poner url "http://www.mysite.com/hiscores/savescore.php?user = " Y
nombre de usuario y "& valor =" &
partitura en errar si se equivocan
no es "ok" y luego responder a
errar
terminar sendscore
Si el nombre de usuario o cualquier otra parte que los datos sean enviados contiene
espacios en blanco que usted quiere URLEncode la primera ubicacin. Si lo hace,
convertir los espacios y otros caracteres especiales en los cdigos que seguramente
llegarn a la URL de destino. Esta sera una variante ms segura:
el nombre de usuario sendscore, la puntuacin
poner "http://www.mysite.com/hiscores/savescore.php?user = "&
nombre de usuario y "& valor =" & partitura en
tPostAddress poner URLEncode url
(tPostAddress) a errar
si se equivocan no es "ok" y
conteste errar sendscore final
Leer y escribir en un archivo de texto
En los das de HyperCard la nica opcin real para guardar y cargar datos externos era
escribir un archivo de texto. LiveCode puede, por supuesto, lo que tambin, y en algunos
casos puede ser la solucin ms sencilla. Los archivos de configuracin y las preferencias son
un par de buenos ejemplos donde puede ser un pequeo archivo de texto se utilizan para
configurar la aplicacin en la forma en que el usuario desea que sea.
A modo de ejemplo, digamos que tenemos los archivos de configuracin de texto,
llamado englishstrings.txt y frenchstrings.txt, que se incluyeron en la lista
Copiar archivos de la aplicacin autnoma de dilogo Configuracin, y que van a utilizar
para establecer si los nombres de los botones estn en Ingls o Francs en la aplicacin.
Tambin querr escribir un archivo de preferencias de recordar la eleccin del usuario.
Cuando la aplicacin se abre nos echara un vistazo para ver lo que el archivo de
preferencias dice, y luego cargar el archivo de cadenas apropiado.
Con los sistemas operativos mviles iOS, y, en particular, hay
reglas estrictas acerca de dnde se le permite guardar los
datos. A medida que avanzamos vamos a utilizar ubicaciones
que estn aprobados para tal uso por parte de Apple y Google.
Chapter 4
[ 107 ]
Los archivos de texto que se incluyen en una aplicacin mvil estar en la misma ubicacin que la aplicacin en s, y los
archivos de texto que desea escribir debe estar en eldocumentos carpeta de su aplicacin. Debido a que los
caminos pueden parecer muy diferentes en iOS y Android, debemos utilizar los LiveCode
specialFolderPath funcin para localizar estas carpetas. As es como un OpenStack
manejador echara un vistazo para ver si las preferencias se han fijado, y si no, llevar al usuario
a una pantalla de idioma de eleccin inicial:
en OpenStack
langstrings globales
poner "file:" & specialFolderPath ("documentos") & "/ prefs.txt"
en prefsfile
poner prefsfile url en prefstext
prefstext si est vaco,
- Prefs nunca se han establecido, por lo que ir a la opcin de
idioma tarjeta go "eleccin de la lengua" tarjeta
ms
- Lenguaje ya ha sido elegido, por lo que cargar hasta el derecho
expe
dien
te
poner "file:" & specialFolderPath ("motor") & prefstext y
"Strings.txt" en langfile
poner fin a langfile url
langstrings si
final OpenStack
La ruta de motor carpeta especial es la misma ubicacin que el archivo de la
aplicacin, as como los archivos de soporte que ha incluido en la seccin Copiar
archivos de la aplicacin autnoma de dilogo Configuracin (segn se describe en el
tema Copiar archivos en el captulo 7), al guardar el autnomo aplicacin. En el
ejemplo anterior habra archivos denominados englishstrings.txt,
frenchstrings.txt, spanishstrings.txt, y as sucesivamente. Esta lnea:
poner "file:" & specialFolderPath ("motor") & prefstext &
"strings.txt" en langfile
se concatena la ruta donde los archivos incluidos se encuentran, el idioma que desea utilizar
(almacenado en la variable prefstext), y el final de los nombres de archivo. Esto le dar
la ruta completa al archivo de idioma cadenas de texto que coincida con el idioma
seleccionado.
Using Remote Data and Media
[ 108]
Usando otra pila para almacenar datos
Lo ideal sera que usted acaba de guardarse los cambios en la pila que se encuentre en ese
momento, salvo que iOS
no permite guardar en el directorio de la aplicacin. Tenemos que evitar que, por
guardar una pila en la carpeta de documentos. La pila para salvar o bien puede ser el que es
nuestro
pila de aplicaciones, o simplemente podra ser utilizado exclusivamente para el almacenamiento
de datos. Guardar datos en una pila
puede ser ms conveniente que guardar en archivos de texto. Por ejemplo, usted puede tener varias
texto
campos que estn all slo para almacenar bits de informacin que sern necesarias la prxima
vez que el
aplicacin se ejecuta. Si estaba utilizando archivos de texto que o bien se necesita un montn de
ellos, o usted tendr que
procesar el texto de un archivo nico con el fin de extraer los bits individuales de informacin.
Es posible probar los datos de ahorro en pilas sin hacer una aplicacin mvil, para ver si
funciona la tcnica de base, y luego despus probarlo en un dispositivo real. Una ventaja
para probarlo en el primer equipo es que se puede navegar a la carpeta de documentos, con
el fin de ver la magia que sucede!
Tiempo de accin - la creacin de una base de datos guardar pila
Vamos a estar haciendo una copia de una pila, pero slo si una copia de la pila no existe ya.
LiveCode tiene un buen "si hay una ..." funcin, que fue hecho para momentos como este!
En primer lugar vamos a crear las pilas de datos que necesitamos.
1. Iniciar un nuevo Mainstack, con un nombre de LaunchStack. Gurdelo en un
lugar distinto carpeta de su ordenador documentos.
2. Inicie otra Mainstack nuevo, con un nombre de AppStack. Gurdelo junto
a la primera pila.
3. Coloca algo en la tarjeta de cada pila, por lo que es fcil reconocer cuando ests en
esa pila. Por ejemplo, arrastre un botn en la tarjeta de la LaunchStack y el
nombre de pila de una manera que hace que sea muy fcil saber dnde se
encuentra. Hacer lo mismo para la AppStack apilar.
4. Ponga esta OpenStack controlador en el guin de pila LaunchStack:
en OpenStack
establecer el defaultFolder a specialFolderPath
("Documentos")
si no hay un archivo "AppStack.livecode" luego
Chapter 4
[ 109]
poner el nombre de esta pila en el archivo
maestro establecido itemdelimiter a "/"
poner "AppStack.livecode" en el ltimo elemento de masterfile
- Poner specialFolderPath ("motor") & "AppStack.livecode
/" en masterfile
poner specialFolderPath ("Documentos") & "/
AppStack.livecode" en appfile
Using Remote Data and Media
[ 110]
poner URL ("binfile:" & masterfile) en la direccin URL
("binfile:" &
appfile)
End If
ir apilar specialFolderPath ("Documentos") & "/
AppStack.livecode" responder el nombre de esta pila
final OpenStack
5. Guarde ambos pilas y dejar de LiveCode.
Antes de tratar las pilas en un dispositivo o en el simulador, los vamos a tratar como pilas de
escritorio.
1. Busque en su Documentos carpeta, y no debera ser una AppStack.livecode
presentar en el momento.
2. Inicie LiveCode haciendo doble clic en el LaunchStack.livecode archivo. Si
usted encuentra que LiveCode no se inicia este camino, asegrese de que ha
asociado . Livecode documentos para ser abierto por LiveCode.
3. Busque en su Documentos carpeta, y ahora debera ser una AppStack.livecode
archivo, con un tiempo de creacin que coincide con la hora actual.
4. Tambin debe ver que el camino hacia la AppStack es precisamente en su
Documentos carpeta.
Ahora a probarlo en un dispositivo mvil, o utilizando el simulador de iOS.
1. Cierre la pila AppStack y descomentar la lnea specialFolderPath poner ... a partir
de la secuencia de comandos de pila LaunchStack que ha introducido en el paso
4.
2. Ir a Ajustes aplicacin independiente, y elija la seccin Copiar archivos.
3. Haga clic en Agregar archivo ... y localizar y aadir el original AppStack.livecode
pila (no el que se cre con la prueba anterior).
4. Elija la seccin Android o iOS de los ajustes de aplicacin independiente, y
marque la casilla para crear la aplicacin para esa plataforma.
5. En el men Desarrollo, seleccione su destino de la prueba. Eso sera ser uno de los
simuladores de iOS si elige iOS, o un dispositivo conectado Android.
Chapter 4
[ 111 ]
6. Seleccione Prueba en el men Desarrollo. Usted debe terminar con su actuacin
AppStack, y un dilogo de alerta que muestra la ruta de acceso a la pila. La captura
de pantalla siguiente muestra el cuadro de dilogo resultante en la ventana
Simulador de iOS y Android en una tableta 4:
Qu ha pasado?
Hemos creado nuestra aplicacin para copiar la pila principal de la aplicacin en el rea de
documentos en el dispositivo, por lo que vamos a ser capaces de hacer cambios y guardar aquellos
xito. Si le pas a probar en iOS y Android habrn visto que buscan caminos muy diferentes para la
pila. LiveCode se encarga de encontrar las carpetas especiales para nosotros.
Pop quiz - otros lugares especiales
1.See si usted acaba de saber esto, o utilizar esta cuestin como una excusa para leer el
notas de la versin y el diccionario! Cul de estos NO es unspecialFolderPath tipo?
a.Users b.
Casa
c.Desktop d.
0x000e
Using Remote Data and Media
[ 112 ]
Creacin de una web "raspador" de la aplicacin
Como excusa para probar varios controles mviles nativas, vamos a hacer una aplicacin que
pueda leer las pginas web y extraer enlaces a los distintos medios de comunicacin en la
pgina. La aplicacin tendr una tarjeta que muestra un navegador web, tarjetas para
mostrar los enlaces, texto y multimedia desde la pgina web, y un juego de tarjetas para
recordar los elementos seleccionados.
Tiempo de accin - la creacin de navegacin por pestaas
Antes de entrar en la fabricacin de la tarjeta del navegador, es necesario establecer los
elementos que se comparten entre todas las cartas en la aplicacin.
1. Crear un nuevo Mainstack, establezca su nombre por el de WebScraper, y guardarlo en
algn lugar.
2. Usaremos MobGUI de nuevo, para hacer la vida ms fcil. Seleccione revMobGUI de la
Desarrollo / Plugins submen.
3. En estas instrucciones usaremos iPhone, retrato, pero no dude en utilizar el iPad o
Android para un tamao de la tarjeta. Seleccione iPhone y Retrato en la ventana
MobGUI, o sus opciones preferidas.
4. Desactive la casilla de la barra de estado.
5. Al igual que hizo en el momento de actuar - utilizando MobGUI recordar diseos
para nosotros desde el captulo 3, la creacin de interfaces de usuario Utilice las
herramientas MobGUI agregar una barra de navegacin (que se ajusta a la parte
superior de la ventana de la tarjeta), un BG para establecer el buen patrn de
fondo y una TabBar, que se ajustar a la parte inferior de la ventana de la tarjeta.
6. Haga clic en el botn de control de ficha en la ventana MobGUI y seleccione 5 en el
men desplegable. Arrastre los cinco botones en la tarjeta.
7. Opcin / Alt + doble clic en uno de los cinco botones para hacer que se extendi a
travs de la ventana de la tarjeta, y empujar hacia arriba o hacia abajo para
descansar centrado en la barra de pestaas.
8. Dar los cinco botones de los nombres BrowserButton, Links,
Texto, Medios de comunicacin, y Keepers.
8. Edite el script de cada botn, y en el Touchstart controlador, agregue un
pasar Touchstart lnea, para dejar el controlador con este aspecto:
en Touchstart PID
mobGUITouch el identificador
largo de pasarme Touchstart
Chapter 4
[ 113]
final Touchstart
9. Establezca el nombre de la barra de navegacin a NavBar.
Using Remote Data and Media
[ 114]
10. En el men Edicin, Seleccionar todo, y el grupo seleccionado en el men Objeto.
11. Edite el script del grupo que acaba de formarse y entrar en este script:
en Touchstart
poner el uTabText de m en tTabText
establecer el utext del grupo "NavBar" para
ir tTabText tarjeta tTabText
init
final Touchstart
12. Seleccione el grupo y en el Inspector LiveCode objeto regular los ajustes bsicos
darle un nombre al grupo de Comn, y comprobar el comporta como un botn
de fondo.
13. Establezca el nombre de la tarjeta para el explorador.
14. En la ventana MobGUI, haga clic en el cdigo preOpenCard botn Aadir a tarjeta guin.
15. Hacer una nueva tarjeta, el nombre Links, y haga clic en el botn Aadir preOpenCard
nuevo.
16. Haga lo mismo con otras tres cartas, para ser nombrado Texto, Medios de
comunicacin, y Keepers.
17. Ir a Ajustes aplicacin independiente, elegir iOS o Android como la plataforma
que desee utilizar, seleccione el destino adecuado en el men Desarrollo,
y hacer una prueba.
18. Haga clic o toque en los botones de ficha cinco, y usted debera ver el nombre del
cambio NavBar, y el botn de pestaa seleccionada debe ser el que has
seleccionado.
Qu ha pasado?
En el nombramiento de los botones y las tarjetas de la misma, hemos sido capaces de ir a las
cinco cartas utilizando el script asociado al grupo. Adems, se emplearon el MobGUI
uTabText y utext propiedades para establecer el nombre de la barra de navegacin para
que coincida con el nombre de la tarjeta que haba saltado al. La init lnea entrar en su
propio momento de escribir los guiones de la tarjeta.
Chapter 4
[ 115]
La tarjeta Browser
Ahora vamos a aadir algunos controles y secuencias de comandos a la primera tarjeta, para crear
este navegador web mini:
LiveCode ha, en el momento de la escritura, ha actualizado para que
las caractersticas de Android acuerdo con las caractersticas de iOS.
Desafortunadamente, MobGUI no ha sido actualizado en la misma
forma. El control del navegador nativo slo funciona en iOS. Es de
esperar que MobGUI se actualizar pronto!
El control del navegador nativo tiene muchas propiedades, acciones y mensajes asociados
con ella, y usted debe leer las ltimas notas del lanzamiento para ver la lista completa.
Puede abrir tanto las notas de la versin para iOS y Android de las Notas de la versin en
el men Ayuda LiveCode. Para nuestra aplicacin, sin embargo, slo necesitaremos unos
pocos de sus habilidades.
Using Remote Data and Media
[ 116]
Tiempo para la accin - aadiendo el navegador controla
Volver a la primera carta de la pila, y encontrar el camino a la parte control nativo de la
MobGUI ventana.
1. Arrastre el control de explorador en la ventana de la tarjeta. Es el que tiene la
imagen que muestra la pgina de bsqueda de Google.
2. Cambiar el tamao del control para completar la anchura de la tarjeta, y su altura para
encajar entre la barra de pestaas y un poco por debajo de la barra de navegacin.
Dale el nombre Browser.
3. Con el control del navegador seleccionado, marque la casilla en la ventana titulada
MobGUI
Auto destruir en closeCard. Esto ayudar a reducir el uso de memoria de la aplicacin
final,
durante las horas que no estn en la tarjeta navegador.
4. Arrastre un control de texto nativo en el espacio entre el control del navegador y la barra
de navegacin.
Nombre que url, y cambiar su tamao para ser casi tan ancho como la tarjeta, dejando
espacio para un Go
botn de la derecha.
5. Arrastre un control Button en ese espacio, establezca su etiqueta Ve, y cambiar su
tamao para verte bien.
Puede Opcin / Alt + doble clic para que l mismo espacio una distancia estndar de la
derecha de la ventana de la tarjeta.
6. Edite el script del botn Go (que, como usted puede notar es en realidad un grupo), y
aadir un par de lneas antes del final de la Touchstart controlador, as:
- Las dems lneas estn aqu
establecer el uURL de grupo "Browser" para el grupo de
utext "url" se centran en nada
final touchEnd
7. Ms adelante les estaremos enviando un init mensaje a las tarjetas. Para la
tarjeta Browser podemos usar eso como una manera de restaurar la pgina web
previamente elegido:
en init
mundial gPageURL
gPageURL si no est vaco,
establecer el uURL de grupo "Browser" para
gPageURL
ms
Chapter 4
[ 117 ]
establecer el uURL de grupo "Browser" a
"http://www.google.com/" End If
terminar init
8. Edite la secuencia de comandos de control del explorador. Vamos a
utilizar el browserFinishedLoading mensaje para saber cundo
hay que actualizar algunas variables y texto URL.
Using Remote Data and Media
[ 118]
9. Aadir este controlador a la base de la escritura del control del navegador:
en browserFinishedLoading puntilla,
pType mundial gPageURL, gPageHTML
poner la puntilla en gPageURL
poner la puntilla url en gPageHTML
establecer el utext de grupo "url" para PURL
terminar browserFinishedLoading
10. Es un ahorro, y otro ensayo, para ver la tarjeta de navegador en accin.
Qu ha pasado?
Ajuste de la uURL del control del explorador a la utext del control de texto fue
suficiente para que la funcin de navegador, pero algunos de lo que se hizo fue
simplemente en preparacin para lo que
vamos a necesitar en las otras tarjetas. En particular, se utiliz el LiveCode ordinario poner
url comando para guardar una copia de la pgina web cdigo HTML en una variable global, y
que ser necesaria cuando empezamos a extraer enlaces y multimedia de la pgina.
La tarjeta de Enlaces
Los enlaces, texto y tarjetas de medios se va a tomar la fuente de la pgina que se
almacena en la variable global gPageHTML, y extraer los fragmentos de inters de la
misma. Cmo va a hacer eso?
Un enfoque comn al extraer un patrn conocido de texto es utilizar expresiones
regulares, a menudo referido como regex o regexp. En su forma ms simple, es fcil de
entender, pero puede llegar a ser muy compleja. Lea el artculo de Wikipedia si quieres
comprendy en profundidad:
http://en.wikipedia.org/wiki/Regular_expression
Otra fuente til de informacin es este artculo en el correo ordinario PacktXpressions:
http://www.packtpub.com/article/regular-expressions-python-26-text-
transformacin
Un problema sin embargo es que el uso de expresiones regulares para analizar el
contenido HTML est mal visto. Hay decenas de artculos en lnea que le dice francamente
no para analizar HTML con expresiones regulares! Aqu est un ejemplo conciso:
http://boingboing.net/2011/11/24/why-you-shouldnt-parse-html.html
Ahora, el anlisis de cdigo fuente HTML es exactamente lo que quiero hacer aqu, y una
solucin al problema consiste en mezclar y combinar, mediante otro texto LiveCode de
juego y capacidades de filtrado que hacer la mayora del trabajo. Aunque no es
Chapter 4
[ 119]
exactamente regexp, LiveCode puede utilizar expresiones regulares en parte de su juego y
funciones de filtrado, y son un poco ms fcil de entender que toda regla regexp. Por lo
tanto, vamos a empezar con los ...
Using Remote Data and Media
[ 120]
En la bsqueda de vnculos haremos la suposicin de que el enlace est dentro de un a
href etiqueta, pero an as hay una gran cantidad de variaciones de la forma en que pueden
aparecer. La estructura general de una etiqueta href es la siguiente:
<a Enlace href="http://www.runrev.com/support/forum/"> texto que el
usuario ver </ a>
En el texto de la pgina web ser el texto Vnculo frase que el usuario ver. Si el usuario
coloca el cursor sobre el texto, el cursor cambiar a un cursor dedo sealador. Cuando el
texto se hace clic en el vnculo, la pgina volver a cargar con la URL que aparece en la href
parte de la etiqueta.
El ejemplo anterior muestra la ruta completa al foro de soporte. Estas son algunas de las
formas en que la localizacin de la tela misma podra ser written un enlace en la pgina:
http://www.runrev.com/support/forum/
/ Support / forum /
support / forum /
.. / Support / forum /
El primero te lleva all no importa donde se encuentre en ese momento. El segundo te lleva
all si ests en algn otro lugar en el sitio runrev.com. El tercero ser correcto mientras se
encuentra en el nivel raz de runrev.com, y el ltimo ejemplo sera trabajar desde dentro de
uno de los directorios de nivel de otros tubrculos en el sitio.
Con regex puede crear una expresin extravagante que se ocupa de todas las variaciones
posibles de cmo los vnculos se encuentran en el origen de la pgina, pero an as no nos
dara las rutas completas que necesitamos.
Toma las cosas con calma, podemos reducir la fuente de la pgina entera a un conjunto de lneas dea
href entradas, y se extrae el URL de cada lnea, y finalmente tomar las variaciones
anteriores y convertirlos en direcciones URL de ruta completo.
Tiempo para la accin - hacer una funcin de extraccin de enlaces
A veces es muy til para crear pruebas en una pila por separado, y luego copiar la
funcin que usted ha hecho en su pila de aplicaciones.
1. Crear un nuevo Mainstack. Gurdalo, slo para estar seguro!
2. Aade un par de campos y un botn.
Chapter 4
[ 121 ]
3. Establecer guin del botn a la siguiente:
en mouseUp
poner url "http://www.runrev.com/" en el
campo 1 getLinks put (campo 1) en el campo 2
final mouseUp
4. Edite el script de pila, y crear una funcin para getLinks. Comience con lo que
acaban de volver lo que se enviarn:
funcin getLinks pPageSource
retorno pPageSource
getLinks finales
5. Si se va a tratar de hacer clic en el botn en este punto, ver que la fuente de
toda la pgina aparece en el campo 2.
6. Vamos a utilizar la funcin de filtro, y eso necesita que el texto sea en lneas separadas.
As que queremos que cada eslabn de estar en una lnea propia. La funcin replace
puede hacer eso
muy bien. Aadir estas dos lneas al script (antes de la volver lnea, por supuesto):
sustituir "/ a>" por "/> A" y de retorno en pPageSource
reemplazar "<a" con retorno & "<a" en pPageSource
7. Intente hacer clic en el botn. Los dos campos se ver mucho el mismo, pero las lneas que tienen
un vnculo en ellos estarn en una lnea propia.
8. Aada una lnea para filtrar la lista tal como est, para reducirlo a slo los
que tienen vnculos en ellos:
filtro pPageSource con "* a href * / a>"
9. El "*" caracteres son caracteres comodn, por lo que la lista se reducen a lneas que
contienen tanto a href y / A>. Pruebe el botn de nuevo.
10. Ahora vers que hay lneas slo con los enlaces en ellos, pero todava incluyen la
basura a ambos lados del mismo enlace. Lo que necesitamos es entre las comillas
primero y segundo, y el uso de la itemdelimiter podemos llegar a esa parte. Aada
las siguientes lneas:
establecer el itemdelimiter citar
repetir con a = 1 para el nmero de lneas en
pPageSource ponen elemento 2 de lnea de una de
pPageSource en lnea de un
pPageSource
Fin de repeticin
11. Si ahora hace clic en el botn que debe obtener una lista de slo la parte URL de
Using Remote Data and Media
[ 122 ]
cada lnea. Pero ntese que la mayor parte de los enlaces de comenzar con /, y no
http.
Chapter 4
[ 123]
12. Realizar una nueva funcin en el script de pila que va a cambiar los enlaces para ser la
ruta completa:
funcin getPath pPageURL, pLinkURL
final getPath
13. Ahora aadir el cdigo necesario para hacer frente a las variaciones de URL,
comenzando con el caso en que se trata de una ruta completa:
si pLinkURL contiene ":/ /" y
luego volver pLinkURL
End If
14. Si usted recuerda, antes nos salv la URL de la pgina principal en una
variable global, gPageURL. Para el caso en que el vnculo es relativo root
(que comienza con "/") queremos combinar la ubicacin de host y la URL
del enlace:
establecer el itemdelimiter a "/"
si char 1 de pLinkURL es "/" y luego
volver temas de 1 a 3 de pPageURL y pLinkURL
ms
15. Cuando ese primer carcter no es "/", puede comenzar con ".. /" para aumentar un
nivel en la estructura de directorios. Borrado de la ltima parte de la URL de la
pgina que nos dar lo que necesitamos para combinar con la URL del enlace:
si char 1 a 3 de pLinkURL es ".. /" y
luego borrar el ltimo elemento de
pPageURL borrar el ltimo elemento
de pPageURL delete char 1 a 2 de
retorno pLinkURL pPageURL y
pLinkURL
ms
16. En los dems casos se combina la URL de la pgina y la URL del enlace:
eliminar el ltimo elemento de pPageURL
volver pPageURL & "/" & pLinkURL
End If
End If
17. Por ltimo, si todos esos cheques no nos devolver una cadena vaca, por lo que
esta direccin URL extrao vnculo estructurado no se enciende para confundirnos
ms tarde:
volver ""
getPath
final
Using Remote Data and Media
[ 124]
18. Para obtener elgetLinks funcionar para utilizar el getPath funcin que
necesitamos para realizar un cambio en la secuencia de comandos se muestra
en el paso 10:
repetir con a = 1 para el nmero de lneas en pPageSource
poner getPath (gPageURL, punto 2 de la lnea A de
pPageSource) en una lnea de pPageSource
Fin de repeticin
Qu ha pasado?
En las etapas que hemos desarrollado una funcin que puede encontrar los enlaces
en el texto fuente de una pgina web, terminando con un conjunto de direcciones
URL de ruta completo que podemos presentar al usuario.
Los eslabones perdidos
La pieza que faltaba en la pila de prueba es la variable global que almacena la
URL de la pgina. En el caso de la pila de aplicacin, ese valor es proporcionado
por el navegador del control de browserFinishedLoading funcin, pero
aqu tenemos que enchufar un valor para fines de prueba.
Coloque una lnea de declaracin mundial en el guin botn y en el guin de la pila. En el
guin botn, llene la variable con valor nuestro caso de prueba. La secuencia de comandos
se ver as:
mundial gPageURL
en mouseUp
poner "http://www.runrev.com/" en gPageURL
poner gPageURL URL en el campo 1
poner getLinks (campo 1) en la
final mouseUp campo 2
Si trata del botn, ver una lista de 12 URLs ruta completa en el segundo campo. Si
funciona correctamente, copie las dos funciones de la pila y la lnea de declaracin global,
y pegarlas en el script de pila de la pila WebScraper.
Una cosa ms ...
La secuencia de comandos barra de pestaas incluy una lnea init. Que se ponen en la
secuencia de comandos de tarjeta, en este caso, la
Enlaces escritura de la tarjeta. Pero eso todava no existe! Vamos a hacer.
Tiempo de accin - la adicin de la tarjeta de Enlaces "init" handler
Antes de continuar, asegrese de que est satisfecho con las funciones de la pila de
Chapter 4
[ 125]
prueba, y que los has copiado en el guin pila WebScraper.
1. Ir a la tarjeta de la pila Links WebScraper.
Using Remote Data and Media
[ 126]
2. En la ventana MobGUI, haga clic en el botn Aadir preOpenCard guin.
3. Edite el script tarjeta y aadir estas variables globales y init funcin:
gPageHTML mundial, gLinks
en init
si la plataforma es "iphone" o es la plataforma "android" y
luego poner getLinks (gPageHTML) en gLinks
si el nmero de lneas en gLinks = 0,
entonces contesta "No hay enlaces en esta
pgina!"
ms
mobilePick gLinks, 0
si el resultado> 0 entonces
poner el resultado en tLinkLine
poner lnea tLinkLine de gLinks en
TLINK tarjeta go "Browser"
establecer el utext de grupo "url" para TLINK
establecer el utext del grupo "NavBar" a "Browser"
establecer el uURL de grupo "Browser" para el grupo de
utext
"Url"
mobGUITouch el identificador largo de grupo
"BrowserButton" end if
End If
End If
End init
4. Es una prueba de la aplicacin.
5. En el simulador de iPhone o dispositivo Android, si eso es lo que est utilizando, Cambiar
el
URL a http://www.runrev.com/, y seleccione el botn Go.
6. Cuando se carga la pgina, seleccione el botn ficha Vnculos.
7. Ahora debera estar buscando en la lista de 12 enlaces, slo que esta vez se presentan en una lista
selector nativo.
8. Seleccione el enlace de tercero en la lista y, a continuacin, Hecho.
9. Usted debe ser llevado de vuelta a la tarjeta del navegador, con la pgina de Facebook de RunRev cargado.
Qu ha pasado?
El guin tarjeta entramos hace el mismo trabajo que el botn de la pila de prueba, ya que las
llamadas a las funciones de la pila para obtener una lista de enlaces. En lugar de poner la lista
en un campo llano, se utiliz LiveCode capacidad de abrir un control de selector nativo,
Chapter 4
[ 127 ]
mediante el uso de la lnea:
mobilePick gLinks, 0
Using Remote Data and Media
[ 128]
Los parmetros necesarios de esa funcin es una lista de elementos que mostrar, y la
posicin de ndice de la de seleccionar. Al participar en 0 no est en efecto no hay ningn
elemento seleccionado. El resultado que regresa del selector es la posicin de ndice del
elemento seleccionado, y podemos usarlo para buscar la lnea correspondiente en la
variable gLinks.
Las lneas restantes nos llevar de vuelta a la tarjeta del navegador, establecer la
direccin URL a cargar, y tambin asegurarse de que el botn de tabulacin
BrowserButton est resaltado.
La tarjeta de Texto
Hacer el trabajo de la tarjeta texto ser mucho ms sencillo, pero incluir una lnea
regular expresin increblemente complejo, que figura en esta pgina web:
http://stackoverflow.com/questions/3951485/regex-extracting-readable-
no-cdigo-texto-y-urls-de-html-documentos
Tiempo de accin - la creacin de la tarjeta de Texto
Comience en la pila de prueba que ha realizado, para que podamos tener la funcin de
trabajar all antes de aadir a la pila WebScraper.
1. Duplicar el botn que hizo al extraer enlaces. Cambiar la llamada a la funcin
getLinks decir getText - De lo contrario la secuencia de comandos puede seguir
siendo el mismo.
2. Edite el script de la pila de prueba y agregar esta funcin:
funcin getText pPageSource
poner replaceText (pPageSource "(: <(P <tag> guin | estilo)
[\ s \ S] * </ (P = tag)>) | (:?????! <- [\ s \ ? S] * ->) | (:?
<[\ s \ S] *>) "," ") en pPageSource
Si reemplazar con "" en pPageSource
reemplazar con la ficha "" en
pPageSource retorno pPageSource
final getText
3. Intente hacer clic en el botn que acaba de hacer. Usted debe ver a su segundo campo llenan
slo las partes del texto de la pgina web.
4. Copie la funcin y volver a la secuencia de comandos de pila
WebScraper. Pegue la funcin all.
5. Ir a la tarjeta de texto de la pila, y desde la ventana MobGUI arrastrar un texto de lneas
mltiples
Chapter 4
[ 129]
controlar en la tarjeta. Establezca su nombre por el de PageText.
6. Cambiar el tamao del control para rellenar el rea entre la barra de navegacin y el TabBar.
[ 130]
Chapter 4
7. En las propiedades de la ventana MobGUI para el control, desactive la casilla editable.
8. Edite el script de tarjetas, y aade este init funcin:
mundial gPageHTML
en init
si la plataforma es "iphone" o la plataforma es "android",
entonces mobFieldSet "PageText", "texto", getText
(gPageHTML)
End If
End init
9. Intente una prueba de la aplicacin.
10. En la tarjeta del navegador, cambiar la direccin URL de google.com para runrev.com y
pulse Go.
11. Pulse el botn de tabulacin del texto en la parte inferior.
12. Ahora debera estar en la tarjeta de texto, y viendo los elementos de texto de la pgina Web que
se muestra en un campo de texto desplazable nativo.
Qu ha pasado?
Esa expresin regular enormemente larga corriendo a travs de la fuente de la pgina web
y eliminar cualquier cosa que fuera guin, el estilo, o simplemente informacin de la
etiqueta, dejando solo las partes del texto. Pero eso lo deja con un montn de personajes
de repuesto de salto de lnea y caracteres de tabulacin, que nos fuimos a eliminar con la
funcin replace LiveCode. El texto final no sea perfecto, pero puede utilizar las funciones
estndar de texto para mviles para copiar partes de l para su uso en otras aplicaciones.
La tarjeta de los medios de comunicacin
La tarjeta de los medios de comunicacin va a empezar muy parecido a la tarjeta de Links,
con un "init" en funcin de la secuencia de comandos de tarjetas, y una funcin de pila
script para extraer los enlaces de medios de la pgina.
Tiempo para la accin - la extraccin de una lista de enlaces de
medios
Probablemente es una expresin regular que permita, mediante todos los "src" enlaces de
una pgina, pero estamos slo interesados en cosas que sabemos LiveCode es capaz de
mostrar o jugar. As que esta vez vamos a utilizar un camino ms tortuoso para extraer
slo los vnculos que pueden manejar.
[ 131 ]
Using Remote Data and Media
1. Usted puede tambin dirigirse a la pila de prueba!
2. Hacer un tercer botn mediante la duplicacin de una de las otras dos, y cambiar el
getLinks
o getText parte en el guin botn para llamar getMedia en su lugar.
[ 132 ]
Chapter 4
3. En el guin de pila, escriba todo esto:
mundial
gPageURL
funcin getMedia pPageSource
poner ". jpg,. gif,. gif,. jpeg,. mov,. mp4, m4v,. mp3" en la
repeticin tExtensions con a = 1 y el nmero de elementos en
tExtensions
poner un punto de tExtensions en tExtension
reemplazar tExtension con tExtension & "*" & retorno
en pPageSource
Fin de repeticin
repetir con a = el nmero de lneas en pPageSource hasta la
lnea de Poner 1 a pPageSource en TLINE
si el ltimo carcter del TLINE es
"*" y luego borrar el ltimo
carcter del TLINE
poner removeLeaders (gPageURL, TLINE) en una
lnea de pPageSource
ms
eliminar una lnea de final
si pPageSource
Fin de repeticin
volver pPageSource
final getMedia
funcin removeLeaders pPageURL, pLinkURL
poner quote & "'()" en tDelimiters
repetir con a = 1 hasta el nmero de caracteres en
tDelimiters char a poner de tDelimiters en
tDelimiter
establecer el itemdelimiter a tDelimiter
poner el ltimo elemento de pLinkURL en pLinkURL
Fin de repeticin
volver getPath (pPageURL, pLinkURL)
removeLeaders
finales
4. Haga clic en el botn, y usted debera ver una lista de las rutas completas a las
diversas imgenes de la pgina web.
Qu ha pasado?
El enfoque tortuoso consista en encontrar en cualquier lugar que cualquier medio de
comunicacin de inters fue mencionado y aadiendo un asterisco y carcter de retorno con
[ 133]
Using Remote Data and Media
el fin de asegurarse de que el enlace se puede identificar fcilmente, y al final de una lnea
nica. Entonces cada una de estas lneas se envi a otra funcin, removeLeaders, para
eliminar cualquier otro texto que fue anteriormente en la lnea de que el inicio del enlace.
Finalmente, el mismo getPath funcin que usamos cuando los enlaces de extraccin se
utiliz para darnos rutas completas de los archivos multimedia.
[ 134]
Chapter 4
Ahora que tenemos una lista de enlaces a medios tendremos que agregar los controladores
de nivel de tarjeta necesarios para presentar la lista al usuario, y para cargar su elemento
multimedia seleccionado en la ventana de la tarjeta.
Tiempo de accin - la creacin de los scripts de tarjetas
multimedia
Copie las funciones que demostraron a trabajar en el guin de pila de prueba, y pegarlos en
WebScraper guin pila. Entonces ...
1. Ir a la tarjeta multimedia. Al igual que con la tarjeta de Enlaces no vamos a agregar
cualquier control a la tarjeta, lo haremos con la escritura. Por lo tanto, modificar la
secuencia de comandos de la tarjeta.
2. Aqu est la carta Media init funcin, y se necesitan variables globales:
gPageHTML mundial, gMediaList
en init
si la plataforma es "iphone" o es la plataforma "android" y
luego poner getMedia (gPageHTML) en gMediaList
si el nmero de lneas en gMediaList = 0,
entonces contesta "No hay ningn medio en
esta pgina!"
ms
establecer el itemdelimiter
a "/" puesto vaco en
tMediaNames
repetir con a = 1 para el nmero de lneas en gMediaList
poner el ltimo elemento de una lnea de gMediaList
en lnea de un
de tMediaNames
Fin de repeticin
mobilePick tMediaNames,
1 si el resultado> 0
entonces
poner el resultado en tMediaLine
showMedia lnea tMediaLine de final si
gMediaList
End If
End If
terminar init
3. A diferencia de los enlaces, construimos una lista de slo la parte del nombre de
archivo de la URL, para mostrar en un selector natural, y cuando se ha
[ 135]
Using Remote Data and Media
seleccionado algo que llamamos un showMedia funcin del guin pila.
4. Edite el script de pila.
[ 136]
Chapter 4
5. Cree el showMedia funcin:
en showMedia pMediaFile
si hay una imagen "mediaImage" y luego borrar la imagen
"MediaImage"
establecer el itemdelimiter a "."
switch (el ltimo elemento de pMediaFile)
caso "png"
caso "gif"
caso "jpg"
caso "jpeg"
nueva imagen
establecer el nombre de la imagen del nmero de imgenes que
"MediaImage"
establecer el nombre del archivo de imagen
"mediaImage" para pMediaFile descanso
caso "mp4"
caso "m4v"
caso "mov"
caso "mp3"
establecer el showController del templatePlayer a
pMediaFile verdadero video del juego
rompe
r el
interruptor
final
final showMedia
6. Pruebala aplicacin.
7. Usted puede comenzar con la pgina google.com, pulse el botn ficha Medios para ver una lista de
las imgenes utilizadas en esa pgina.
8. Seleccione una imagen de la lista y pulse Hecho.
9. La imagen debe aparecer en la tarjeta.
10. Volver a la tarjeta del navegador, y Change la URL http://www.apple.com/.
11. Apple normalmente incluye algunos enlaces miniaturas de vdeo en la pgina
principal. Pulse sobre uno de ellos, para que pueda ver el reproductor de vdeo de
gran tamao. Pero no se juega!
[ 137 ]
Using Remote Data and Media
12. Pulse el botn ficha Medios, para ver una lista de todos los medios de comunicacin en
esa pgina.
13. Desplcese hacia abajo en la lista, en busca de uno de los temas ms
mencionados, que parece que podra ser ese video.
14. Seleccione esa opcin y pulse Hecho. El video debe cargar y reproducir en la tarjeta.
15. Utilice el botn Hecho el controlador de vdeo cuando haya terminado de ver el
video, para volver a la tarjeta de memoria.
16. Puede presionar el botn de ficha Medios de nuevo para que vuelva a aparecer selector.
17. Volver a la tarjeta del navegador, e introduzca una URL que contiene ejemplos de MP3
archivos.
http://www.ntonyx.com/mp3_songs.htm es un ejemplo de
ello.
18. Pulse el botn ficha Soportes para volver a la tarjeta de memoria, con la lista de
todos los medios de comunicacin en esa pgina, que en este caso ser
principalmente archivos MP3.
19. Seleccione uno de los archivos MP3 de la lista, y pulse Hecho. El MP3 deben jugar
en el mismo jugador que el vdeo que se reproduce in
Qu ha pasado?
En este ejemplo hemos hecho uso de tanto un control LiveCode estndar, la imagen, y
tambin un control nativo, el reproductor de vdeo. LiveCode se encarga de la puesta en
marcha del jugador, y con
la muy sencillo jugar videoname vdeo sintaxis, hemos sido capaces de invocar el
jugador nativo. Era capaz de reproducir tanto archivos de vdeo y audio.
Los encargados de la tarjeta
En realidad, va a ser las tarjetas Keepers. Se trata de ser un lugar que puede esconder los
medios de comunicacin que le han resultado interesantes. Por razones de tamao de
archivo que en realidad estamos slo va a almacenar la URL a los medios de comunicacin -
despus de todo, un vdeo de pronto usara el almacenamiento de su dispositivo!
[ 138]
Chapter 4
Time for Action - la creacin de la tarjeta Keepers
Como la tarjeta Keepers est en el extremo de la pila, puede llegar a ella, ya sea con Ver repetido
/ Ir
Prximo acciones, o slo una nica vista / Ir ltima accin.
1. Ir a la tarjeta de Guardianes, y crear un botn para MobGUI Anterior,
Siguiente y Play Media. Hacer que un campo LiveCode, y el nombre
mediaURL. Ahora debera tener algo parecido a esto:
2. Agregue estas lneas a la Touchstart manejador del botn Prev:
si el nombre de esta tarjeta no es
"Guardianes" y luego ir anterior
End If
[ 139]
Using Remote Data and Media
3. Agregue estas lneas a la Touchstart manejador del botn Siguiente:
si el nmero de esta tarjeta <el nmero de tarjetas y
luego ir prximo
End If
4. Aada esta lnea al diablico botn Multimedia Touchstart handler:
campo showMedia "mediaURL"
5. Seleccione los cuatro controles y agruparlos. Marque la casilla que dice comportarse
como un
fondo. Asigne un nombre al grupo como keeperbuttons.
6. Edite el script del nuevo grupo. Aadir esta refrescar handler:
el refresco
establecer el itemdelimiter a "."
si char 1 del ltimo elemento de campo "mediaURL" es "m" y
luego muestra colectiva "Media Play"
ms
esconder grupo "Media
Play" showMedia campo
"mediaURL"
End If
End
actualizaci
n
7. Ahora tenemos que volver atrs y aadir algunas cosas a la tarjeta de memoria.
8. Vaya a la tarjeta de memoria, y agregue un botn MobGUI. Establezca el
nombre y la etiqueta al Mantenga Media.
9. Un truco es que los medios de comunicacin jugarn pantalla completa en pantallas
ms pequeas, y por el momento se ve la Torre del Homenaje botn Media el video
ya ha desaparecido. Podemos resolver esto de guardar la URL de la ltima partida
que figure medios de comunicacin en una variable global.
10. En el guin de tarjetas multimedia, modifique el init funcin para que las lneas
posteriores leer:
si el resultado> 0 entonces
poner el resultado en
tMediaLine
poner tMediaLine lnea de gMediaList en
gLastMedia showMedia gLastMedia
End If
[ 140]
Chapter 4
11. Cambie la lnea global de declaracin de variables para incluir la gLastMedia variable.
[ 141 ]
Using Remote Data and Media
12. Ajuste el Touchstart manejador de la Torre del Homenaje botn Multimedia para ser:
en Touchstart PID
mundial
gLastMedia
mobGUITouch el identificador
largo de la ltima carta que
me vaya
si el campo "mediaURL" no est vaco,
la nueva tarjeta
End If
gLastMedia poner en el campo
"mediaURL" ahorrar pila
"WebScraper"
enviar "refresh" para agrupar
Touchstart fin "keeperbuttons"
13. Pruebala aplicacin. Utilice la tarjeta de explorador para cargar una pgina con un
montn de imgenes, vdeos o sonidos en l, y vaya a la tarjeta de memoria para
ver los listados.
14. Seleccione cualquier elemento, seguido de Hecho.
15. Si te gusta la imagen, sonido o video, use el botn Mantener Media para ir al final
de la URL de la pila para los medios de comunicacin para ser salvos.
16. Elegir ms bits de los medios de comunicacin, y mantenerlos.
17. Vaya a la seccin Keepers y utilizar los botones Siguiente y Anterior para navegar a
travs de los elementos que mantienen.
18. Las imgenes deben aparecer de forma automtica, y el vdeo y el audio se
puede iniciar con el botn de reproduccin de medios.
Qu ha pasado?
Hemos aadido la ltima caracterstica de nuestra aplicacin, un juego de cartas donde se puede ir a
ver los trozos de papel que se opt por conservar.
Tener un hroe go - agregar algunos lugares preestablecidos
Si usted hace la aplicacin WebScraper, y empezar a ser til, es muy probable que habr un
conjunto de pginas web que se remontan a una y otra. Tener que escribir la direccin URL
cada vez sera tedioso. As que, por qu no hacer un campo oculto en la tarjeta del
navegador, y escriba
una lista de tus pginas favoritas. Agregar un botn a la tarjeta tambin, que se abrir una
[ 142 ]
Chapter 4
lista de las pginas para que usted pueda elegir. El que usted elija puede cargar el control
de explorador con la pgina deseada. Todos los pasos para hacer esto se trata en la
seccin de tarjetas enlace de arriba.
[ 143]
Using Remote Data and Media
Y ahora qu?
Es muy cierto que si usted sigue cuidadosamente todos los pasos de este captulo, y en
efecto, que todos los pasos eran perfectos, todava no se tiene una aplicacin lista para ser
presentada a las tiendas de aplicaciones! Debe haber una pantalla de bienvenida, men
principal y los iconos de los botones de ficha. Un poco de amor de un diseador grfico!
Caracterstica en cuanto a que sera bueno que las imgenes que mantienen podra hacer
zoom y panormicas.
Resumen
Algo de lo que hemos cubierto aqu es menos glamorosa, sobre todo acerca del
procesamiento de texto HTML, pero s que tambin utilizan una serie de caractersticas
mviles, incluyendo:
Realizacin y control de un navegador web
El uso de un selector nativo para presentar listas
Creacin de un campo de desplazamiento nativo, que tiene todas las capacidades
normales del sistema operativo especficos
Reproduccin de vdeo y audio con el reproductor multimedia nativo
El siguiente captulo es casi en su totalidad sobre cmo tratar con los grficos, as que nos
aseguraremos de utilizar alguna imagen manipulando los gestos, y se poda volver a la
aplicacin WebScraper ms tarde para agregar las mismas caractersticas que las tarjetas
de Guardianes.
[ 144]
Chapter 4
5
Realizacin de una aplicacin
Jigsaw Puzzle
Imagnese esto ...
Hasta ahora hemos estado tratando con una gran cantidad de texto o llamar
a funciones del sistema operativo mvil. Esas son cosas interesantes, pero no
son tan visual. Si estaba deseando perder el tiempo con imgenes y datos de
imagen, ha llegado tu hora!
LiveCode no es, naturalmente, una potencia de grficos, y su modo de manejo de datos de
imagen (a menudo denominado como "datos de mapa de bits" por otras herramientas) es algo
inusual, en que se almacena con eficacia los pxeles de una imagen como una serie de
caracteres de un solo byte para representar los valores de rojo, verde y azul de cada pxel. La
manipulacin de una imagen final es bastante flexible, pero con el fin de crear algo en la lnea
de un rompecabezas que tenemos que entender el formato de datos de imgenes.
En este captulo se incluirn los siguientes puntos:
Examinar la forma en que almacena los datos de mapa de bits LiveCode en un objeto de
imagen
Encontrar una manera de utilizar un nico mapa de bits en lugar de 50 botones
Hacer un mapa de deteccin de colisiones
Crear una aplicacin de rompecabezas que se aprovecha de algunas funciones del
dispositivo mvil
Making a Jigsaw Puzzle Application
[ 132 ]
Datos Formato de la imagen
En otras herramientas de autora, como Adobe Director y Flash de Adobe, los datos de mapa de
bits se almacena como una matriz de 24 - o los valores de 32-bit. Si quieres saber el color del
pxel 20 desde el borde de la izquierda, en la fila 15a de la parte superior de la imagen, se utiliza
un getPixel funcin con esos nmeros enchufado En Flash, que utiliza un punto cero de
partida de todos sus tipos de variables, se podra decir:
pixelcolor bitmapvariable.getPixel = (19,14);
Se podra, de hecho, comenzar esa lnea convar pixelcolor: uint, pero aqu estamos viendo
las principales diferencias, y no las rarezas de tener un lenguaje de programacin
fuertemente tipado! En Director, que, al igual LiveCode, utiliza variables basadas en 1, debe
decir:
pixelcolor imagevariable.getPixel = (20,15)
Una vez ms no hay necesidad de escribir variable, o incluso un punto y coma al final de la
lnea. A pesar de que una digresin, Flash tambin no necesita el punto y coma al final, por lo
menos, usted no tiene que escribirla usted mismo. Flash saba lo que quera decir! Volviendo
al punto ...
En LiveCode cada pxel de una imagen es representada por cuatro bytes, que tiene acceso
como si fueran un solo byte. El rango de valores de un byte es de 0-255, y almacenar dichos
valores, especialmente el valor "0", en variables de carcter no funciona bien. Por lo tanto,
es necesario convertir el valor de carcter en un valor numrico antes de hacer uso de ella.
El problema bsico es que aunque el valor numrico se almacena en una variable, cuando
se llega a hacer clculos sobre el mismo LiveCode querr trabajar en aritmtica de base 10,
y no en la forma binaria dentro de la variable. Usted tiene que convertir la variable en algo
que se puede procesar, mediante el charToNum funcin.
As que por qu no una variable de caracteres como ceros, usted pregunta!
Pues bien, en los primeros das de las computadoras personales del lenguaje
de programacin predominante fue Pascal. En Pascal una variable que
contiene una cadena literal necesitaba tener una manera de saber cunto
tiempo la cadena era. El primer byte de una cadena Pascal almacena la
longitud de la cadena, que estaba bien, hasta 255 caracteres, y en esos das
Se crea ms probable de como tanto como cualquiera necesitara siempre!
En la vida real, sin embargo, las cadenas pueden ser de ms de 255
caracteres. Este apartado slo es ms de 900 caracteres de longitud. Para
solucionar este problema el lenguaje de programacin C utiliza un cero para
indicar el final de una cadena. Usted podra tener un milln de caracteres en
una fila, sin embargo, slo el ltimo sera un cero. Valores RGB no se
preocupan por las limitaciones de cadenas de C, y hay ceros en todo el lugar,
que es por eso que lo convierte en un valor numrico, tan pronto como nos
sea posible.
Chapter 5
[ 133]
Adems de la singularidad de cada pxel se almacena como cuatro bytes de informacin,
tampoco hay sentido de filas y columnas. Todos los pxeles de una imagen tiene su fin cuatro
bytes para terminar, hay que hacer un clculo para saber en qu parte de los datos del pxel
que est buscando se encuentra. Si se tiene en cuenta cmo se trabaja en un editor de mapa
de bits, por ejemplo Photoshop o Gimp, selecciona las cosas basado en un X y un valor Y, lo
que corresponde a la columna y la fila donde se encuentra el pxel de la imagen. LiveCode no
le permite acceder a mapas de bits en esa forma. De ah la necesidad de hacer un clculo.
As es como el pxel ejemplo anterior puede ser recuperada en LiveCode, si lo quera como
un 24 - bit de valor:
poner getPixel ("imagen de prueba", 20,15) en pixelcolor
funcin getPixel PImage, px, py
poner la imagen de imageData del PImage en
tImageData poner el ancho de la imagen en PImage
tWidth
poner ((pY-1) * tWidth + (pX-1)) * 4 en tStartChar
poner charToNum (char tStartChar 2 de tImageData) en
charToNum Tred poner (char 3 tStartChar de tImageData) en
tGreen poner charToNum (char tStartChar 4 de tImageData)
en cambio tBlue Tred * 65536 + tGreen * 256 + tBlue
final getPixel
En la cara de ella, ste es uno de los pocos casos en que el camino se hace en LiveCode es
considerablemente ms largo que en otros idiomas. Sin embargo, muy a menudo que
realmente necesita los valores de rojo, verde y azul del pixel, y en los dems idiomas que
usted tiene que tomar medidas adicionales para extraer esos valores.
Los pasos adicionales necesarios para que el nmero devuelto es un valor de 24-bit RGB no
son gran cosa, ya que LiveCode se extiende fcilmente por sus propias funciones. Si usted
necesita el valor de 24 bits, utilice la funcin anterior y se le ha aadido un getPixel
funcionar a la lengua LiveCode. Usted todava tiene que hacer los clculos para obtener slo
el valor de rojo. Tal vez algn da LiveCode han construido en getPixel funcin que
funciona ms rpido que su propia funcin. El nmero de 24-bit regres aqu es en realidad
representan con tres cifras decimales, no como un
24-bit valor binario, pero todava se conoce generalmente como "bit 24".
Misterio byte ...
El primer carcter de los cuatro, que representa un pxel, no se utiliza. RunRev.com tiene
tutoriales sobre cmo usar imageData del, y hay que byte se conoce como Alpha. Eso tiene
sentido, incluso las otras herramientas que le puede dar un nmero de 32 bits tendr el
valor dividen en alfa, rojo, verde y azul. Por qu ese byte, que se llama Alfa RunRev,
contiene el valor alfa? Quin sabe!
Making a Jigsaw Puzzle Application
[ 134]
Una posibilidad es que el valor no sirven bien a su propsito suficiente. Cuando se habla de
transparencia alfa a veces significa que sea transparente, como podra ser el caso en una
imagen GIF. Otras veces puede significar translcido, donde es parcialmente transparente.
Para resolver la ambigedad de este problema, LiveCode tiene otras dos propiedades de una imagen,
maskData y alphaData:
poner el maskData de "imagen de prueba" de la imagen en
tMaskData poner el alphaData de imagen "la imagen de
prueba" en tAlphaData
Estas propiedades de la imagen todava tiene toda la final filas a fin, y usted todava tiene
que hacer el clculo para encontrar donde el valor de un pxel dado alfa se almacena.
Con maskData se obtiene un conjunto de valores para cada uno de los pxeles. Para cualquier
valor distinto de 0, el pxel es visible.
Con alphaData se obtiene un conjunto de valores que representan la opacidad de los
pxeles. 0 sera totalmente transparente, 255 sera totalmente opaco, y los valores
intermedios ser translcido. 128 sera de 50% de opacidad.
Ms adelante en este captulo vamos a estar haciendo uso tanto de maskData y
alphaData, y nos referiremos a la 0-255 alphaData valor como su transparencia, y el cero
o distinto de cero maskData valor como su mscara.
El mal uso imageData del!
Los temas de los tutoriales en lnea LiveCode implican la manipulacin de la imageData del,
por ejemplo, convertir una imagen en color en una escala de grises de una. (Este ejemplo
en particular se encuentra en:
http://lessons.runrev.com/s/lessons/m/4071/l/25371-vision-how-do- i-
convertir-a-color-imagen a escala de grises.) No vamos a hacer eso aqu. En
su lugar,
usaremos los valores de la imagen, la mscara, y alfa, para lograr algunas cosas interesantes
que no cambian la imagen en absoluto. De hecho, en algunos casos, ni siquiera se ve la
imagen!
Tiempo para la accin - probando una funcin getPixel
Antes de llegar a ejemplos tiles, vamos a hacer un getPixel funcin, y un caso de prueba
rpida.
1. Hacer una Mainstack nuevo. Gurdelo como ImageDataTests.
Chapter 5
[ 135]
Usaremos la misma pila para ilustrar varias cosas, y al final podemos
atrevernos a probar en un dispositivo mvil!
Making a Jigsaw Puzzle Application
[ 136]
2. Hacer la pila del tamao de su dispositivo ms grande prueba. O simplemente
tratar de 1024x768 si vamos a usar el simulador de iPad.
3. En el men Archivo, seleccione Importar como Control / Image y seleccionar
cualquier archivo de imagen pequea que tiene, para colocarlo en la esquina del
lado superior izquierdo de la ventana de la tarjeta. El ejemplo que se muestra a
continuacin utiliza una imagen de logotipo LiveCode.
4. Coloque un objeto grfico nuevo al lado de la imagen. Va a estar mostrando un solo
color, por lo que slo hacen lo suficientemente grande para ver fcilmente el color.
Nombre que muestra.
5. Grficos tienen un valor por defecto configurado para mostrar un cuadro vaco, por
lo que escribir esto en el cuadro de mensaje para que se llenar en:
establecer el relleno de un grfico en true
6. Edite el script de la imagen, y escriba las siguientes
lneas:
en mouseMove PMX, PMY
- Poner getPixel (el nombre corto de m, PMX - la izquierda de
m, PMY - la parte superior de mi) en tPixelColor
- Establecer el grfico de backgroundColor "muestra" para
mouseMove final tPixelColor
7. Tenga en cuenta que las dos lneas estn comentadas. LiveCode slo se quejara si
seguimos pidiendo getPixel, antes de haber creado esa funcin!
8. Edite el script de pila. Aadir la getPixel funcin, que es muy parecido al que se
muestra en la seccin de formato de datos de imagen al principio de este
captulo:
funcin getPixel PImage, px, py
poner la imagen de imageData del PImage en
tImageData poner el ancho de la imagen en PImage
tWidth
poner ((pY-1) * tWidth + (pX-1)) * 4 en tStartChar
poner charToNum (char tStartChar 2 de tImageData) en
charToNum Tred poner (char 3 tStartChar de tImageData) en
tGreen poner charToNum (char tStartChar 4 de tImageData)
en cambio tBlue Tred, tGreen, tBlue
final getPixel
9. De vuelta en el guin de imgenes, elimine las dos lneas. Empiece apuntando a la
imagen, y usted debera ver la muestra de color para que coincida con el cambio
grfico del pxel bajo el cursor
Chapter 5
[ 137 ]
Qu ha pasado?
Hicimos un caso ejemplo muy simple de utilizar el color de un pxel en una imagen, en este caso para
colorear una muestra. Como configurar el backgroundColor de un grfico requiere
redvalue, greenvalue, bluevalue, no lo necesitamos para convertir los valores de la
imagen a un nmero de 24-bit, y el getPixel funcin podra devolver Tred, tGreen,
tBlue.
Ahora, no hay realmente ninguna ventaja a la forma en que lo hicimos en comparacin con el
construido en el
mouseColor funcin. Pero por lo menos nos dio la getPixel funcionar una prueba!
Pop-Quiz - cuntos bits en un byte?
"Bytes" fue mencionado un par de veces, y usted bien sabe acerca de "la profundidad de
bits" cuando se habla de fotografas digitales. Cuntos bits hay en un byte?
una.
32. b.
24. c. 8.
d. Depende de cunta hambre
tengamos.
Simulacin de un montn y un montn de botones
En algunas aplicaciones es necesario saber exactamente qu rea de la imagen que el
usuario est sealando. Por ejemplo, cuando hay un mapa y donde quieras mostrar
informacin relativa a la regin que el usuario ha hecho clic. Esto podra hacerse utilizando
una gran cantidad de botones rectangulares, ya que podra romper las regiones hasta en los
grficos y el uso de un MouseEnter controlador para detectar qu regin est. O usted
podra utilizar en lugar de una sola imagen para representar a todas las regiones.
Tiempo de accin - hacer un mapa de los Estados Unidos
Hay muchos lugares en lnea para obtener imgenes de dominio pblico para su uso en las
aplicaciones. Bsqueda de "imgenes de dominio pblico", y vers enlaces a artculos de
Wikipedia, los sitios del gobierno y otros sitios dedicados a la descarga de free-to-use
images. El mapa que se muestra aqu vino de este archivo:
http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
1. Hacer un nuevo campo llamado estados. Encuentra una lista alfabtica de los
50 estados de EE.UU. para pegar en el campo. O bien, escriba en ellos!
Making a Jigsaw Puzzle Application
[ 138]
2. Hacer otro campo, ajuste el tamao del texto a ser 24, y el tamao del campo para
ser lo suficientemente amplia como para "New Hampshire" para encajar (slo las
palabras, no en todo el estado!). Nombre del campo como Estado.
Chapter 5
[ 139]
3. Si usted tiene Adobe Illustrator, abra el archivo SVG. Si no es as, abrirlo con GIMP.
4. En orden alfabtico, llene en cada estado con un color donde los valores de rojo,
verde y azul que coincida con el nmero de lnea de ese estado + 100. Estamos
aadiendo 100 para que los tonos de gris que veremos no es tan negro.
5. Contine a travs de todos los estados. As es como va a empezar a mirar en Illustrator,
donde
Idaho est a punto de ser de color 112.112.112:
6. Cambiar el tamao del mapa de manera que se llene un tercio de la ventana de la
pila y elija Exportar.
Making a Jigsaw Puzzle Application
[ 140]
Los ajustes de color del perfil
LiveCode trata a los mapas de bits de un modo que ignora la informacin
de perfiles de color en la imagen, y eso arruinara lo que estamos tratando
de hacer. Al exportar una imagen ver si hay una opcin para configurar el
perfil de color para genericRGB. Si no la hay, a continuacin, utilizar
una utilidad como Sync Color para aplicar el genericRGB perfil de color.
Una vez que la imagen se guarde hay algo que usted puede hacer para
asegurarse de que se importan en LiveCode: antes de realizar la importacin,
el tipo establecer el screengamma a 2,23 en el cuadro de
mensaje y pulse Intro. Esto establecer LiveCode a la configuracin correcta
para asegurarse de que el
valores de color vienen en forma correcta.
7. Si est utilizando Illustrator, establecer el fondo para ser el blanco, y el ser anti-aliasing
para
Ninguno. Con GIMP, asegrese de que el PNG se guarda sin un canal alfa.
8. Escriba la lnea seguida por la tecla Enter en el cuadro de mensaje:
establecer el screengamma a 2,23
9. Importe el PNG en su ImageDataTests apilar.
10. Establecer escritura de la imagen a la siguiente:
en mouseMove PMX, PMY
poner getPixel (el nombre corto de m, PMX - la izquierda de
m, PMY - la parte superior de mi) en tStateColor
establecer el itemdelimiter a coma
poner el tema 1 de tStateColor - 100 en TLINE
poner TLINE lnea del campo "estados" en el campo
de mouseMove "estado" final
11. Apunte a los diferentes estados, por lo menos los que han coloreado pulg El nombre del estado
debe aparecer en laestado campo.
Qu ha pasado?
Para este caso slo hay que fijarse en el valor del canal rojo para el pxel bajo el cursor.
(Los valores de verde y azul son los mismos, ya que se utiliz un valor de color gris.) En vez
de escribir otra funcin para obtener slo la parte roja de los datos, se reutiliza la
existente getPixel funcin, pero slo entonces se dio cuenta del primer elemento de
la funcin devuelta. Ese nmero, despus de restar los 100 que hemos aadido para
hacer las sombras
No seas tan negro, se utiliz como valor de bsqueda para obtener el nombre del estado
correspondiente.
Chapter 5
[ 141 ]
Pop-Quiz - conseguir el cuadro grande
La imagen del mapa ejemplo es un archivo SVG. Hacer un poco de investigacin Wikipedia, y
decidir si un SVG
archivo es ms pequeo que un archivo PNG para una imagen determinada?
R. S. b.
No.
c.Depends sobre la naturaleza de la imagen.
Uso de maskData para la deteccin de colisiones
En los antiguos juegos 2D laberinto de aventura tu personaje se mueva en distintas
partes, y cuando la comprobacin para ver si haba una pared o en un hueco, el programa
tena que ver slo relativamente pocos lugares. Los puntos ocupados podran ser
almacenados en una matriz, teniendo poca memoria.
Con los juegos de laberinto otros, como esas tablas inclinadas mrmol laberinto, hay que detectar
las colisiones
en un grado mucho ms fina. Un motor de fsica en toda regla podra hacerse cargo del problema,
pero es
posible obtener algunos resultados interesantes almacenando el laberinto como una imagen, y el
control de la
pxeles que estn delante de su personaje, o de mrmol como el caso puede ser.
En un juego con todas las funciones que sera mejor utilizar el imageData del, o tal vez el
alphaData, de modo que usted pueda saber cundo se va a golpear algo, y del valor que
lee usted tambin puede decir qu es lo que han pasado. Por ejemplo, en el juego del
laberinto de mrmol que usted necesita saber cuando usted ha pasado ms de un agujero.
Para esta prueba siguiente, sin embargo, slo tendremos que utilizar maskData, y ver qu
podemos hacer al respecto no golpear a lo que est delante de nosotros.
Tiempo de accin - haciendo un hipdromo
Vamos a hacer una pista de carreras de coches pequeos para moverse. Lo haremos de la pila que
hemos construido! En primer lugar tenemos que convertir lo que est en la tarjeta en una imagen
que representa paredes y espacios.
1. Utilizando las herramientas LiveCode dibujar, aadir un montn de objetos
para la ImageDataTest
apilar. Estos van a ser los obstculos en la pista de
carreras.
Making a Jigsaw Puzzle Application
[ 142 ]
2. Para crear la imagen que vamos a necesitar, escriba lo siguiente en el cuadro de mensaje:
Importar resumen de la rect rect de esta pila
3. El comando anterior se llevar una captura de pantalla de la ventana de la tarjeta, y
lo colocamos en la tarjeta como un control de imagen nuevo.
Chapter 5
[ 143]
4. Haga clic en la imagen que se ha creado y seleccione Editor de. Esto abrir la
imagen en el editor de mapa de bits que ha configurado en Preferencias |
General.
5. En la ventana de su editor de imgenes de Capas, duplicar la capa inicial.
6. Hacer una nueva capa transparente, bajo la capa de la imagen duplicada.
7. Eliminar la capa original.
8. Use Varita mgica del editor para seleccionar el espacio en blanco de la imagen de la
carta en la capa con la imagen en el mismo (no de la capa transparente). Borrar el
rea seleccionada, para revelar la capa transparente.
9. Invertir la seleccin, y la rellenamos con un color oscuro (el color no importa, es
slo para que podamos ver dnde estn los agujeros son).
10. Tmese su tiempo para llenar los vacos pequeos. Adems, colocar un borde grueso alrededor del
exterior de la imagen. La siguiente captura de pantalla muestra cmo se ve la tarjeta, y cmo la
imagen de la instantnea debe ser por ahora:
11. Combinar las capas del documento y, a continuacin, seleccione Guardar.
12. Volver a LiveCode, haga clic en el botn Actualizar, y la imagen de la instantnea se
actualizar para reflejar los cambios realizados.
13. Nombre de la imagen como teln de fondo. Ms adelante vamos a configurar la
imagen de estar detrs de otros objetos, pero por ahora vamos a dejarlo encima de
todo lo dems.
Chapter 5
[ 141 ]
Qu ha pasado?
Acabamos de hacer un hipdromo muy extrao mirando! En un juego de carreras real de arriba hacia
abajo con cuidado diseara un hipdromo bonita, y hacer un duplicadode la imagen que desea
utilizar para la deteccin de colisiones. En el duplicado que borrara las partes de la imagen que
representa el que los coches se les permite conducir, y luego llenar el resto de la imagen con un color
plano. Los jugadores veran el hipdromo bonita, y debajo sera la versin duplicada de color plano
que se utiliza para la deteccin de colisiones.
Ahora tenemos un coche que se conduce por el campo que hemos hecho.
Tiempo para la accin - lo que un coche de carreras
Tmese todo el tiempo que quisiera crear una imagen del coche. Hacerlo de modo que est mirando a la
derecha. A continuacin, una vez que est en la pila vamos a empezar a aadir las funciones necesarias para su
guin. Un tamao de aproximadamente 40 pxeles a travs de debe ser aproximadamente correcto. He aqu un
primer plano la imagen de lo que estamos hablando, como se ve en Photoshop:
Making a Jigsaw Puzzle Application
[ 142 ]
Tuyo puede ser incluso mejor que eso, si te gusta! Gurdelo como un archivo PNG de 24-bit que tiene la
transparencia. Ok, enciendan sus motores ...
1. Importe la imagen como un control, y colocarlo en algn lugar de la zona blanca de la
ImageDataTests apilar. Nombre que car1.
2. Duplicar la imagen tantas veces como quieras (el script de abajo puede manejar hasta
100 coches), y el nombre de cada uno en la secuencia siguiente, car2, car3, y as
sucesivamente.
3. Podra decirse que el camino correcto orientado objeto de proceder sera colocar
algunas funciones en las imgenes, y algunos en el guin carta o grupo, pero por
razones de rendimiento que vamos a poner todo en el guin de la pila. Abra el
script pila.
4. Aada una lnea para las variables globales que vamos a necesitar:
gBackdropMaskData mundial, gMaskWidth, gSpeeds, gMovingCars,
gMaskWidth
5. Vamos a aadir un botn arrancar / parar pronto, lo que se llama a una funcin para
alternar si los vehculos estn en movimiento o no. Agregue la funcin de palanca en la
escritura de pila:
en startStopCars
gMovingCars si es cierto,
entonces poner en falso
gMovingCars
ms
poner el maskData de imagen "teln de fondo" en
gBackdropMaskData poner el ancho de la imagen de "teln de
fondo" en gMaskWidth
setSpeeds
poner en verdadero gMovingCars
enviar moveCars a esta tarjeta en dos
finales garrapatas si
startStopCars finales
6. La setSpeeds controlador, que es llamado por startStopCars, inicializar el
gSpeeds variable con una velocidad aleatoria para cada una de las imgenes del
coche. Tambin se fijar la direccin inicial a cero, as como la colocacin del vehculo
en una ubicacin conocida en el rea blanca (200.200 en este caso). Aadir la
setSpeeds controlador a la secuencia de comandos de pila, por debajo de la
startStopCars handler:
en setSpeeds
puesto vaco en la
repeticin gSpeeds con
Chapter 5
[ 143]
100 = 1 a
poner "car" y en un carname
si hay una imagen carname luego
poner (al azar (10) +10) / 10 En el punto 1 de la lnea
de un gSpeeds poner 0 en el punto 2 de la lnea de un
gSpeeds
establecer la locomotora de carname
imagen a 200.200 ms
Making a Jigsaw Puzzle Application
[ 144]
la salida
final de la
repeticin si
terminar
setSpeeds
final de
repeticin
7. En una moveCars controlador, que se muestra en el paso 8, vamos a mirar el
gBackdropMaskData variable para ver si el coche se va a ejecutar en algo slido.
Aadir esta hitBarrier funcin:
funcin hitBarrier px, py
poner (PY-1) * gMaskWidth + pX en tStartChar
poner charToNum (char tStartChar de gBackdropMaskData)
en tMaskValue
si tMaskValue = 255 entonces return
true else return false
final hitBarrier
8. La moveCars controlador se llam inicialmente por la startStopCars
controlador, y luego se llamar cada 2 ticks hasta que el gMovingCars variable se
establece en falso. Escriba lo largo moveCars manejador en el guin de pila:
en moveCars
poner la pantalla
de tiempo largo
mechn
repetir con un 100 = 1 a
poner "car" y en un 0,1
carname poner en
anglechange
si hay un carname imagen a
continuacin, poner 0 en
mostrador
repetir mientras contador
<20 agregar 1 para
contrarrestar
poner punto 1 de la lnea de un gSpeeds en tCarSpeed
poner punto 2 de la lnea de un gSpeeds en
tCarDirection poner el punto 1 de la locomotora de
carname imagen en tCarX poner punto 2 de la
locomotora de carname imagen en tCarY
poner la ronda de ((cos (tCarDirection) * tCarSpeed) * 20
+
tCarX) en tLookAheadX
poner la ronda de ((sin (tCarDirection) * tCarSpeed) * 20
Chapter 5
[ 145]
+
tCarY) en tLookAheadY
si hitBarrier (tLookAheadX, tLookAheadY) luego
poner tCarDirection + anglechange en el punto 2 de
la lnea A de gSpeeds
poner anglechange * -1 * ((20 - random (10)) / 10)
en anglechange
poner max (1, tCarSpeed - .1) En el punto 1 de la
lnea de un gSpeeds
Making a Jigsaw Puzzle Application
[ 146]
ms
poner min (3, tCarSpeed + .05) en el punto 1 de la
lnea de un gSpeeds
la salida
final de la
repeticin si
Fin de
repeticin
establecer la locomotora de carname imagen con el punto
1 de la locomotora de carname imagen + (tLookAheadX-
tem 1 de la locomotora de la imagen
carname) / 10, artculo 2 de la locomotora de
carname imagen + (tLookAheadY-tema 2 de la
locomotora de carname imagen) / 10
establecer el ngulo de carname imagen a 360 - punto 2
de la lnea de un gSpeeds / PI * 180
ms
la salida
final de la
repeticin si
poner fin a
la repeticin
de desbloqueo
de pantalla
gMovingCars si es verdad entonces enviar moveCars a esta
tarjeta en 2 ticks
moveCars finales
Anticolisin
Tmese un momento para mirar a lamoveCars manejador. Qu est haciendo?
Usted sin duda ha odo hablar de la deteccin de colisiones, aqu es donde
usted tiene el cdigo que reconoce cuando un objeto ha colisionado con otro
objeto, o en la pared, tal vez. Usted podra desencadenar una explosin,
colisin o el sonido cuando eso sucede. Para nuestro ejemplo, a pesar de que
en realidad no quieren que las cosas chocan entre s, queremos que los autos
a su vez antes de que hubiera chocado. Para cada vehculo, hasta 100 de
ellos, miramos hacia el futuro del coche para ver si se puede chocar con los
bordes de la asignatura. Si se va a hacer, as que cambiar la direccin en la
que el coche se dirige, en repetidas ocasiones, hasta que un fuerte sentido de
avance se encuentra.
9. Agregue un botn de Start / Stop Coches a la ventana de la tarjeta, y establecer su
secuencia de comandos a ser:
en startStopCars
mouseUp
Chapter 5
[ 147 ]
final mouseUp
10. Seleccione la imagen de fondo y elija Enviar al fondo del men Objeto.
11. Podra ser una buena idea hacer clic en Save!
Making a Jigsaw Puzzle Application
[ 148]
12. Haga clic en la opcin Ejecutar / Examinar herramienta, y luego en el botn Start /
Stop Cars, para ver la unidad de coches alrededor de la interfaz. La siguiente
captura de pantalla muestra cmo se ve cuando
20 coches se estn moviendo sobre:
13. Tenga en cuenta que usted puede seguir para apuntar a partes de la imagen que
se carga por primera vez (el logo LiveCode en el ejemplo anterior), para ver la
muestra para el cambio de color de la derecha. Adems, apunta a los diferentes
estados de los EE.UU. debe cambiar el texto en el estado campo que ha
creado.
Qu ha pasado?
Despus de haber utilizado imageData del para implementar un selector de color, y para
actuar como botn varias reas, se procedi a utilizar la maskData de la imagen como un
mapa de colisin. Hay una gran
poco de aritmtica detrs de hacer que los coches se mueven de manera inteligente, y se
poda ir a cambiar algunos de los nmeros para obtener un comportamiento diferente. O
usted podra tomar un descanso, y preprate para hacer un rompecabezas!
Chapter 5
[ 149]
Pop-Quiz - calcular esto!
Para el mapa de los EE.UU. slo necesitbamos para simular 50 botones. Si usted hizo uso del
rojo, verde y azul, cuntos botones podra simular?
a.One botn enorme. b.
65.536 botones.
c.16, 777.216 botones.
Cmo hacer un rompecabezas
Las cosas que hemos probado hasta ahora en este captulo utilizan tcnicas que podran ser tiles
en cualquier
Aplicacin LiveCode, no especficamente con las aplicaciones mviles. Usted puede tratar de la
pila que
han construido, sino que va a funcionar bien en un dispositivo mvil, incluso con el selector de
color, los estados mapa,
20 coches y conducir alrededor de la pantalla! Sin embargo, esas pruebas no realmente hacer uso
de cualquier mvil
caractersticas. El resto del captulo se basar en la informacin acerca imageData del, y
Tambin se aprovechar de una serie de caractersticas de dispositivos mviles pocos.
Ir a pedazos ...
La tcnica general que vamos a utilizar es tomar un conjunto de archivos PNG que tienen un
canal alfa agradable en ellos (que crea los bordes de la pieza del rompecabezas), y luego
vuelva a colocar los datos de pxeles reales con una imagen de nosotros mismos. Lo primero
que necesitamos es, pues, algunos archivos PNG.
Si usted hace una aplicacin mvil comercial, ya sea crear sus propias formas de puzzle o
comprar una imagen libre de derechos. Para los prototipos se pudiera tomar cualquier
imagen de la web, y obtener las bases que van y vuelva a colocar las imgenes con ms de
alta calidad que le hahe comprado. Aqu estamos utilizando una imagen de vista previa de
http://depositphotos.com/ que tambin vende versiones ms altas de calidad.
Cuando usted tiene versiones de alta calidad que usted puede desear para crear cada
pieza del rompecabezas, hasta que toquen entre s perfectamente. Aqu estamos usando
una imagen de vista previa, y se seleccionar la parte interior de cada pieza, y crear los
archivos PNG de aquellos. Habr pequeos espacios entre las piezas, pero por lo menos
es muy rpido de preparar las imgenes que va a necesitar.
Tiempo de accin - la creacin de las piezas y la eleccin de una
Making a Jigsaw Puzzle Application
[ 150]
imagen
Si desea seguir con exactamente la misma imagen que se muestra aqu, wtomadas de la
parte superior izquierda de este archivo:
http://static3.depositphotos.com/1004551/191/v/950/
depositphotos_1914748-rompecabezas-puzzle-blank-templates.jpg
Chapter 5
[ 151 ]
1. Hacer una Mainstack nuevo a 1024x768 (o el tamao de su dispositivo de
tableta). Nombre de la pila rompecabezas, y establecer el ttulo a Jigsaw
Puzzle. Hacer un Guardar.
2. Abra la imagen del rompecabezas entero en su editor de imgenes.
3. Utilice la herramienta Varita mgica para recoger la parte interior de la pieza lateral
superior izquierdo del rompecabezas.
4. Rellene que con un color que hace que sea fcil de detectar posibles lagunas restantes.
5. Copiar y pegar en un documento nuevo (con un fondo transparente) que es el
tamao de la pieza que ha copiado.
6. Repare las lagunas, con la herramienta pincel establece en el mismo color de relleno.
7. Guardar como PNG (con Photoshop que se Guardar para Web y dispositivos, 24
bits, con transparencia). Utilice un esquema de nombres que le ayudarn a
identificar fcilmente las imgenes. Por ejemplo, tlcorner.png, p1.png,
trcorner.png, y as sucesivamente.
8. Proceder a travs de todas las reas de diferente forma. En la imagen de ejemplo
que ser tan pocos como 14 formas nicas. No hay necesidad de salvar otras
piezas que tienen la misma forma como los que ya tiene.
Making a Jigsaw Puzzle Application
[ 152 ]
9. El conjunto de imgenes se ver as:
10. En la pila rompecabezas, vaya a Archivo | Importar como Control | Imagen, e importar
todas las 14 imgenes.
Chapter 5
[ 153]
11. Coloque un rompecabezas que cubre la mayor parte de la ventana de la tarjeta. En
las pantallas que se muestran debajo del rompecabezas era 900x622. Realizar
duplicados de las imgenes de media pieza para llenar todo el rompecabezas.
12. Nombra las imgenes en una cuadrcula como la moda. La parte superior izquierda de la
pieza de mano se denominara p
1 1, la parte superior derecha pieza de borde lateral se denominara p 11 1 (Haba
11x8
piezas en la zona de 900x662), y la parte inferior derecha de la pieza lateral tendra un
nombre de p 11 8.
13. Seleccione todas las piezas y agruparlas. Asigne un nombre al grupo como piezas.
14. Hacer un botn, con el nombre de fromcamera y una etiqueta de Tomar una
foto. Establecer las secuencias de comandos de botones en el siguiente:
en mouseUp
LoadImage "cmara"
fin mouseUp
15. Hacer otro botn, denominado fromlibrary y etiquetados Cargar una
imagen, con este script:
en mouseUp
LoadImage
Making a Jigsaw Puzzle Application
[ 154]
"biblioteca" fin
mouseUp
Chapter 5
[ 155]
16. Edite el script de la tarjeta y aadir estas variables y funciones globales, que se
inicializan los valores que sern necesarios por las otras funciones que vamos a hacer:
originalimage mundial, puzzlewidth, puzzleheight,
snapdistance, hcount, vcount
en SetValues
OpenCard
final OpenCard
en SetValues
puesto 900 en puzzlewidth
puesto 662 en
puzzleheight puesto 50 en
snapdistance puesto 11 en
hcount
puesto 8 en
SetValues finales
vcount
17. Ahora agregue el loadImage controlador, que los dos botones a llamar para
obtener una imagen de la cmara del usuario o lbum de fotos:
en loadImage cameratype
puzzlewidth si est vaca, entonces SetValues
si hay una imagen "original" y luego borrar la imagen
"original" mobilePickPhoto cameratype, puzzlewidth,
puzzleheight
si el resultado est vaca, entonces
bloquear la pantalla
establecer el nombre de la imagen del nmero de imgenes
que "original" establecer el ancho de la imagen
"original" para puzzlewidth
ajustar la altura de la imagen "original" para puzzleheight
poner la imagen de imageData del "original" en
originalImage imagen delete "original"
- Makepuzzle
- Dispersin
de desbloqueo
de pantalla
ms
contestar el
resultado final si
final loadImage
Making a Jigsaw Puzzle Application
[ 156]
18. La makepuzzle y dispersin lneas estn comentadas por el momento, de
modo que usted puede probar las funciones creadas hasta el momento.
19. Ajuste los botones para tener una sombra, utilizando las opciones en el panel de
efectos grficos de la paleta Inspector.
Chapter 5
[ 151 ]
Qu ha pasado?
Las piezas del rompecabezas estn en su lugar, y nombrado de manera que podamos
aprovechar al manipularlos. Si usted ve a Ajustes aplicacin independiente y seleccionar
iOS o Android, puede dar a la aplicacin un intento.
La creacin de algunas imgenes de prueba.
Si utiliza el simulador de iPad que no ser capaz de probar la obtencin
de una imagen de la cmara, y al principio no tiene ninguna imagen en
la foto
biblioteca. Para resolver esto, arrastrar imgenes desde el Finder hasta la
ventana del simulador, y la imagen se mostrar en una ventana de Safari. A
continuacin, puede hacer clic y mantenga presionado en la imagen y
selecciona Guardar. De esa manera usted puede agregar algunas imgenes
a la biblioteca con el fin de seleccionar uno de ellos como imagen para el
puzzle.
Cuando se LiveCode una imagen desde el dispositivo mvil, ya sea desde la cmara o
desde la biblioteca o lbum de fotos, coloca la imagen como un control de imagen que es
el objeto superior de la tarjeta. No necesitamos la imagen en s, slo su imageData del,
y as en la loadImage controlador de la imagen se hace del mismo tamao que el grupo
de piezas de puzzle, el imageData del se almacena en la variable global
originalImage, y la propia imagen es eliminada.
A continuacin, vamos a transferir la imagen elegida en las piezas del rompecabezas.
Tiempo de accin - la transferencia de imageData del
Al establecer la imagen elegida para ser la misma anchura y altura que el grupo que contiene
las piezas del rompecabezas (que es donde los 900 y 662 nmeros de vino), se hace posible
transferir el rectngulo correspondiente de los datos de la imagen completa de la pieza de
puzzle en cuestin.
1. Abra el script de nuevo la tarjeta. Agregue el controlador makepuzzle:
en resetpuzzle
makepuzzle
que el nmero de imgenes en el grupo "piezas" en la
repeticin imagecount con a = 1 a imagecount
makepiece el nombre corto de la imagen de un grupo de
"trozos" de final de repeticin
final makepuzzle
2. El manejador makepuzzle pasar por cada una de las piezas del rompecabezas y
Making a Jigsaw Puzzle Application
[ 152 ]
llamar a otro controlador para hacer la transferencia de los datos para esa pieza.
Aqu est el gestor makepiece:
en piecename makepiece
poner el ancho de la imagen en piecename
piecewidth poner la altura de piecename imagen en
pieceheight
Chapter 5
[ 153]
puesto vaco en TempImage
poner a la izquierda de la imagen piecename - la izquierda
del grupo de "piezas" en dx
poner la parte superior de la imagen piecename - la cima del
grupo "piezas" en dy
repetir con y = 1 a pieceheight
poner ((y + dy-1) * puzzlewidth + dx) * 4 sourcestart
poner en caracteres sourcestart +1 a + sourcestart
piecewidth * 4 de
originalimage despus TempImage
Fin de repeticin
establecer el imageData del piecename de imagen
para makepiece final TempImage
3. En el anterior imageData del pruebas de que slo estbamos interesados en un
pxel a la vez, pero aqu queremos un montn de filas de datos. La aritmtica, ((Y
+ dy-1) * puzzlewidth
+ Dx) * 4 en sourcestart, rpidamente saca toda una fila de pxeles a la vez.
Las filas se form una nueva variable, TempImage, que finalmente se transfiere a la
pieza del rompecabezas real.
4. Despus de que las piezas tienen su rectngulo de la imageData del, Entonces
necesitamos para mover las piezas en lugares al azar, listo para el usuario para
jugar el juego. Esto se hace con un dispersin handler:
en dispersin
repetir con a = 1 para el nmero de imgenes en el grupo de
"piezas", coloque el myloc imagen de un grupo de
"piezas" de la locomotora de
la imagen de un grupo de "piezas"
poner el nombre corto de la imagen de un grupo de
"piezas" en n si edgepiece (n) a continuacin,
establecer la locomotora de la imagen de un grupo de "piezas"
a 40 +
aleatorio (400), 300 + aleatorio (400)
ms
establecer la locomotora de la imagen de un grupo de "piezas"
a 500 +
aleatorio (500), 300 + aleatorio (400)
End If
final de
la
repeticin
fin dispersin
5. La primera cosa que la mayora de los jugadores de rompecabezas hacer es
separar las piezas de bordes rectos. Podemos codificar las cosas de un modo que
les permite ahorrar un poco de tiempo, mediante el empleo de una funcin que
Making a Jigsaw Puzzle Application
[ 154]
coloca las piezas de borde alejado de las piezas de borde no. La edgepiece
funcin (que se llama desde el dispersin controlador mencionado
anteriormente) es la siguiente:
funcin pName edgepiece
devolver la palabra 2 de pName = 1 3 palabras de pName = 1 o
la palabra 2 de pName = hcount o palabra 3 de pName = vcount
final edgepiece
Chapter 5
[ 155]
6. El nombre que hemos cuidadosamente establecido para cada pieza se comprueba
para ver si esa pieza se encuentra en los mrgenes izquierdo, derecho, superior o
inferior del puzzle. En otras palabras, se trata de una pieza desde el borde exterior
del rompecabezas. Scatter coloca las piezas de bordes rectos en la mitad izquierda
de la pantalla, y los otros en la mitad derecha de la pantalla.
7. El inicio de la makepuzzle controlador llama a un resetpuzzle manejador. Que se
utiliza
para asegurarse de que las piezas estn de vuelta al punto de partida, listo para una nueva
imagen para ser
cargado. Eso se logra mediante el uso de una variable de la propiedad en cada pieza,
llamada myloc,
que registra la ubicacin inicial. Aqu est la resetpuzzle handler:
en resetpuzzle
repetir con a = 1 para el nmero de imgenes en el grupo de
"piezas"
si el myloc de la imagen de un grupo de "piezas" no est
vaco a continuacin, establezca la locomotora de la
imagen de un grupo de "piezas" para la myloc de
la imagen de un grupo de "piezas"
ms
establecer el myloc de la imagen de un grupo de "piezas"
a la locomotora de la imagen de un grupo de "piezas"
End If
final de
la
Making a Jigsaw Puzzle Application
[ 156]
repeticin
final resetpuzzle
8. Se puede ver que si myloc si no ya se ha establecido, la pieza debe estar en
su posicin de inicio, y por lo que el resetpuzzle manejador sigue adelante y los
registros que
ubicacin en el myloc propiedad.
Chapter 5
[ 157 ]
9. Elimine el comentario de las lneas en el paso 17 de Time for Action - la creacin de
las piezas y la eleccin de una imagen (la makepuzzle y dispersin lneas), y
otra prueba de la aplicacin. Ahora debera ser capaz de elegir una imagen y verla
como hacia fuera las piezas del rompecabezas. Esperamos que pueda ver algo como
la siguiente captura de pantalla:
Qu ha pasado?
Como se mencion anteriormente, el aritmtico a la derecha haca relativamente fcil
de extraer un rectngulo deseado de imageData del a partir de una imagen ms
grande, y para almacenarlo en una imagen ms pequea el tamao
del rectngulo. Pero hay un poco de magia que no se seal, el rompecabezas mantenido su
forma! Cmo sucedi eso, ya que hemos reemplazado completamente el imageData del
para la imagen? Ajuste de la imageData del no interfiere con la alphaData de la imagen.
Los PNGs importados que mantiene su canal alfa original, por lo que todava se vea la
misma forma, slo con una imagen diferente.
Adicin de interactividad
El rompecabezas est listo para enviar! Bueno, aparte de no existir interactividad en
absoluto! Vamos a aadir algo.
Making a Jigsaw Puzzle Application
[ 158]
Tiempo de accin - la creacin de
eventos de toque
Los controladores hasta ahora han sido en la secuencia de comandos de tarjetas, el plan
de ser a tener diferentes tarjetas con diferentes tipos de rompecabezas. Los
controladores de interactividad puede ser colocado en la pila de secuencia de comandos,
disponible para todas las tarjetas.
1. Abra el script pila. Slo hay una variable global que tambin necesitamos en la
apilar guin, pero hay un par de elementos a inicializar cubrir. Inicie el script pila
con estas lneas:
snapdistance mundial
en preopenstack
si la plataforma contiene "iphone"
entonces iphoneUseDeviceResolution
verdadero
final preopenstack
en OpenStack
establecer el compositorType de esta pila para
OpenStack final "Static OpenGL"
2. La preopenstack handler chequea si la aplicacin est en el iPhone, y pide que
la resolucin original del dispositivo utilizado. Esto se asegurar de que las
pantallas Retina mostrar la mejor calidad. La compositorType se establece en
Static OpenGL ayudar a rendimiento.
3. La interactividad usaremos har uso de eventos de toque. Cada toque viene con un
valor de ID asociado. Aqu est el controlador que detecta el inicio de un evento de
contacto:
en Touchstart touchid
poner el nombre corto de la meta en n
si la palabra 1 de n es "p" y luego
establecer la imagen de dropShadow n al dropShadow de botn
"Fromlibrary"
establecer los relayerGroupedControls en true
establecer la capa del blanco con el nmero de imgenes en el
grupo
"Piezas"
end if
final Touchstart
4. El proceso de registro del nombre de destino es una forma rpida de asegurarse de
Chapter 5
[ 159]
que no se arrastren nada alrededor excepto para las piezas del rompecabezas.
Cuando una pieza es tocado usamos el relayerGroupedControls y capa
funciones que hacen que la pieza aparecen por encima de las otras piezas.
Making a Jigsaw Puzzle Application
[ 160]
5. Te acuerdas de cmo hemos aadido un Sombra a los dos botones? Aparte de
hacer que se vean ms bonitas, podemos hacer uso de ella aqu tambin. Mediante
la adicin de la misma dropShadow a la pieza del rompecabezas que crean la
ilusin de que la pieza est flotando por encima de la pantalla.
6. Lo siguiente a tener en cuenta es el movimiento, que podemos hacer con el
touchMove evento:
en touchMove touchid, touchx, susceptible
poner el nombre corto de la meta en n
si la palabra 1 de n es "p" y luego
establecer la locomotora de la meta a
touchx, extremo delicado si
final touchMove
7. Una vez ms hay una doble comprobacin rpida para asegurarse de que es una
pieza del rompecabezas, si no es un simple caso de establecer la ubicacin de la
pieza a la posicin de los dedos del usuario.
8. Cuando el usuario suelta la pieza, comprobamos para ver si est cerca de su lugar
de partida, y si es entonces que mover la pieza en su lugar y retire el dropShadow
efecto:
en touchEnd touchid
poner el nombre corto de la meta en n
si la palabra 1 de n es "p" y luego
checkdistance el nombre corto de la meta
de establecer el dropShadow de la meta de
vaciar checkfinished
End If
final touchEnd
9. Este es el checkdistance controlador y un distancia funcionar lo llama:
en checkdistance dt
snapdistance si est vaco, poner el 100 en snapdistance
poner distancia (artculo 1 de la locomotora de imagen dt -
Artculo 1 de la myloc dt de la imagen, el punto 2 de la
locomotora de imagen dt - punto 2 del
myloc de la imagen dt) en d
si d <snapdistance entonces
poner max (.1, min (.2, d/200)) en t
dt mover la imagen a la myloc de dt imagen en
segundos t Ajuste el relayerGroupedControls en true
establecer la capa de dt
imagen a 2 final si
final checkdistance
Chapter 5
[ 161 ]
funcin de la distancia dx,
dy sqrt retorno (dx * dx
+ dy * dy)
final distancia
Making a Jigsaw Puzzle Application
[ 162 ]
10. La distancia funcin utiliza la frmula de Pitgoras, devolviendo el nmero de
pxeles entre la pieza del rompecabezas y su original myloc valor. snapdistance
es la variable global que se utiliza para determinar si la pieza es lo suficientemente
cerca de su lugar de partida para ser considerado en el blanco.
11. La mover lnea utiliza LiveCode de mover funcin, que animar la pieza
en su lugar.
12. Una ltima cosa, vamos a ver si el puzzle se completa. Aadir este
controlador para el guin de pila:
en checkfinished
repetir con a = 1 para el nmero de imgenes en el grupo de
"piezas" si el myloc de la imagen de un grupo de
"piezas" <> de la Lnea de Control
la imagen de un grupo de "piezas" y salga checkfinished
Fin de
repeticin
responde "Lo has hecho!"
terminar checkfinished
Qu ha pasado?
El rompecabezas completo debera funcionar ahora. Algo que no es fcil adivinar por las
funciones tctiles que hemos aadido es el hecho de que trabaja con multi-touch. Puede
arrastrar en un mximo de 10 unidades a la vez (o lo que sea el lmite de multi-touch es para
su dispositivo), y cada uno va a mostrar
una sombra, y se animar a su sitio cuando dejarlos ir.
Tener un hroe go - una para los nios
Funciones que se relacionan con el mismo rompecabezas estn en la secuencia de comandos
de tarjeta. Trate de hacer una nueva tarjeta que tiene grandes piezas del rompecabezas y un
valor ms alto para snapdistance (Cuanto mayor sea el valor, ms fcil
que es conseguir una pieza en su lugar). Se podra hacer una tarjeta de apertura para la pila
que tiene un conjunto de botones de nivel de dificultad, uno de los cuales podra saltar al
puzzle ms fcil. Eso sera lo ideal para los jugadores ms jvenes.
Agregando algunos grficos de gua ayudar a los jugadores saber dnde estn los
bordes del rompecabezas terminado son, y para los niveles de dificultad ms
sencillos que incluso podra incluir los contornos de las piezas del rompecabezas
individuales.
Chapter 5
[ 163]
Resumen
Existen muchas otras posibilidades a la hora de hacer uso de imageData del; en
programas de pintura, aplicaciones de procesamiento de imgenes, y as sucesivamente.
Tratar con el imageData del es todava el mismo que en los ejemplos anteriores, en la
que se pasaron la siguiente:
Comprender el formato de imageData del, alphaData, y maskData
Copia de las reas de imageData del de una imagen a otra
Lectura de los pxeles individuales de una imagen, y encontrar nuevos usos para los que el
valor
Tambin vimos cmo utilizar interactividad multi-tctil para que esos trozos de
imageData del a la vida, en forma de un rompecabezas
Trabajar con grficos puede ser muy divertido, espero que esto ser slo el comienzo de lo que va a
crear. Sin embargo, en el siguiente captulo nos pondremos en contacto para hacer una aplicacin de
utilidad. (Sigh!)
6
Realizacin de una aplicacin
Reminder
Nota mental
...
Para listas de tareas, alarmas, recordatorios de cumpleaos, notas, listas de compras, y la lista
sigue. Debe haber una aplicacin para mantener una lista de aplicaciones diferentes que
mantienen las listas! En el momento de escribir esto, ya haba ms de 2.000 aplicaciones de iPad
que estn listas, los planificadores, o alarmas. Tal vez hay lugar para uno ms ...
Se necesitara una gran cantidad de investigacin y dinero para explorar todas las
aplicaciones recordatorios que estn ah fuera. La mayora de las aplicaciones tendr un
montn de caractersticas que nunca uso, y por lo menos una caracterstica vital que falta. Si
tienes suerte, alguna combinacin de aplicaciones puede hacer todas las cosas que quieres.
Pero no se olvide, mediante el uso de LiveCode, usted puede hacer su propia aplicacin
recordatorios!
En este captulo vamos a:
Hable de lo que se entiende por un "recordatorio"
Crear varias funciones de utilidad de medicin de tiempo
Definir una estructura de datos para almacenar informacin acerca de un evento
Hacer uso de dispositivos mviles "notificaciones"
Crear una aplicacin de recordatorios flexibles
Qu es un "recordatorio"?
Aqu est una lista de algunas cosas que podramos llamar un "recordatorio":
Lista de compras
Regalo de Navidad lista
Making a Reminder Application
[ 160]
Lista de tareas
Despertador
Egg Timer
Cumpleaos recordatorio
Ahora, hay una sola manera de describir todas esas cosas? Bueno, puede obtener
muchas palabras, sino un recordatorio podra ser descrito como:
Un mensaje de notificacin o el sonido, que aparece automticamente o muestra cuando se
mira por l, que se utiliza para hacerle saber que un cierto tiempo haya pasado, un
momento ha llegado, o que una tarea pendiente no se ha completado.
Vase, bastante prolijo. Descomponindola como que ayuda a ver lo que ofrece una
aplicacin de recordatorios tendr que tener. Antes de llegar a eso, vamos a probar la
definicin con los ejemplos de aqu
Lista de la compra: En este caso, usted va a buscar el recordatorio, aunque
podramos configurarlo para que muestre automticamente cuando su ubicacin pasa
a ser cerca de la tienda! Aparte de eso caso, este es efectivamente una tarea que no
se ha completado.
Regalo de Navidad lista: Casi lo mismo que una lista de compras, pero podra
utilizar un mensaje temporizado que le permiten saber hacer de unos das de
compras estn a la izquierda.
To-do list: De nuevo, es simplemente una lista de las tareas que no hayan finalizado.
Alarma: Esta es una notificacin de que un momento en el tiempo ha sido alcanzado.
Egg timer: Esta es una notificacin de que una cierta cantidad de tiempo ha
pasado, lo que podra ser utilizado en una secuencia de tales eventos que
podran ser utilizados en una aplicacin de cocina-buddy.
Cumpleaos recordatorio: Esta muestra si un determinado momento se ha
alcanzado. Realmente sin embargo, que desea establecer el aviso para que le
notifique antes del evento real.
Por lo menos, como punto de partida, podemos utilizar la definicin que nos gue como
podemos definir las capacidades de la aplicacin se necesita tener.
Cundo?
Las comunicaciones mviles que se pueden crear con LiveCode se enviar al segundo
ms cercano a cuando se pide que se enve. Extraamente, sin embargo, el valor se basa
en el nmero de segundos desde la medianoche el 1 de enero de 1970, en concreto en
una parte de Londres! Bueno, es el nombre de una zona de Londres, llamado
Greenwich.
Chapter 6
[ 161 ]
"Greenwich Mean Time", a menudo referido como "GMT", se ha utilizado como el
estndar para especificar el tiempo. Ahora es algo superado por UTC (Tiempo Universal
Coordinado), pero en cualquier caso, representa la hora actual exacta, al menos para los
pases que estn dentro de la misma zona horaria de Greenwich. El resto de nosotros
sumar o restar una cierta cantidad de tiempo o a partir de ese valor.
Con el fin de adaptarse al hecho de que la Tierra no gira alrededor del Sol en un
nmero exacto de das, o incluso un nmero exacto de das trimestre, los
calendarios son ajustados por
un da cada cuatro aos, aunque no en 100 aos las fronteras, salvo por cada 400 aos
(2000 fue un ao bisiesto, por ejemplo). Esos ajustes son an insuficientes para
mantener los relojes a tiempo! Los relojes estn fuera de tiempo por aproximadamente
0,6 segundos al ao, por lo que hay "segundos intercalares aadido a" compensar eso.
En teora, los segundos intercalares se podra utilizar para restar un segundo, pero hasta
ahora esto no ha sido necesario, sino que slo se han utilizado para agregar un segundo.
Nada de esto afecta el nmero de segundos transcurridos desde la medianoche
01/01/1970, pero s quiere decir que la conversin del segundo LiveCode en la fecha y hora
utilizando su propia aritmtica no le dar el tiempo correcto. Y sin embargo, todava se
utiliza como base para las notificaciones. Este valor se conoce normalmente como el
tiempo Unix.
No debera importar mucho si al final enviar a alguien un mensaje de feliz cumpleaos 25
segundos antes! Pero no te preocupes, la forma en que vamos a calcular el tiempo de
notificacin se har cargo de la rareza.
Fecha y hora recolectores
Como se mencion anteriormente, las notificaciones mviles utilizan el nmero de segundos
transcurridos desde la medianoche del
01/01/1970, y no agregan a los 25 o menos segundos intercalares que se han producido desde
entonces. Cundo
se presentan los selectores de fecha y hora para el usuario, las selecciones que realice el usuario
vendr
atrs como el tiempo real actual o futuro. Vamos a ajustar para eso despus.
Tiempo para la accin - la creacin de selectores de fecha y hora
Realizar una nueva pila de prueba-rig, que usaremos para probar algunas selectores de fecha y
hora.
1. Crear un nuevo Mainstack, que sea ReminderFunctions, y guardar la pila.
2. Agregue dos campos y dos botones.
Making a Reminder Application
[ 162 ]
3. Nombre un campo dateinseconds y el otro tiempoEnSegundos.
4. Nombre de los botones Elija la fecha y Elige Time.
5. Establecer el guin de la Elija la fecha botn a lo siguiente:
en mouseUp
mobilePickDate "fecha"
poner el resultado en
tDate tDate convertir a
segundos
tDate poner en el campo de mouseUp
fin "dateinseconds"
6. Ajuste el Elige Tiempo botn de secuencia de comandos para esto:
en mouseUp
mobilePickDate "tiempo"
poner el resultado en
TTIME TTIME convertir a
segundos
TTIME poner en el campo
"tiempoEnSegundos" mouseUp final
7. Ajuste de la configuracin de aplicacin independiente, de modo que usted puede probar
en iOS o Android.
8. Elija su destino de prueba (en este caso, se puede ver que iPhone Simulator fue
elegido como el destino), y hacer una prueba.
9. Haga clic en el botn de fecha Seleccin.
10. Seleccione 25 de diciembre 2012, y haga clic en Hecho.
11. El nmero de segundos desde la medianoche hasta la medianoche del 01/01/1970
el da de Navidad de 2012 se muestra en el primer campo que ha creado.
Chapter 6
[ 163]
12. Haga clic en el botn de la hora pico, y ajustar la hora a la 1 am. Esta imagen
muestra cmo el selector se ve diferente en iOS y Android (Kindle Fire en este
caso):
13. Haga clic en Hecho, y usted ver el nmero de segundos desde la medianoche hasta
01/01/1970
01 a.m. del da en que haga esta prueba se muestra en el campo de la derecha.
Making a Reminder Application
[ 164]
Qu ha pasado?
Acabamos de hacer dos scripts sencillos que llaman a la fecha o la hora natal recogedor, transforma
estos datos en segundos, para luego mostrar en un campo. Lo que es interesante observar es que para
el caso de horarios de pick no devuelve el nmero de segundos en el da de hoy, todo es de los
segundos desde la medianoche del 01/01/1970. Con el fin de establecer un tiempo de notificacin
para un momento particular de un determinado
fecha, tenemos que hacer un poco de aritmtica. Vamos a entrar en eso un poco ms
tarde, cuando hacemos la aplicacin real de recordatorio, en el. Haciendo la seccin
recordatorios aplicacin de este captulo
Pop-Quiz - AO (Siglas extrao!)
1.You puede haber notado que el acrnimo de "Tiempo Universal Coordinado" es hora
UTC y la CUT no. Por qu es eso?
a.CUT es muy comn una palabra
b. Para no molestar a los franceses
C. Los miembros del comit siglas eran dislxicos
Dnde?
Hay algo que podemos hacer en una aplicacin de recordatorios mvil que no volvera a
trabajar en una versin de lpiz y papel, podemos presentar la lista de recordatorios funcin
de dnde se encuentren en el momento que compruebe! Para hacer uso del lugar, lo que
necesita saber donde se encuentra ahora, y hasta qu punto esto es, del lugar asociado con
el recordatorio.
En el momento de escribir esto, no hay capacidad en LiveCode para tirar en un mapa para que usted
elegir lugares que no sean la que estn en estos momentos. Por lo tanto, vamos a trabajar dentro de
ese
limitacin, ya que no hay otra opcin!
La tcnica general al leer sensores de dispositivos mviles es para iniciar el seguimiento de
un sensor determinado, detectar cundo los cambios ocurren, y para interrumpir el
seguimiento del sensor. Se puede tomar una lectura del sensor en cualquier momento entre
el comienzo y parada de seguimiento. Tambin puede especificar el nivel de detalle de un
informe que desea, y si desea una lectura precisa. La precisin de localizacin GPS se dictan
si se utiliza o no. La ventaja de utilizar GPS es que se obtiene una mayor precisin
(asumiendo que hay una seal clara en ese momento), las desventajas son que
que consume ms energa de la batera y los dispositivos que no tienen GPS no podra
utilizar esa caracterstica. Cuando se utiliza la ubicacin como parte de un recordatorio,
estamos principalmente interesados en saber si usted est en casa o la oficina, o tal vez el
supermercado. As que vamos a utilizar la lectura menos precisos, como el GPS pueden ser
Chapter 6
[ 165]
excesivos.
Making a Reminder Application
[ 166]
Tiempo para la accin - probando el seguimiento
de localizacin nativa
Ms adelante vamos a aadir una caracterstica para permitir que el usuario de la
aplicacin para agregar a un conjunto de ubicaciones favoritas. Por el momento, slo
tendremos que probar las funciones bsicas. La ubicacin no est disponible en los
simuladores, usted tendr que probar esto en un dispositivo real.
1. Utilice la pila de prueba-rig desde arriba, y aadir un botn Ubicacin Get y un
ubicacin campo. Asegrese de que el ubicacin campo es tan ancha como
la ventana de la tarjeta, sino que se muestra tres nmeros largos.
2. Establecer la secuencia de comandos del botn a lo siguiente:
en mouseUp
mobileStartTrackingSensor "ubicacin", true
poner mobileSensorReading ("localizacin", false) en el campo
"Ubicacin"
mobileStopTrackingSensor
"ubicacin" final mouseUp
3. La verdadero en la segunda lnea es la que define a un "suelto" de valor, y
estamos diciendo que no necesitamos la precisin del GPS. La falso en la tercera
lnea est diciendo que
no necesitamos informacin detallada a devolver.
4. Vaya a Ajustes aplicacin independiente, elegir el dispositivo de destino: iOS o Android.
5. Para iOS, ajuste Display Name, ID App interna y Perfil. Elige tu dispositivo, la versin
del SDK, y si se trata de ser una aplicacin universal (ARMv6 es para los dispositivos
ms antiguos y ARMv7 es para los nuevos dispositivos. Para qu vale la pena,
Apple se han reducido el apoyo a ARMv6).
Chapter 6
[ 167 ]
6. Para Android, sistema de etiquetas, identificador y Mnimo versin de Android.
7. Adems, en la parte Permisos de Aplicacin de la configuracin de Android,
asegrese de que usted ha pedido permiso para obtener la ubicacin Grueso:
8. Seleccione Guardar aplicacin autnoma e instalar la aplicacin en su
dispositivo. Siga la descripcin en el Captulo 2, Primeros pasos con LiveCode
Mobile, si necesita un recordatorio de cmo hacer eso!
9. En la aplicacin, pruebe la fecha de recogida y Pick tiempo botones para ver cmo
criar a los controles nativos, a continuacin, pulse el botn Ubicacin Get. Tres
nmeros largos deben aparecer en el ubicacin campo:
Making a Reminder Application
[ 168]
Qu ha pasado?
Como usted puede ver, hay muy poco cdigo necesario para leer una ubicacin! Si se trataba
de una aplicacin de seguimiento, entonces usted necesita para mantener el seguimiento
abierto y tienen funciones para responder al cambio de mensajes de ubicacin. Pero, para
nuestra aplicacin, slo tenemos que saber dnde se encuentra en el momento de echar un
vistazo a la lista de recordatorios.
Los nmeros que se muestran en el campo de ubicacin son la latitud, longitud y altitud
de la posicin del dispositivo. Pero cmo vamos a usar esos nmeros ...
Clculo de la distancia entre dos puntos sobre la Tierra
El plan consiste en ser capaz de ordenar la lista de recordatorios en orden de distancia
desde donde ests ahora mismo. Digamos que usted realmente utilizar esta aplicacin
mucho y tener docenas de recordatorios. El recordatorio que ha creado en comprar un poco
de pan puede estar en la parte inferior de la lista, pero si ha asignado la ubicacin del
supermercado para ese recordatorio, a continuacin, ordenar la lista mientras usted est
fuera del supermercado deben traer los elementos de la lista de compras para el parte
superior.
Cuando nos enfrentamos a un problema como ste - cmo encontrar la distancia entre dos
puntos en la Tierra - Google es un buen punto de partida! Se necesita muy poco para
dorarching tiempo para encontrar esta pgina:
Chapter 6
[ 169]
http://www.movable-type.co.uk/scripts/latlong.html
Making a Reminder Application
[ 170]
El artculo se discute la frmula original para hacer este clculo, a continuacin, se muestra
una funcin Javascript. Si le resulta difcil convertir la ecuacin en manipuladores LiveCode,
entonces usted debera ser capaz de convertir el Javascript, lnea por lnea, en el
equivalente LiveCode.
No hay necesidad de escribir esto en apenas todava, vamos a integrar ms tarde. Pero
si usted quiere tener un juego, pon estas lneas en el guin de pila:
funcin distancia lat1, lon1, lat2,
6371 Lon2 poner en r
poner toRad ((lat2-lat1)) en
dLat poner toRad ((Lon2-lon1))
en dLon poner toRad (lat1) en
lat1
poner toRad (lat2) en
lat2
poner el pecado (dLat.2) * sin (dLat / 2) + sen (dLon /
2) * sin (dLon / 2) *
cos (lat1) * cos (lat2) en un
poner 2 * atan2 (sqrt (a), sqrt (1-
a)) en c, introduzca r * c a d
volver
distancia
final d
funcin de retorno
Pangle toRad
pAngle/180 * PI
final toRad
Pruebe esto en el cuadro de
mensaje:
poner distancia (40, -74,51,0)
Como se muestra, debera ver un valor de 5645,48065. Los dos lugares estn en algn lugar
Chapter 6
[ 171 ]
cerca de Nueva York y Londres, y ese valor sera la distancia en kilmetros entre los dos,
viajando a lo largo de la superficie de la Tierra.
Making a Reminder Application
[ 172 ]
Pop Quiz - Qu piso es mi apartamento?
1.Examine la captura de pantalla anterior (el programado a las 6:53 PM), y teniendo en
cuenta la idea de que el edificio en el que vivimos no es tanto sobre el nivel del
mar, lo que planta puedo vivir?
piso a.40th
b. 73 pisos por debajo de la
planta baja c.11th
d. Yo no tengo hogar
Qu?
Estamos en el buen camino para saber cmo configurar la hora y fecha de la notificacin de
recordatorio a ocurrir, y ser capaz de ordenar los recuerdos basados en la distancia de donde nos
encontramos. Pero, qu es la informacin exacta que necesitamos tener en el propio recuerdo?
Si esto fuera una aplicacin de recordatorio de cumpleaos, entonces usted tendra que
preguntar por el nombre de la persona y la fecha de su cumpleaos. Si se tratara de una
aplicacin de lista de la compra, entonces se necesita el nombre del tema y tal vez una
cantidad. Para un contador de tiempo, usted tendra que hacer lo que el evento fue llamado
y un tiempo para el evento.
Aqu, sin embargo, estamos tratando de hacer una aplicacin de recordatorio completamente
flexible, sino que sera hasta
para el usuario para describir el artculo a su gusto. As que slo voy a pedir un ttulo y una breve
Descripcin. Tambin tendr que ofrecer la opcin de establecer una fecha, una hora, un
asociado
ubicacin, y si un sonido de alerta se debe jugar o no.
Otra cosa a considerar es donde vamos a almacenar la informacin de la lista de
recordatorios? Al hacer la aplicacin WebScraper, se opt por duplicar la pila principal de la
aplicacin en el documentos carpeta, y para saltar entonces en esa copia de la pila. Esto
permiti la posibilidad de guardar los cambios a la pila. La aplicacin de recordatorios es un caso
sencillo; slo estamos tratando de almacenar unas cuantas cadenas de texto para definir cada
recordatorio, y que sera ms sencillo que escribir un archivo de texto.
Queremos permitir al usuario hacer una lista de lugares, de modo que un recordatorio puede ser
asociado con esa ubicacin. En lugar de escribir un archivo de texto diferente, vamos a hacer la
primera pieza de informacin en cada entradade la funcin de esa entrada. En estos momentos, las
nicas dos funciones sonubicacin y recordatorio. He aqu un ejemplo de lo que el
archivo de texto podra ser:
Ubicacin Home40.692636 -73,978376
Chapter 6
[ 173]
Ubicacin Oficina 40.745194 -73,985199
Recordator
io
Packt Pida ms tiempo! 1334548800 Casa falso
ReminderBossBuy lunch1334592000Office verdadero
Making a Reminder Application
[ 174]
Entre cada elemento en una lnea es un carcter de tabulacin, que se utiliza para separar
las partes de la entrada. La estructura para una ubicacin es como sigue:
Funcin - "Location"
Lugar de ttulo
Latitud
Longitud
Para recordar, es el siguiente:
Funcin - "Recordatorio"
Ttulo
Breve descripcin
Notificacin tiempo, en segundos desde la medianoche 01/01/1970
A Ubicacin asociado con este recordatorio
Ya sea para jugar un sonido de alerta ("true" o "false")
Haciendo la aplicacin recordatorios
Ok, base suficiente! Vamos a empezar a hacer que la aplicacin recordatorios. En lugar de
agregar una caracterstica a la vez junto con las secuencias de comandos, vamos a hacer las
diferentes tarjetas que sern necesarios para crear
Interfaz de la aplicacin de usuario grfica (GUI) primero, y despus volver atrs y aadir los
scripts.
Colocacin de las tarjetas
Vamos a hacer la primera carta de la pila de ser un lugar donde se pueden ver los avisos actuales,
ordenarlos por hora o el lugar, y aadir nuevos recordatorios y lugares. Entonces, vamos a hacer una
segunda tarjeta para entrar en los detalles de la ubicacin, y una tercera tarjeta para entrar en los
detalles de un nuevo recordatorio.
Tiempo de accin - la creacin de las pantallas de aplicaciones de
recordatorio
Los pasos que se muestran aqu se van a utilizar los campos LiveCode estndar y los
botones, pero no dude en hacer su versin ms atractivo!
1. Crear un nuevo Mainstack, darle un nombre de EasyReminder, y seleccione
Guardar. Otras opciones, como Recordatorios sencillos puede ser ms
Chapter 6
[ 175]
descriptivo, pero sera un nombre demasiado largo si usted est usando un
iPhone.
Chapter 6
[ 171 ]
2. Ajuste el tamao de la tarjeta con el tamao de su dispositivo. Las pantallas que
se muestran a continuacin se basan en una pila de tamao iPhone.
3. Ir a Ajustes aplicacin independiente, y establecer los valores de la misma manera
que lo hicimos durante las pruebas de la funcin de localizacin.
4. Establezca el nombre de la primera carta que se casa.
5. Crea una Ordenar por Tiempo , una tecla Ordenar por Ubicacin
botn, un campo denominado recordatorios, otro campo denominado
datos, y dos botones denominados Crear Recordatorio ... y Crear
ubicacin ....
6. Agregar un botn ms, de nombre Eliminar ubicacin o Recordatorio.
7. Asegrese de que ambos campos tienen su cuadro de texto Lock activada y No envuelva
marcada.
8. Usted debe tener algo similar a lo siguiente:
Making a Reminder Application
[ 172 ]
9. Hacer una nueva tarjeta y asgnele el nombre ubicacin.
10. Agregar un campo y establezca sus contenidos para decir: Introduzca la
latitud y longitud de esta localidad.
11. Agregue dos campos de entrada con nombre latitud y longitud.
12. Cree un botn llamado Ajuste a la ubicacin actual.
Evite errores tipogrficos
Aunque hemos puesto un campo para que escriba en la ubicacin a mano,
utilice el botn Set para ubicacin actual, si es posible, o al menos el uso
que en su ubicacin actual para ver el formato que se requiere.
13. Aadir otro campo de instrucciones que dice: Escriba un nombre para esta
ubicacin:.
14. Agregar un campo de entrada en tercer lugar, el nombre localizacin nombre.
15. Por ltimo, aadir un botn denominado Aadir ubicacin y uno llamado
Cancelar.
16. Para obtener esta tarjeta, los tres campos tienen su cuadro de texto de bloqueo para estar
desmarcado.
17. La tarjeta debe ser similar a la siguiente:
Chapter 6
[ 173]
18. Haga una tercera carta y el nombre de recordatorio.
19. Agregue dos campos de instruccin que dicen: Escriba un ttulo para este
recordatorio: y
Introduzca una breve descripcin:.
20. Cree dos campos de entrada con nombre ttulo y Descripcin.
21. Cree tres botones denominados Establecer ubicacin Conexas Configuracin
de la fecha, y Establecer hora.
22. Aadir tres campos prximos a los botones, los cuales se utilizarn para mostrar al
usuario que la seleccin se hizo tuvo lugar. Nombre de los campos ubicacin
del campo, Fecha de campo, y tiempo en el campo.
23. Cree un botn llamado casilla de verificacin Reproducir sonido de alerta.
24. Por ltimo, cree dos botones ms nombrados Agregar aviso y Cancelar.
25. Organizar todos estos elementos para aparecer como sigue:
Making a Reminder Application
[ 174]
Qu ha pasado?
Hemos hecho todas las pantallas necesarias para que la aplicacin funcione. Esa fue la parte fcil.
Espera a ver la cantidad de mecanografa le vamos a hacer!
Pila de secuencias de comandos de nivel
Hay un poco de cdigo por delante. Describiendo lo tienen por caracterstica implicara
saltar por todo el lugar, aadiendo a los guiones existentes en algunos casos, por lo que
sera fcil perderse. As que en lugar de hacerlo de esa manera vamos a ver el cdigo de
cada tarjeta a la vez, y tambin a los controladores que entran en el guin de pila. Se
muestra aqu en "La hora de la accin" pedazos, sobre todo para darle un descanso de vez
en cuando! As que sin ms prembulos, el guin Stack ...
Tiempo para la accin - la adicin de funciones de nivel de pila
Para esta aplicacin, vamos a poner un poco de la lgica de los botones en las propias tarjetas,
pero todava deja una buena cantidad que entra en el guin de pila. Para que sea menos
abrumador, mostraremos una o dos funciones a la vez seguido de una explicacin acerca de
cualquier
puntos interesantes.
1. Abra el script de pila.
2. Escriba los controladores siguientes:
en OpenStack
si la plataforma es "iphone" iPhoneSetKeyboardReturnKey entonces
"Done"
ReadData
showData
final OpenStack
en el enfoque
returnInField en
nada
final returnInField
Android OS teclados generalmente tienen un botn dedicado a poner el
control del teclado. Sin embargo, ese no es el caso en iOS; el botn que se
encuentra en la Volver clave debera ser posible que tenga lugar una palabra
especial, tales como
Enviar, o Hecho. Lamentablemente, en la introduccin de texto en los campos que son
capaces
tener un carcter de retorno. Para resolver este problema, establezca la Volver
botn Hecho decir, lo que llevar al usuario a esperar el teclado para que
Chapter 6
[ 175]
desaparece cuando se presiona el botn. Tambin atrapar el
returnInField mensaje, y usar eso como una manera de poner
realmente el control del teclado.
Making a Reminder Application
[ 176]
3. A continuacin, escriba las funciones que va a leer y escribir la lista de recordatorios
como un archivo de texto en el documentos carpeta en su dispositivo:
en WriteData
mundial gReminderData
poner specialFolderPath ("documentos") & "/ reminders.txt"
en tRemindersPath
gReminderData si est vaca, entonces escriba "hay
entradas" en gReminderData
tRemindersPath archivo abierto
escribir gReminderData presentar
tRemindersPath tRemindersPath cerrar el
archivo
clearnotifiers
setupnotifiers
final WriteData
en ReadData
mundial gReminderData
poner specialFolderPath ("documentos") & "/ reminders.txt"
en tRemindersPath
si hay un archivo tRemindersPath a
continuacin, abra el archivo
tRemindersPath
leer tRemindersPath archivo hasta
cerrar el archivo eof tRemindersPath
lo puso en otro
gReminderData
tRemindersPath archivo abierto
escriba "hay entradas" para presentar
tRemindersPath tRemindersPath cerrar el
archivo
poner "hay entradas" en el extremo
gReminderData si
final ReadData
Estas dos funciones estn usando la habilidad sencilla que LiveCode tiene
que leer y escribir archivos de texto. Observe que aunque
specialFolderPath
se est utilizando para ayudar a calcular dnde el archivo se guardar.
Funciona incluso cuando las pruebas en las mquinas de escritorio. El
diccionario LiveCode muestra una lista completa de las rutas de las carpetas
especiales, incluyendo muchos que no se aplican a aplicaciones mviles.
4. La showData funcin bien podra haber sido puesto en el Casa tarjeta Tarjeta
Chapter 6
[ 177 ]
guin, pero tenerlo en el Apilar nivel se mantiene cerca de otras funciones que
se relacionan. Escriba en este momento.
en showData
mundial gReminderData
Making a Reminder Application
[ 178]
tarjeta ir "a casa"
puesto vaco en el terreno "recordatorios"
poner en gReminderData campo "datos"
si gReminderData = "hay entradas" y
luego salir showData
End If
establecer el itemdelimiter
a poner una ficha en
tLineNumber
repetir con a = 1 para el nmero de lneas en
gReminderData poner una lnea de gReminderData en
Tentry
si el artculo 1 de Tentry =
"Recordatorio" y luego poner el
punto 2 del Tentry en TTITLE
poner el tema 3 de Tentry en tDescription
poner el tema 4 de Tentry en tNotificationTime
convertir tNotificationTime de segundos a tiempo
abreviado y fecha larga
poner el tema 5 del Tentry en tLocationName
poner TTITLE & ":" && && tDescription && tNotificationTime
tLocationName en tLineNumber lnea de campo
"recordatorios" para aadir un tLineNumber
End If
final de
la
repeticin
final
showData
Si recuerdan el archivo de texto de ejemplo de antes, la showData
funcin est teniendo cada lnea y la divisin de los elementos TAB
delimitado en trozos de informacin para presentar al usuario. Un truco
lindo es que el tiempo de notificacin, que es un nmero largo de
segundos, se convierte en un formato legible por humanos, que muestra
tanto la fecha y hora de la notificacin. La datos campo se utiliza para
mostrar los datos en bruto que se ha grabado. En la aplicacin final que
no se repite el mensaje, pero es til para comprobar si la informacin es
correcta recordatorio.
5. Las ltimas funciones en la Apilar script son para configurar las notificaciones de s
mismos.
en mobileCancelAllLocalNotifications
clearnotifiers
clearnotifiers finales
Chapter 6
[ 179]
en setupnotifiers
mundial gReminderData
si gReminderData = "hay entradas" y luego salir
setupnotifiers establecer el itemdelimiter a la pestaa
repetir con a = 1 para el nmero de lneas en
gReminderData poner una lnea de gReminderData en
tEntryDetails
Making a Reminder Application
[ 180]
si el artculo 1 de tEntryDetails = "Recordatorio", entonces
poner punto 2 del && tEntryDetails "-" elemento
&& 3 de tEntryDetails en alertBody
poner en "Aceptar" en
alertButtonMessage
poner en tEntryDetails alertPayload
poner el tema 4 de tEntryDetails en
alertTime poner el tema 6 de tEntryDetails
en mobileCreateLocalNotification
reproducirSonido alertBody,
alertButtonMessage, alertPayload, alertTime, reproducirSonido
End If
final de
la
repeticin
setupnotifiers finales
en pMsg localNotificationReceived
responder "Notificacin Local:" el
fin && pMsg localNotificationReceived
Muchas aplicaciones mviles que utilizan notificaciones no siempre
borrarlos. En general, a lo mejor no tiene que ser limpiado, una vez que
pasan se han ido para siempre! Bueno, no siempre. A veces, usted ir a
una aplicacin justo por delante de
cuando una notificacin de que va a pasar, y hacer la tarea, para luego ser
molestado con notificaciones acerca de algo que ya hizo! En nuestra
aplicacin,
que borrar todas las notificaciones que fueron vencidos y volver a crear la
lista completa de nuevo. De este modo, cualquier notificacin que haya
eliminado no volver en tu contra despus. Para ayudar en la depuracin,
alertPayload se completa con la entrada recordatorio entero, y se
mostrar a usted cuando entra en juego la notificacin
Qu ha pasado?
Adems de conseguir tus dedos bien caliente, que ha introducido todas las
funciones para leer y escribir los datos del recordatorio, y para la creacin y la
recepcin de los mensajes de notificacin.
Scripts de inicio de tarjetas
No vamos a poner las secuencias de comandos en el nivel de la tarjeta, sino que slo puede
estar dentro de los distintos botones, empezando por los de la primera tarjeta.
Chapter 6
[ 181 ]
Tiempo para la accin - lo que los botones de la tarjeta de trabajo a
domicilio
El guin Ordenar por botn de ubicacin no es poco. Usted debe mirar hacia adelante a
eso! Pero primero, vamos a empezar con el botn Ordenar por Hora.
1. Edite el script del botn Ordenar por Time, en la primera carta.
2. Escriba en este controlador de resumen:
en mouseUp
mundial gReminderData
establecer el itemdelimiter a la pestaa
tipo numrico gReminderData por el tema 4 de
cada showData
WriteData
final mouseUp
LiveCode comando de clase es de gran alcance, y en el caso anterior,
se ordenar la lista de recordatorios basado en el valor de
notificacin segundos. Una vez que las lneas estn ordenados, la
lista para que el usuario ve es recreado,
y el archivo de texto se reescribe.
3. Cmo prepararse mentalmente y luego editar el script del botn Ordenar por Ubicacin.
4. Escriba en todo esto:
en mouseUp
mundial gReminderData
mobileStartTrackingSensor "ubicacin",
true
poner mobileSensorReading ("localizacin", false) en
tLocation mobileStopTrackingSensor "ubicacin"
establecer el itemdelimiter a coma
poner el tema 1 de tLocation en
TLAT poner punto 2 del tLocation
en tlong establecer el
itemdelimiter a la pestaa
tipo numrico gReminderData por GetDistance (TLAT, tlong,
punto 5 de cada uno)
showData
WriteData
final mouseUp
Making a Reminder Application
[ 182 ]
funcin GetDistance Plat, submarinismo natacin, pLocName
si pLocName est vaca luego regresar
1000000 gReminderData mundial
puesto vaco en TLAT
Chapter 6
[ 183]
puesto vaco en
tlong
repetir con a = 1 para el nmero de lneas en
gReminderData si el artculo 1 de tEntryDetails =
"Ubicacin", entonces
si el artculo 2 de tEntryDetails pLocName
= a continuacin, poner el tema 3 de
tEntryDetails en TLAT poner el tema 4
de tEntryDetails en tlong
End If
End If
Fin de
repeticin
TLAT si est vaca, entonces volver
1000000000 distancia retorno (TLAT,
tlong, Plat, Plong)
final GetDistance
funcin distancia lat1, lon1, lat2,
6371 Lon2 poner en r
poner toRad ((lat2-lat1)) en
dLat poner toRad ((Lon2-lon1))
en dLon poner toRad (lat1) en
lat1
poner toRad (lat2) en
lat2
poner el pecado (dLat / 2) * sin (dLat / 2) + sen (dLon /
2) * sin (dLon / 2) *
cos (lat1) * cos (lat2) en un
poner 2 * atan2 (sqrt (a), sqrt (1-
a)) en c, introduzca r * c a d
volver
distancia
final d
funcin de retorno
Pangle toRad
pAngle/180 * PI
final toRad
La primera parte de la mouseUp controlador es slo conseguir la ubicacin actual.
La distancia y toRad las funciones son las mismas que vimos antes.
La magia sucede en la forma en que la lnea de clasificacin utiliza una funcin para
determinar
el orden de clasificacin. Con la aprobacin de la ubicacin que se asocia con cada
recordatorio
Making a Reminder Application
[ 184]
en la GetDistance funcin, es posible ejecutar a travs de la lista de
lugares para encontrar una coincidencia, y luego usar esa ubicacin latitud y
longitud
para medir la distancia desde su ubicacin actual. Esa distancia es entonces
utilizado por el comando de clase para decidir el orden de las lneas.
5. Para relajarse un momento de editar el recordatorio ... Crear script de botn, y la
puso a lo siguiente:
en mouseUp
Ir a la ficha mouseUp
"recordatorio" end
Chapter 6
[ 185]
6. Del mismo modo, ajuste la opcin "Crear Location ..." script botn para esto:
en mouseUp
Ir a la ficha mouseUp
"ubicacin" final
7. ltima guin para esta tarjeta, edite la ubicacin Eliminar o script botn
Reminder, y escriba lo siguiente:
en mouseUp
mundial gReminderData
mobilePick gReminderData, 1, "marca", "cancelDone",
"recogedor" poner el resultado en tItemsToDelete
si tItemsToDelete = "0" y luego salir
mouseUp establecer el itemdelimiter de
coma
repetir con a = el nmero de elementos en tItemsToDelete hasta
1 lnea delete (punto A de tItemsToDelete) de gReminderData
Fin de repeticin
gReminderData si est vaca, entonces escriba "hay
entradas" en gReminderData
showData
WriteData
final mouseUp
La borrar controlador utiliza mobilePick con un conjunto
particular de parmetros. Un parmetro interesante es marca de
verificacin. El pedir ese tipo de selector se mostrar una lista
con casillas de verificacin que cuando est en el iPad o Android. Esto
permitir elegir varias entradas a borrar
de una sola vez. Por lo tanto repetir el bucle que recorre tantos
artculos como usted eligi.
Qu ha pasado?
Si todo va bien, se ha recuperado por ahora, despus de tratar de entender el tipo de
funcin de localizacin! Usted puede ver por lo menos lo difcil del guin Stack habra sido
si todo este cdigo se haba colocado en esa ubicacin. Vamos a pasar a la siguiente carta
...
Creacin de una ubicacin de la tarjeta
El siguiente paso es la tarjeta que vamos a mostrar cuando el usuario toca la Creacin ...
Localizacin botn en la primera carta.
Making a Reminder Application
[ 186]
Tiempo de accin - haciendo el trabajo de la tarjeta ubicacin
La tarjeta tiene tres campos Vivo en el mismo, para la latitud, longitud, y un ttulo para la
ubicacin. El usuario tambin puede escribir en los detalles de forma manual, pero si llegan
a estar en el lugar en cuestin hay un botn hay que agarrar la ubicacin y rellenar los
nmeros de forma automtica.
1. Edite el script del botn Set para ubicacin actual, y escriba las siguientes lneas:
en mouseUp
mobileStartTrackingSensor "ubicacin", true
poner mobileSensorReading ("localizacin", false) en
tLocation mobileStopTrackingSensor "ubicacin"
establecer el itemdelimiter a coma
si el nmero de elementos en tLocation = 3 entonces
poner el tema 1 de tLocation en el campo
"latitud" poner punto 2 del tLocation en el
campo "longitud"
End If
End mouseUp
2. Nada demasiado complicado all, la ubicacin se agarr y la latitud y longitud
entradas se almacenan en los dos campos.
3. Edite el script del botn Cancel, y el cambio a este script sencillo:
en mouseUp
Ir a la ficha
mouseUp "hogar" end
4. ltimo artculo de esta tarjeta; editar el script Ubicacin botn Agregar y escriba lo
siguiente:
en mouseUp
mundial gReminderData
si el campo "Nombre de ubicacin" est vaco,
responde "Por favor, introduzca un nombre para
esta ubicacin." salir mouseUp
End If
si el campo "latitud" est vaco o campo "longitud" est vaco,
responda con "Por favor, introduzca los valores de
localizacin, o pulse el botn SET 'para
Ubicacin actual "botn".
salida final
mouseUp si
poner "Location" y ficha y campo "Nombre de ubicacin" & tab y
campo
Chapter 6
[ 187 ]
"Latitud" y ficha y campo "longitud" en tLocationDetails
si gReminderData = "hay entradas" y luego
poner en tLocationDetails gReminderData
ms
Making a Reminder Application
[ 188]
poner retorno y tLocationDetails despus del
final gReminderData si
Ir a la ficha
"casa" showData
WriteData
mouseUp
final
5. La mayor parte de ese controlador es simplemente verificar que el
usuario haya introducido la informacin requerida.
Qu ha pasado?
Mucho menos que ocurri en la primera tarjeta! Pero era igualmente importante. Ahora
tenemos una manera para que el usuario pueda configurar una ubicacin para ser utilizado
por los recuerdos que han creado. Y ah es donde nos dirigimos ahora ...
Recordatorio formulario de inscripcin
Esta ltima carta es esencialmente un formulario de inscripcin, slo queremos preguntarle al
usuario cul es el recordatorio
es para. Hay algunos aspectos difciles a l sin embargo, y una o dos funciones extensas para
hacer frente
con eso.
Tiempo de accin - teniendo en informacin sobre el recordatorio
La tarjeta de recordatorio hace un buen uso de los recolectores. Hay poca escribiendo para que el
usuario lo hace,
y porque van a recoger una entrada de una lista que se presenta, hay una buena probabilidad de
la
informacin no tendr ninguna errata en l!
1. Edite el script del botn Set relacionada con la localizacin y el tipo de las
siguientes:
en mouseUp
mundial gReminderData
puesto vaco en tLocations
establecer el itemdelimiter
a poner una ficha en
tLineNumber
repetir con a = 1 para el nmero de lneas en
gReminderData si el artculo 1 de la lnea de un
gReminderData = "Ubicacin", entonces
Chapter 6
[ 189]
poner punto 2 a 4 de la lnea de gReminderData en
tLineNumber lnea de tLocations
Aadir 1 al final si
tLineNumber
Fin de repeticin
tLocations si est vaco,
responde "Usted necesita agregar una ubicacin."
Making a Reminder Application
[ 190]
ms
mobilePick tLocations, 1
poner el resultado en
tChosenLocation si tChosenLocation>
0 entonces
poner el punto 1 de la lnea de tChosenLocation
tLocations en "campo de ubicacin" campo
End If
End If
final
mouseUp
Hemos creado la primera palabra de cada lnea en los datos de recordatorios a cualquiera
Ubicacin o Recordatorio. Aqu hay un lugar donde
se hace uso de ello. Una vez que saque las lneas que son
Ubicacin, presentarlos dentro de un selector es fcil de
hacer.
2. Edite el script del botn Establecer fecha, y el cambio a este fcil de entender script:
en mouseUp
mobilePickDate "fecha"
poner el resultado en
tDate tDate convertir a
segundos
tDate poner en el campo de
mouseUp "campo de fecha de" fin
3. Establecer la secuencia de comandos del botn Establecer hora para este script casi
idntico:
en mouseUp
mobilePickDate "tiempo"
poner el resultado en
TTIME TTIME convertir a
segundos
TTIME poner en el campo de
mouseUp "campo de tiempo" final
4. El guin del botn Cancelar es el mismo ya que est en la tarjeta de Ubicacin:
en mouseUp
Ir a la ficha
mouseUp "hogar" end
5. Por ltimo, y lejos de ser menos, el guin Recordatorio botn Agregar hace todo el
Chapter 6
[ 191 ]
trabajo duro.
en mouseUp
mundial gReminderData
si el campo "ttulo" est vaco o el campo "descripcin" est
vaco, responda con "Por favor, introduzca un ttulo y una
descripcin."
salir mouseUp
Making a Reminder Application
[ 192 ]
End If
poner "false" en tDoAlert
si el hilite de botn "Play Sound Alert" y luego poner "true"
en tDoAlert
poner de campo "campo de fecha" en
tDateValue poner campo "campo de hora"
en tTimeValue
convertir tTimeValue de segundos a corto
plazo convertir a segundos tTimeValue
poner de campo "campo de tiempo" - tTimeValue en
tTimeValue add tTimeValue a tDateValue
poner "Recordatorio" y ficha y campo "ttulo" y ficha y campo
"Descripcin" en tReminderDetails
poner tReminderDetails & Tab y tDateValue & ficha y campo
"campo de ubicacin" y en la ficha tReminderDetails
poner tReminderDetails & Tab y tDoAlert en tReminderDetails
si gReminderData = "hay entradas" y luego
poner en tReminderDetails gReminderData
ms
poner retorno y tReminderDetails despus del
final gReminderData si
Ir a la ficha
"casa" showData
WriteData
final mouseUp
La mayor parte de la secuencia de comandos es simplemente la
combinacin de los diferentes bits de informacin junto a la entrada un
recordatorio, la delimitacin de las zonas con un carcter de tabulacin.
Pero hay un poco de aritmtica lindo pasando ah tambin. Al comienzo de este
captulo, nos fijamos en cmo se diferencia de tiempo Unix tiempo real a una
velocidad de 0,6 segundos por ao. Si desea programar una notificacin a las 8
am en cinco aos a partir de ahora, entonces usted no puede tomar el valor
que el botn Set Time le dio, ya que se refiere a la actual 8 am. No se puede
tomar el valor que le dio Establecer fecha, porque eso sera medianoche. Por lo
tanto, al convertir el valor de tiempo en formato de fecha corta, y luego de
vuelta a formato segundo, averiguar lo que el tiempo Unix fue en la
medianoche del da actual. Restando que a partir del valor que le dio Set Time
le permite conocer el nmero de segundos transcurridos desde la medianoche,
sin importar cuntos segundos detrs del tiempo Unix es. Adicin de ese valor a
la de Set Date nos dar una exacta segundo Unix para notificar que se
produzca. En iOS, hay un tipo de selector que le permite ajustar la fecha y la
hora juntos, pero como que no est en Android, hemos utilizado una forma que
funcione para ambos.
Chapter 6
[ 193]
Qu ha pasado?
Uf! Llegamos a la final! Intente ejecutar la aplicacin en su dispositivo. Si tus dedos no son
demasiado entumecido que es! Honestamente, usted puede apostar una fortuna que no
funciona la primera vez, pero si funciona lo suficientemente bien como para mostrar el texto
sin formato en el campo de datos en la primera tarjeta, es de esperar que ser capaz de
localizar cualquier error en la cdigo. Tambin puede escribir algunos datos de prueba
dentro de la pila en el equipo y por lo menos probar las funciones que no requieren
caractersticas especficas del dispositivo.
Tener un hroe go - transiciones agradables
En realidad, si se las arregl para pasar por entrar todo ese cdigo hasta el punto en que la
aplicacin est funcionando, ya eres un hroe! Sin embargo, lea la seccin en el iOS y Android
notas de la versin para LiveCode acerca de la compatibilidad de efectos visuales. A ver si puedes
conseguir algunas transiciones tpicas sistema operativo mvil que ocurren a medida que avanza
hacia y desde las diferentes tarjetas. Si decide utilizar MobGUI como una manera de hacer que la
aplicacin vea ms bonita, entonces eche un vistazo en sus scripts por defecto del botn, hay
comentada lneas que pueden ayudarle a empezar con la realizacin de transiciones agradables.
Resumen
Este captulo fue mucho ms emocionante de lo esperado! Una aplicacin de recordatorios
no es absolutamente tan impresionante como Angry Birds, pero, haciendo uso de las
caractersticas de ubicacin de un dispositivo mvil hecho novela un poco ms. A lo largo
de la manera en que incursion con estas cosas:
Lectura y escritura de datos en el especial documentos carpeta
El uso de selectores para las listas de sencillos, fechas y hora
Lectura de la ubicacin actual del dispositivo
Creacin de eventos de notificacin locales
En el mejor de los casos, usted puede llegar a hacer una aplicacin mvil en unas pocas
horas o das, pero no hay mucho que pasa antes de poder enviar la aplicacin a las tiendas
de aplicaciones diversas. Suena como un buen tema para el prximo captulo!
Making a Reminder Application
[ 194]
7
Implementar en su dispositivo
No deje todo para ti!
Herramientas como LiveCode se puede utilizar exclusivamente para aplicaciones de productividad
personal, y sera ms que pagar por s mismos en el tiempo que le ahorrar todos los das. Pero, por
qu no dejar que el resto del mundo se benefician de sus creaciones!
Hasta ahora, hemos creado varias pequeas aplicaciones de perforacin de prueba, y unos
cuantos ms seres concretarse. En todos los casos, sin embargo, slo hemos probado estos
simuladores en el interior o en el dispositivo personal. Ha llegado el momento de sacarlo a
ms personas, para las pruebas beta en un primer momento, y luego para subir a las tiendas
de aplicaciones diferentes.
En este captulo se incluirn los siguientes puntos:
Examine todos los ajustes independientes de aplicaciones opciones
relacionadas con la creacin de aplicaciones mviles
Crear compilaciones de una aplicacin de modo que pueda ser enviado a los probadores
beta
Construir una versin final de distribucin de una aplicacin
Revise cmo cargar aplicaciones para iOS App Store, AppStore Amazon
y Google Play
Hay algunas etapas en la creacin de aplicaciones para iOS para la App
Store que tiene que llevarse a cabo en un Mac, y as todos los pasos
descritos aqu para iOS se deben seguir usando un Mac. Los pasos de
Android pueden aplicar para Mac o Windows. Tenga en cuenta tambin
que este captulo es ms de una referencia, y no un tutorial prctico.
Cuando usted tiene una aplicacin que se est preparando para completar
y enviar a las tiendas de aplicaciones, y te encuentras con un punto de
friccin, esperemos que recuerdo haber ledo sobre el tema en algn lugar
de este captulo!
Deploying to Your Device
[ 188]
Configuracin de aplicaciones independientes
Ya ha estado en la configuracin de un par de veces ya, pero slo hemos hecho el nmero mnimo de cambios
necesarios con el fin de probar la aplicacin. Hay un montn de opciones en all que usted tendr que llenar
antes de su aplicacin est lista para ser vendida en una tienda de aplicaciones. Realizaremos una breve repasar
las secciones de aplicacin independientes de, y luego entrar en ms profundidad con el Android y iOS
secciones.
General
La seccin general de los ajustes independientes se usa principalmente para controlar qu
caractersticas de LiveCode se van a incluir en una aplicacin independiente de escritorio.
Esas opciones no se aplican a las aplicaciones mviles, pero est en la seccin general que
establezca el nombre
del expediente de solicitud, as como la carpeta de compilacin (los temas de inters se
encuentran en la parte superior e inferior del cuadro de dilogo):
Chapter 7
[ 189]
Stacks
La seccin de Stacks le mostrar una lista de las pilas que ya estn incluidas en su proyecto.
Eso, por supuesto, incluyen el Mainstack actual, y tambin incluir las pilas que han sido
agregadas por los plugins como MobGui. Todas las opciones se atenuarn.
Copiar archivos
En la seccin Copia de archivos se utiliza para agregar los archivos y carpetas adicionales
para ser utilizados por la aplicacin. Estos van a ser archivos de slo lectura, si usted
necesita los archivos modificables an se poda incluir esos archivos aqu, y luego escribir las
copias de los archivos en la carpeta de documentos especial. As es como se ve el cuadro de
dilogo con las carpetas de imgenes y sonidos aadidos:
iOS
El Mac, Windows, Linux, Web, y las secciones de los informes de error no se utilizan al realizar iOS
y aplicaciones de Android, as que ahora vamos a echar un buen vistazo a la seccin de iOS, poco a
poco ...
Deploying to Your Device
[ 190]
Construir para
La construccin para la configuracin de dispositivos iOS determinar que la aplicacin va a
trabajar, y lo que la versin mnima de iOS tiene que ser. Al decidir qu elegir, hay cosas
que son obvias y otras no son tan obvias. Si usted est haciendo una aplicacin que
realmente necesita una gran rea de espacio de trabajo, entonces no puede ser muy
exitoso en un iPod o en la pantalla del iPhone. Si se trata de una pequea utilidad que est
orientada a su uso en un dispositivo porttil, tal vez usted no necesita tener una versin
para iPad. Usted es capaz de elegir el iPod, iPhone y iPad, o simplemente para iPod y
iPhone, y aunque slo sea iPad.
La versin mnima de iOS que usted elija puede depender de las particularidades que ha
utilizado. Usted no desea que los usuarios podrn comprar su aplicacin slo para encontrar
que una cierta caracterstica no funciona correctamente en su versin anterior iOS. Puede
que tenga que mantener algunos dispositivos, configurados para utilizar versiones antiguas
del sistema operativo, para probar as que usted puede estar seguro de que su configuracin
es correcta. Adems, Xcode te permite descargar varias versiones del simulador, y en
LiveCode puede elegir una versin especfica para realizar la comprobacin.
La ltima seleccin es el procesador utilizado en el dispositivo. Sus opciones son v6
Universal, brazo, y el brazo v7. Estos se refieren a conjuntos de instrucciones utilizado en los
procesadores mviles. En iOS, las cosas son ms sencillas que en Android, ya que los
procesadores se denominan ARMv6 o ARMv7. Con Android, hay muchos ms tipos de
procesadores, y puede tomar un poco de investigacin para averiguar qu conjunto de
instrucciones se utiliza para un procesador determinado.
Manzana mismos han abandonado el soporte para ARMv6. versin iOS 4.3 y posterior
requiere ARMv7. Los dispositivos que son ARMv7 son los iPhones desde el 3GS y el iPod
Touch desde la 3 generacin, a excepcin de la versin de 8GB de la 3 generacin, que
an estaba ARMv6. Usted puede tener una aplicacin que funciona bien incluso en el iPhone
original, pero si usted tiene alguna duda acerca de cmo se va a realizar, eligiendo Arm v7
puede ser una buena idea. Tambin puede elegir
un mnimo iOS 4.3 o versin posterior, o incluso 5.0 o posterior. Algunas de las
caractersticas del navegador web funciona mejor despus de iOS versin 5.0 fue
lanzado.
Siempre se puede dejar estas opciones establecidas a valores ms bajos por ahora, y tomar una decisin despus
de haber odo cmo sus beta testers se llevaba bien con la aplicacin.
Chapter 7
[ 191 ]
Aqu est la construccin para el rea de los valores, as como los mens que puede elegir:
Configuracin bsica de aplicacin
Hemos utilizado algunos de estos valores un par de veces ya. ste es el conjunto completo de opciones:
Mostrar el nombre: el nombre que aparecer bajo el icono en el dispositivo real
Versin: el nmero de versin que aparece en la descripcin de iTunes para la aplicacin
Interior App ID: el ID de aplicacin que utiliz en el Portal iOS Developer hora de
hacer el desarrollo o el perfil de distribucin de aprovisionamiento
Perfil: el perfil de datos que coincide con esta aplicacin
Externos: un conjunto de archivos de comandos opcionales externos que
pueden haber utilizado en su aplicacin
Usted debe probar diferentes nombres de visualizacin para ver cmo se ve en los dispositivos. Hay un lmite
para cunto tiempo el nombre puede ser antes de iOS trunca el nombre, la colocacin de elipses en el medio
del texto. Para el iPhone que es de aproximadamente 11 o 12 caracteres.
Es importante asegurarse de que la actualizacin de una aplicacin que enva debern
tener un nmero de versin es posterior a la aplicacin existente. A partir de las marcas
1.0.0 sentido, recuerda a aumentar el nmero cuando usted hace sus actualizaciones. No
te preocupes, si te olvidas de que se encuentra el proceso de subida a la App Store fallar!
Las tiendas de aplicaciones en general requieren que la actualizacin sea una versin
posterior a la que est siendo reemplazado.
Para fines de desarrollo se puede utilizar un perfil de datos que utiliza un ID de aplicacin
interna que contiene un comodn. Al hacer presentar una aplicacin para iOS App Store,
asegrese de que el archivo de suministro es una Distribucin, y que el ID de aplicacin que
utiliza coincide exactamente con el ID de aplicacin interna. Tambin, asegrese de que el ID
es diferente a cualquier otra aplicacin que tenga en
la tienda. Tenga en cuenta sin embargo que el ID como se muestra en la pgina de cuenta
de desarrollador mostrar los dgitos adicionales en el inicio de la ID, por ejemplo:
31415926.com.yourname.yourappname. La App ID coincidente interna sera
Deploying to Your Device
[ 192 ]
com.yourname.yourappname.
Chapter 7
[ 193]
En la imagen siguiente ejemplo, un archivo de aprovisionamiento de desarrollo que se elija,
y tambin hay comandos externos utilizados fueron:
Iconos
Usted es capaz de seleccionar un icono diferente para cada tipo que iOS y iTunes requieren. El rea de iconos es
fcil, haces clic en el botn ... y seleccione el archivo de su sistema de archivos. Sera posible que LiveCode tomar
una imagen de gran tamaoy para crear los distintos tamaos para usted, pero no es una opcin para eso! Por
si sirve de algo, puede que tenga razones para mostrar una
icono diferente para cada caso. Por ejemplo, usted podra hacer un icono para las pantallas
Retina que tenan ms detalle en lo que se poda ver en una pantalla no Retina. Como usted
no tiene una opcin, simplemente disfrutar de la flexibilidad que esto te da!
Observe la casilla de verificacin Icono prerendered. Usted tiene la opcin de crear un
icono exactamente como debe aparecer en los dispositivos. O bien, puede producir un
icono cuadrado sin sombra, y deje el sistema para que se vea como un botn con un
efecto de relieve. Echa un vistazo a los diferentes
aplicaciones en sus dispositivos, usted encontrar que algunas personas estaban felices de
usar biselado de Apple aspecto resaltado, y otros prefirieron hacer sus propias cosas. La
funcin del icono prerendered le permite hacer su propia cosa. En esta captura de pantalla
se puede ver que los iconos de todas
tipos han sido seleccionados, incluso Retina iPad, y que no estn pre-prestados:
Deploying to Your Device
[ 194]
Pantallas de bienvenida
Desde el primer iPhone, iOS ha tenido la capacidad de cargar y mostrar una pantalla de
inicio de inmediato cuando un usuario toca un icono de aplicacin. Esto les da algo para
mirar mientras la aplicacin se est cargando. Todo lo que se necesitaba en esos das era
una imagen predeterminada, y tena un nombre
de Default.png. Cuando el iPad lleg ahora haba una necesidad de pantallas de inicio
ms. Por lo menos se necesitaba una resolucin de imagen mayor defecto, pero tambin se
necesitan imgenes personalizadas para el paisaje, incluso yendo tan lejos como para tener
imgenes diferentes en funcin del paisaje
de si el botn de inicio es el lado izquierdo o lado derecho.
LiveCode no da acceso a ese nivel de flexibilidad, pero es muy raro que una aplicacin se
necesita un paisaje diferente para las dos variantes, por lo general puede llegar a funcionar
con slo una. Lo mismo para la variacin retrato al revs, la imagen predeterminada retrato
regular puede ser utilizado para eso tambin.
Las pantallas Retina tienen sus propias entradas para configurar la pantalla de inicio, y por
convencin, los archivos que tienen nombres que incluyen una @ 2x parte del nombre.
Cul de las opciones de la pantalla emergente se activan depende de las opciones de orientacin,
como se describe en la siguiente seccin. En esta captura de pantalla, las opciones Retratos iPad
aparecen en gris,
ya que la aplicacin est dispuesto a ser nico paisaje:
Usted puede notar que no hay un retrato iPhone u opcin paisaje. Esto se debe a laDefault.png se
utiliza para ambos. Si su aplicacin es slo paisaje, para luego disear la pantalla de
bienvenida como paisaje, sino girar la imagen 90 grados hacia la derecha para create a
320x480 o 640x960
Default.png o Default@2x.png imagen.
Chapter 7
[ 195]
Opciones de orientacin
Como se mencion anteriormente, usted es capaz de especificar qu orientaciones se
apoyan en su aplicacin. Si la aplicacin es slo para el iPod y el iPhone, slo se puede
establecer cul es la orientacin inicial. Las opciones son Portrait, Retrato Upside-Down,
Left Paisaje, Paisaje y derecha. Si es para iPad, entonces tambin se puede establecer que
las orientaciones son compatibles mientras que la aplicacin est en uso. Las opciones que
seleccione afectar a lo que los iconos se pueden importar. Las orientaciones se ajustan con
un solo men desplegable y casillas de verificacin cuatro:
Esquema de URL personalizada
A veces, cuando se utiliza un dispositivo iOS te va a tocar una URL en una pgina web, y de
pronto te encontrars en el correo, o mirando una pgina en la App Store. Esto se logra
mediante el uso de un esquema de URL personalizado. En el caso de la App Store, los
enlaces comienzan con ITMS-apps :/ /, y desde ese iOS sabe que el enlace debe abrirse en la
App Store app. Usted puede hacer lo mismo con su aplicacin. Al establecer una cadena
personalizada similar a continuacin, puede obtener iOS para abrir la aplicacin cuando el
usuario toca un enlace que comienza con la misma cadena en la URL. El valor de la cadena se
introduce con un campo de entrada de texto simple como se muestra en la siguiente captura
de pantalla:
Requisitos y restricciones
Antes hemos hablado de cmo configurar el dispositivo, el conjunto de instrucciones del
procesador y la versin del iOS, es una manera de asegurarse de que los usuarios son capaces
de utilizar las caractersticas de su aplicacin. Los requisitos y las opciones de restricciones
permiten especificar con gran detalle lo que las capacidades del dispositivo debe tener. Por lo
menos, si usted tiene una aplicacin que consiste en tomar fotografas, lo que requiere una
cmara podra ser una buena idea! Si se trata de una aplicacin de chat de vdeo, lo que
requiere una cmara frontal tendra sentido. La aplicacin de recordatorios que hicimos en el
captulo anterior debe tener su opcin Servicios de ubicacin seleccionado, para asegurarse
Deploying to Your Device
[ 196]
de que el tipo de funcin de distancia podra funcionar. Aqu est la lista completa:
Chapter 7
[ 197 ]
Status Bar
La ltima opcin en la configuracin de iOS controla si la barra de estado ha de ser visible
o no, y si debe tener el aspecto de la barra de estado predeterminado, o un aspecto
negro. Para el aspecto negro puede establecer si que es ser opaco o translcido. La
siguiente captura de pantalla muestra la opcin Barra de estado:
Deploying to Your Device
[ 198]
Androide
Como podr ver, el nmero de opciones para definir para Android es menor que la de
iOS. Esto no es as porque Android es ms sencillo, sino porque LiveCode expone
prcticamente todas las opciones posibles para iOS, incluyendo muchos que no tendr
ms probabilidades. iOS tambin tiene las variaciones pantalla de presentacin que no
estn disponibles como opciones en Android.
En el mundo de Android, hay algunos ajustes que se requieren para hacer, en particular,
los permisos. iOS le pide al usuario permiso para utilizar algunas funciones, pero no hasta
el momento en que su aplicacin invoca esa caracterstica. Usted habr visto los cuadros
de dilogo que pregunta: App Fancy quiere saber su ubicacin. Android por su parte le
pide permiso para utilizar esas caractersticas en el momento en que la aplicacin est
instalada.
Echemos un vistazo a las opciones de Android.
Configuracin bsica de aplicacin
Varias de las opciones para iOS se les da un nombre diferente para el sistema operativo
Android. En lugar de nombre para mostrar que hay Label, Internal ID App se llama
identificador, y no hay un archivo de aprovisionamiento, pero no hay una clave de firma.
Esencialmente, sin embargo, son las mismas opciones que para iOS.
El icono se establece como parte de la configuracin bsica, ya que slo un icono que se
necesita, as que no hay necesidad de que su propio conjunto de opciones. Para que un
icono debe seleccionar una versin 512x512 tamao de la imagen, y LiveCode har que los
otros tamaos para usted.
Aplicaciones Android no tiene una pantalla de inicio como la de iOS, pero LiveCode se
puede dar una pantalla de presentacin, y mostrar que como la primera pantalla que ve
el usuario despus de la carga de aplicaciones.
Usted es capaz de establecer que la aplicacin va a ser instalado, con opciones de almacenamiento interno,
Permitir almacenamiento externo, Prefiero y Almacenamiento Externo. El almacenamiento
externo se refiere
es la memoria SD que la mayora de los dispositivos Android pueden tener. Los usuarios de
Android no me importa dnde
la aplicacin est instalada, o son fanticos de lo que se almacena en la memoria SD! Usted podra
seleccione Permitir almacenamiento externo, y esperan un montn de gente para elegir a tenerlo
instalado en
la memoria SD, o usted puede elegir Prefiero almacenamiento externo, sabiendo que slo una
minora
cambiara la opcin de forzar la instalacin debe hacerse en la memoria interna. En general,
le molesta menos gente usando el ajuste Prefiero Almacenamiento Externo.
Chapter 7
[ 199]
In-app notificaciones compras y empuje, que en el momento de la escritura son caractersticas
muy nuevas en LiveCode, se manejan de manera diferente de lo que son con iOS. Si usted
desea utilizar en app-compras, echa un vistazo a las lecciones en lnea RunRev, y tambin el
developer.android.com sitio web para ms informacin. Hasta aqu slo hay una leccin
iOS, que se encuentra aqu:
http://lessons.runrev.com/m/4069/l/48771
Deploying to Your Device
[ 200]
Es de suponer que la leccin de Android se aadir a que algn da no muy lejano. El dev
Androideloper informacin sobre la facturacin in-app est aqu:
http://developer.android.com/guide/market/billing/billing_overview.
html
Al igual que con iOS, Android OS se pueden dar rdenes externas, y tambin tiene el
esquema de URL personalizado. Una caracterstica que no se encuentra en iOS es la
capacidad de fijar un icono que se utiliza en la barra de tareas.
As es como los ajustes bsicos de aplicacin se presentan opciones:
Chapter 7
[ 201 ]
Requisitos y restricciones
Dentro de este conjunto de opciones que puede establecer la versin mnima de Android y
fijo que las caractersticas de hardware son necesarios. Las columnas de botones de radio
se denominan de manera diferente de iOS. En vez de decir que una funcin es necesaria o
prohibidos, usted est diciendo si la funcin es necesaria o usado. Esto se convierte en
informacin que el usuario de Android es capaz de leer, y puede desempear un papel en si
deciden comprar su aplicacin. Por lo tanto, trate de seleccionar lo que corresponda a su
aplicacin.
Permisos de aplicaciones
Cuando una aplicacin para iOS hace uso de ciertas caractersticas, tales como su ubicacin,
hay un dilogo de alerta que aparece cuando la funcin por primera vez. Con Android
cualquiera de estas funciones se enumeran durante la instalacin de la aplicacin, y el
usuario podr dar permiso para que todas las caractersticas de una sola vez.
stos son los permisos que se pueden elegir:
Deploying to Your Device
[ 202 ]
Opciones de la interfaz de usuario
Las opciones de la interfaz de usuario realiza la misma funcin que la orientacin y las
opciones de la barra de estado en iOS. Si usted est presentando una aplicacin para iPad
que es el paisaje, hay que apoyar tanto a las variaciones del paisaje. Este no es el mismo
requisito con los almacenes de Android aplicacin, y
por lo que las opciones son mucho ms simples, es suficiente para decir si la orientacin inicial ha
de ser
Retrato u horizontal, y si la barra de estado ha de ser visible o oculto:
Creacin de aplicaciones para Beta Testers
Es posible que haya estado dando prueba se acumula a los amigos y colegas de todo el camino a travs del
desarrollo de su aplicacin, pero incluso si no lo ha hecho, se hace ms importante que hacer a fin de que se
acerque al cargar la aplicacin a las tiendas de aplicaciones. Los beta testers pueden informarle sobre
cuestiones tcnicas y no tcnicas. Hay errores ortogrficos en los crditos? El icono se ven bien? Hubo algn
aspecto extrao a la experiencia de instalacin? Y, por supuesto, es que la aplicacin haga lo que se supone
que debe hacer, en los numerosos dispositivos y sistemas operativos?
El proceso de hacer una aplicacin para enviar a un probador es diferente en Android que
en iOS. De hecho, es increblemente fcil en Android! Veamos en primer lugar.
Envo de una aplicacin Android para los probadores
Al hacer un Guardar como aplicacin autnoma ... para Android, se crea un archivo APK.
Podras correo electrnico el archivo a sus probadores, y que podan hacer lo que se
llama una "carga lateral" de la
archivo en su dispositivo. En el Captulo 2, Primeros pasos con LiveCode Mobile, vimos lo
difcil que puede ser conseguir un dispositivo Android conectado para las pruebas, y bien
podra estar ms all de las capacidades tcnicas de algunos de sus probadores para
hacerlo.
Afortunadamente, existe un mtodo mucho ms simple. Tome el archivo APK y ponerlo en
lnea en alguna parte. Eso podra estar en una ubicacin compartida DropBox o Google Drive,
o tal vez slo un servidor en su oficina. Haz lo que sea necesario para llegar al punto de que
tiene una URL que enlaza con el archivo. Ahora correo electrnico URL a sus probadores, a
una direccin de correo electrnico que se puede leer en sus dispositivos. A continuacin,
slo se necesita un solo toque del enlace en el correo electrnico para iniciar la descarga e
Chapter 7
[ 203]
instalacin de la aplicacin.
Hay una seccin de Desarrollo de la configuracin del dispositivo Android que los testers
puedan necesitar para visitar, para activar la funcin que permite a las aplicaciones que se
instalan de esta manera, pero es muy fcil de hacer ese cambio.
Deploying to Your Device
[ 204]
Preparacin de una aplicacin iOS para que pueda trabajar
en algn otro dispositivo
Las cosas no son tan sencillas para iOS! Lo primero que tienes que hacer es aadir el ID de
dispositivo nico (UDID) para cada uno de los dispositivos de probadores beta "en su cuenta
de desarrollador de iOS. Los probadores pueden conseguir ese nmero al conectar el
dispositivo a su ordenador y ver su informacin en iTunes. Cuando usted est buscando en la
pestaa Informacin, podrs ver el nmero de serie del dispositivo. Al hacer clic sobre el
nmero que har que cambie a un nmero ms largo, que es el UDID que ser necesaria.
Una vez que ese nmero est mostrando que puede hacer un atajo de teclado para copiar el
nmero al portapapeles (Ctrl + C en Mac, Ctrl + C en Windows). Haga que sus probadores de
hacer esto, y luego los he pegar el nmero en un mensaje de correo. Usted quiere
asegurarse de que usted obtenga el nmero correcto, porque va a utilizar una de sus 100
asignacin de dispositivos en su cuenta de desarrollador de iOS.
Ir a https://developer.apple.com/ios/manage/devices/index.action con el
fin de aadir los dispositivos a su cuenta. Haga clic en el botn Agregar dispositivos en esa
pgina, y usted ser capaz de aadir los dispositivos a tu cuenta:
Chapter 7
[ 205]
A continuacin, vaya a la fespus de enlace: https://developer.apple.com/ios/manage/
provisioningprofiles / index.action y, o bien crear un nuevo perfil o seleccione
una existente y seleccione Editar / Modificar. A continuacin, aparecer una lista de los
dispositivos asociados
a su cuenta, y puede permitir a cualquier combinacin de dispositivos que desea trabajar con ese
aprovisionamiento perfil. En la siguiente imagen puedes ver que el grupo de dispositivos de
prueba es
muy breve:
Despus de enviar los cambios, ver que el perfil modificado se encuentra pendiente. No
se necesita ningn tiempo para procesar el archivo de aprovisionamiento, usted
inmediatamente puede volver a cargar la pgina y encontrar que est listo para
descargar.
Descargue el nuevo perfil y agregarlo a Xcode (haz doble clic en el archivo descargado
debe hacer eso para usted). Abra Mainstack de su aplicacin en LiveCode, ve a Ajustes
aplicacin independiente ... | iOS, y asegrese de que el perfil de datos se selecciona en
el men Perfil y Guardar como aplicacin autnoma ... de nuevo, para asegurarse de
que los nuevos dispositivos son conocidos por la aplicacin.
Deploying to Your Device
[ 206]
Por ahora usted tendr un archivo APP, lo que equivale a iOS de la APK de Android. Como
con Android que podra correo electrnico el archivo a sus probadores, junto con el archivo de
aprovisionamiento y
probadores tienen la "carga lateral" que en sus dispositivos. En este caso, eso no es tan difcil
tarea, ya que el probador puede utilizar iTunes para hacerlo. Si tienes que ir por ese camino, que sus
probadores
arrastre el archivo APP y archivos de aprovisionamiento en la biblioteca de iTunes, conectar el
dispositivo, consulte
en la ficha Aplicaciones, asegrese de que la nueva aplicacin est seleccionada y realizar una
sincronizacin. Sin embargo, es
posible para hacer las cosas mucho ms fciles para los usuarios, tan fcil como lo fue para los
usuarios de Android.
La creacin de "Over The Air" instaladores para iOS
Desde iOS 4.0, ha sido posible instalar una aplicacin desde un vnculo en una pgina web.
Creacin de la estructura de archivos para que eso funcione es un poco complicado, aunque,
pero, afortunadamente, hay por lo menos un par de herramientas que se pueden comprar
para hacer las cosas ms fciles para usted.
AirLaunch
Software hiperactivo ha hecho un plugin LiveCode que puede llevar a su archivo APP y crea
la estructura de archivos necesaria para el "over the air" instalar al trabajo. Slo hay un
nico cuadro de dilogo que se necesita para rellenar como se muestra a continuacin:
Chapter 7
[ 207 ]
Despus de seleccionar el archivo APP slo tendr que introducir la URL de la carpeta
donde ser cuando est en lnea, a continuacin, haga clic en el botn Crear archivos. A
continuacin, e-mail la direccin URL de la carpeta para sus probadores, y cuando se visite
la pgina web en su dispositivo habr un solo enlace al tacto, y la aplicacin se instalar.
Ver ms informacin sobre AirLaunch en la pgina utilizando el siguiente enlace:
http://www.hyperactivesw.com/airlaunch/index.html
BetaBuilder
BetaBuilder se pueden encontrar en la Mac App Store, en la fespus de enlace:
http://itunes.apple.com/us/app/betabuilder-for-ios-apps/
id415348946? mt = 12
No fue hecho con LiveCode en mente, y funciona con archivos de la API no archivos APP. El
proceso es muy similar al de AirLaunch, selecciona el archivo que desea utilizar, introduzca
la direccin URL de la carpeta en lnea, y el programa generar los archivos para usted. Una
vez ms, todo lo que sucede en una sola ventana de dilogo como se muestra en la
siguiente captura de pantalla:
Deploying to Your Device
[ 208]
Una manera fcil de convertir el archivo APP LiveCode en un IPA es arrastrar la aplicacin en
iTunes, a continuacin, seleccione Mostrar en Finder, haga clic en la aplicacin en la
Biblioteca. Esto revelar el archivo IPA, que puede arrastrar a la ventana BetaBuilder.
Ambos productos hacen la vida ms fcil para sus probadores. AirLaunch tiene las ventajas
de ser un plugin que funciona dentro de LiveCode, que es muy probable que haya abierto
todos modos, y trabajar directamente con los archivos de APP que LiveCode crea.
BetaBuilder principal ventaja es que es increblemente barato!
TestFlightApp.com
https://testflightapp.com utiliza exactamente la misma tcnica que las dos
aplicaciones utilizan, pero el sitio tambin incluye una gran cantidad de herramientas de
gestin de proyectos. Es mucho ms de lo necesario para el envo de aplicaciones
personalizadas a un testers pocos, pero puede entrar en su ms propio cuando se trata de
varias aplicaciones de salir a un gran grupo de testers.
Creacin de una tienda de aplicaciones de archivo de envo
El mayor obstculo a superar para hacer una versin de su aplicacin que puede ser
sometido a las tiendas de aplicaciones es la adquisicin de un certificado de distribucin. El
proceso es ms rpido para Android, pero implica algo de tecleo en la lnea de comandos, y
hay una ligera diferencia si ests en Windows en lugar de Mac. El proceso de iOS tiene
muchos pasos a la misma, pero al menos los que no tienen que ver con escribir comandos
crpticos. Pronto nos ocuparemos de Android en primer lugar.
Encontrar y utilizar la aplicacin para Android Keytool
Una de las cosas que se instal cuando se agreg el Java Development Kit es una
herramienta para hacer un archivo de almacn de claves, que es un certificado auto-
asignado. Es la herramienta que se utiliza para crear el certificado que necesita con el fin de
distribuir una aplicacin para Android.
En Mac no es necesario para encontrar esa aplicacin, slo tiene que escribir el comando en
la Terminal, y la herramienta se encuentra para ti. En Windows necesita para navegar hasta la
carpeta
donde vive la herramienta de claves. Antes de llegar tan lejos tienes que abrir primero la lnea de
comandos
Administrador.
En Windows, la aplicacin CMD se encuentra en C: \ Windows \ System32 \. Vaya a
ese directorio en el Explorador de Windows, haga clic derecho en el archivo y seleccione
Ejecutar como administrador. La aplicacin Keytool estar en la carpeta bin del directorio
Java JDK. Una vez en el directorio C: \ del sistema, cambie los directorios para llegar a ese
Chapter 7
[ 209]
lugar, que ser algo as como: C: \ Archivos de programa \ Java \
jdkx.x.x_xx \ bin \, donde la jdkx.x.x_xx parte sera en realidad la versin del
JDK que ha instalado. Usted debe ser capaz de obtener todo el camino con una lnea como
esta:
C: \> cd \ Archivos de programa \ Java \ jdk1.7.0_01 \ bin \
Deploying to Your Device
[ 210]
En Mac va a utilizar el Terminal, que se encuentra en / Aplicaciones / Utilites. Slo tiene que abrir
Terminal, e inmediatamente ser capaz de utilizar la aplicacin Keytool.
En cualquier caso, ahora se escribe una lnea relativamente corto, y luego responder a las
diversas preguntas que aparecen. Para una comprensin ms completa de lo que es going
adelante, visite la pgina web:
http://developer.android.com/guide/publishing/app-signing.html
Para nuestros propsitos, slo tendremos que escribir el comando correcto y todo debera
ir bien, incluso si no entendemos lo que escriben!
Esta es la lnea que escribir, cambiando los nombres y alias del almacn de claves para que
coincida con el nombre que desea utilizar para este certificado:
keytool-genkey-v-keystore my-release-key.keystore
-Alias-alias_name keyalg tamao de clave RSA-2048-10000 validez
Cuando se presiona la tecla Intro o Retorno usted comenzar a ver una serie de preguntas,
comenzando con la contrasea que desea utilizar para el almacn de claves. Otras
preguntas se le pedir su nombre completo, detalles sobre su empresa, ciudad y pas. Es
un conjunto de datos que pueden ser codificados en un almacn de claves que es nico, y
tiene suficiente informacin precisa con la que un usuario puede decidir si se debe confiar
en el certificado.
Cuando la herramienta est terminado tendr el archivo de almacn de claves que
LiveCode requiere. Ser fcilmente disponible en la carpeta de inicio en Mac, y algo
enterrado en la carpeta bin del JDK en Windows.
Vaya a las Opciones de la aplicacin de los ajustes bsicos de la aplicacin independiente
de su Mainstack y navegue hasta el archivo de la entrada Key. Una vez elegido, esa
seccin se ver como la siguiente captura de pantalla:
Si usted ha elegido sus iconos, pantalla de presentacin, requisitos y permisos, usted
debera ser capaz de construir una versin del archivo APK que se pueden cargar en las
tiendas de aplicaciones.
Chapter 7
[ 211 ]
Creacin de un certificado de distribucin para iOS
Como se mencion anteriormente, no existe una tipificacin de lnea de comandos
implicados en conseguir un certificado de distribucin para iOS, pero hay un montn
de pasos a seguir. El primer lugar a visitar es el iOS
Developer Portal, para asegurarse de que ha creado un ID de aplicacin especfico y
aprovisionamiento de archivo para esta aplicacin particular.
Las imgenes siguientes representan las medidas adoptadas para conseguir un certificado y
el perfil de una aplicacin para ser nombrado Estoy Confundido!, que es esencialmente
el rompecabezas que hemos hecho anteriormente.
En la parte App IDs del portal hay un botn New App ID que te lleva a una pgina para entrar
en los detalles de ID de aplicacin. Aqu se puede ver que la ID se le da el nombre de Im
Desconcertado App ID, y un paquete de identificador de
com.colinholgate.impuzzled. Esto debe coincidir con el ID de aplicacin internos
establecido en LiveCode.
Deploying to Your Device
[ 212]
Ahora que hay un identificador de aplicacin, que puede ser utilizado en la creacin de un
perfil de distribucin de aprovisionamiento, en la seccin de aprovisionamiento. Una de las
dificultades es sin embargo el mensaje de advertencia sobre la creacin de
un certificado:
Al hacer clic en el enlace de texto te lleva a una larga descripcin de cmo se tiene
que solicitar una autoridad de certificacin, y cargar un archivo que genera el Acceso
a Llaveros. Cuando se presenta esta situacin, siga cuidadosamente los pasos que se
indican:
Chapter 7
[ 213]
Una vez que haya cargado el archivo de solicitud de certificado que ser capaz de hacer un
perfil de distribucin que utiliza el ID de aplicacin especfico, y el certificado de
distribucin. La entrada final se ver como la siguiente captura de pantalla, y deber
utilizar el botn de descarga para obtener una copia local del archivo de
aprovisionamiento:
Ahora tiene el archivo que LiveCode requiere, slo que no lo selecciona en la configuracin de LiveCode.
En su lugar, haga doble clic en el archivo y se instalar usando Xcode. Una vez que est en Xcode a
continuacin, puede seleccionar en el men Perfil en la Configuracin de aplicacin bsica en LiveCode:
Al igual que con Android, debe asegurarse de aadir los iconos y pantallas de inicio, los
requisitos establecidos, y as sucesivamente, y usted ser capaz de guardar un archivo APP
listo para ir a la tienda iOS App.
La carga en las tiendas de aplicaciones
Cada tienda de aplicaciones lo gua a travs del proceso de carga de una nueva aplicacin, y
hay un buen montn de pasos a seguir! Podra tomar otro libro para mostrar todas las
pantallas que tienen que vadear. Mostrando las pantallas aqu no sera tan valioso,
principalmente a causa de la gran cantidad de pantallas, pero tambin porque los cambios en
Deploying to Your Device
[ 214]
el proceso de vez en cuando. Por ejemplo, Google incluso cambi el nombre de su servicio
desde el captulo 2 se ha escrito!
Chapter 7
[ 215]
Existe cierta similitud entre lo que cada una de las tiendas le pedir, por lo que vamos a ver
los preparativos que usted puede ser que desee tomar antes de ir a las tiendas. Cuando est
listo para proceder con la carga, estos are las pginas que empiezan por:
iTunes Connect -https://itunesconnect.apple.com
Google Play - https://play.google.com/apps/publish/
Amazon AppStore - https://developer.amazon.com/home.html
Cul es similar
Las tres tiendas de aplicaciones pedir una descripcin de lo que hace la aplicacin, la
informacin de clasificacin, el precio, un sitio Web de soporte o direccin de correo
electrnico y la informacin de categora. Con el fin de pedir un precio, que no sea libre,
usted tendr que configurar una cuenta de comerciante. En el caso de Apple, que tiene que
dar una direccin de pgina web para el apoyo, Google slo pide informacin de contacto,
y Amazon muestra de apoyo como opcional. Los tres piden capturas de pantalla, y las dos
tiendas de Android tambin le permite subir un vdeo de demostracin.
Lo que es diferente
Manzana pide una gran cantidad de informacin que se transmite a travs de muchas
pantallas. La carga del archivo de aplicacin actual est a cargo de la utilidad Application
Loader que viene como parte de Xcode.
Tambin parece que tiene que introducir toda la informacin en una sola sesin. Con el
botn Guardar en la parte inferior de la pgina web, pensando que puede volver y
continuar en otro momento, no parece funcionar.
Google solicita una gran cantidad de informacin, pero todo est atascado en una
pantalla! Tenga cuidado al comenzar a utilizar la pgina. Lo primero que piden es el
archivo APK. Probablemente debera cancelar que al principio, porque an no se ha fijado
un precio para la aplicacin. Si lo hace subir el APK de inmediato, que es al instante y de
forma permanente una aplicacin gratuita.
Amazon pide menos informacin, y se presentan las preguntas dentro de una pgina.
Hay muy buenas crticas por ah, alabando la facilidad de presentar a la AppStore
Amazon!
En pocas palabras
El proceso de envo es slo la parte ms estresante de desarrollar una aplicacin mvil! Te
hace sentir mejor acerca de las otras etapas que has pasado, tal vez los que no eran tan malo
despus de todo!
Esperamos que tengan una pareja que puede ser un segundo par de ojos, para ayudarle a
Deploying to Your Device
[ 216]
entender todas las preguntas, y no te pierdas algo importante que te perseguir ms tarde.
Chapter 7
[ 217 ]
Resumen
Yo no s ustedes, pero yo soy mejor! Y no slo porque son las 4 am, este negocio de
aplicaciones mviles de desarrollo puede ser abrumador. Incluso el lado administrativo
de las cosas pueden ser un poco complicado. En este captulo hemos cubierto algunas
de esas tareas menos programticas:
Al examinar todas las opciones en la configuracin de aplicacin independiente
Lucha de camino a travs de lneas de comando y los trmites burocrticos para obtener
un certificado de aplicacin
Intent conseguir mentalmente preparado para presentar en las tiendas de aplicaciones
Estamos al final del camino en cuanto a hacer uso de las caractersticas mviles en una pila LiveCode,
y teniendo que hasta el punto de ser una aplicacin mvil real. El siguiente, vamos a ver algunos add-
ons para LiveCode que le permiten utilizar las funciones ms mviles.
Extender LiveCode
La historia hasta ahora ...
El largo y tortuoso camino fue el ltimo single que se lanzar por los Beatles, y que sera un
buen ttulo para un libro que describe lo que se tard en llegar LiveCode trabajando en
dispositivos mviles! Tan pronto como hubo aplicaciones en el iPhone, RunRev estaba
desarrollando una manera de publicar para iPhone de LiveCode. Luego, en abril de 2010,
Steve Jobs escribi este artculo infame en Flash:
http://www.apple.com/hotnews/thoughts-on-flash/
Adobe tambin haba desarrollado una manera de publicar para iPhone de Flash
Professional, sino como parte de la determinacin de Apple de no permitimos Flash
cualquier cosa que pueda utilizarse en el iPhone, las reglas de la App Store de presentacin
fueron cambiadas, prohibiendo a los desarrolladores el uso de cualquier otra herramienta
de Xcode para publicar aplicaciones.
Algunas herramientas continu en una zona gris, porque usaban Xcode para hacer la
publicacin final. Aplicaciones GameSalad y Unidad sigui publicndose y le fue bien en la
App Store. RunRev trat de convencer a Apple para permitir LiveCode (que todava se
llamaba Revolucin Runtime en el momento) que pueda utilizarse como una herramienta de
publicacin para el iPhone, incluso la promesa de publicar slo en el iPhone, y no seguir
adelante con la publicacin en Android. Manzana se mantuvieron firmes, y declin la oferta.
Para Adobe, este no era el fin del mundo, y empezaron a trabajar en la editorial Android. Pero,
RunRev ya haba planeado una conferencia en torno a la idea de publicar para iOS, y que la
conferencia tuvo que ser pospuesta.
Extending LiveCode
[ 212 ]
Durante el verano de 2010, Apple realiz una encuesta para los desarrolladores, y varias de
las preguntas que dieron a la gente como yo una oportunidad para pedir que Apple nos
permite utilizar nuestras herramientas de desarrollo preferidas, y no tener que usar Xcode.
Es difcil estar seguro de si eso es lo que hizo la diferencia, pero el 9 de septiembre de 2010,
Apple ha cambiado su posicin sobre el tema. Este es el mensaje que me despert a la
maana:
http://www.apple.com/pr/library/2010/09/09Statement-by-Apple-on-App-
Tienda-Review-guidelines.html
Rpidamente me envi un mensaje a la Revolucin lista de correo electrnico, titulado
cmo hacer totalmente da de Kevin, "Kevin" ser Kevin Miller, CEO de RunRev. Tuvo el
efecto deseado, y an se pueden leer los mensajes de la carta:
http://runtime-revolution.278305.n4.nabble.com/how-to-totally-make-
Kevin-s-da-td2532866.html
Esto me RunRev de nuevo en el desarrollo de una "Publicar en iOS" caracterstica, iPhone
OS haber sido renombrado como iOS en ese momento. La conferencia termin retraso que
tendr lugar en San Jos, a finales de abril de 2011. En ese momento, RunRev no slo
haba hecho la funcin de iOS funcionan bien, pero tambin ha publicado la primera
versin de la "Publicar en Android" caracterstica.
Es muy divertido de una manera de pensar que, si va a publicar en Android desde
LiveCode, puede agradecer a Apple por ser tan terco!
Extender LiveCode
El progreso en LiveCode ha continuado a un ritmo bastante rpido, y en abril de 2012
RunRev haba puesto en prctica todas las caractersticas de iOS para Android tambin,
adems de haber aadido mucho al conjunto de caractersticas para iOS.
Sin embargo, no todas las caractersticas que est cubierto y hay un mercado de otros
fabricantes de complementos para LiveCode, lo que hace que el desarrollo sea ms fcil en
LiveCode, o que proporcionan funciones que an no estn disponibles en la versin
estndar. stos son algunos de los complementos, la mayora de las cuales se pueden
comprar en el mercado LiveCode:
http://www.runrev.com/store/
MobGUI
Ya hemos usado MobGUI en captulos anteriores. Toma la forma de un plugin. Usted coloca el
archivo en su MobGUI plugins carpeta. Esta leccin describe LiveCode plugins y agrega:
http://lessons.runrev.com/s/lessons/m/4071/l/21341-how-to-install-
Appendix
[ 213]
usuario a medida-plugins
Extending LiveCode
[ 214]
La forma en que funciona MobGUI es que te permite realizar controles peridicos LiveCode
en la tarjeta de la pila, y luego cuando la aplicacin se ejecuta, los controles estndar se
intercambian los controles nativos. Esto tiene una ventaja sobre slo hacer controles
estndar que se parecen a los controles de iOS, ya que el control se ve bien tambin.
MobGUI no hace nada que no se poda ver con sus propios scripts, pero hace que sea
mucho ms fcil de usar diseo y controles mviles del sistema operativo nativo. Hay un
canal de YouTube para MobGUI que le mostrar algunas de las cosas que se pueden
hacer usando la tool:
http://www.youtube.com/user/MobGUI
tmControl
tmControl es un conjunto de temas hechas por los medios de comunicacin tctiles para
que pueda dar a sus stacks LiveCode un aspecto ms artstico. Adems de la ciencia
ficcin y otros temas, hay un tema iOS. As es como se ve:
Appendix
[ 215]
No es demasiado sorprendente verdad! Un tema Android est previsto, as como adiciones al iOS
tema. Esta pgina mostrar la av actualmenteailable temas:
http://tmtools.tactilemedia.com/tmcontrol/themes.html
DropTools Palette
Fabricado por Hijos de Software Thunder, DropTools Palette es un complemento gratuito
para LiveCode, que acta como una cubierta para albergar muchos tipos de controles
personalizados LiveCode. Adems de ser el titular de Sons Of Thunder controles
personalizados, tambin ha sido utilizado por otros desarrolladores como una manera fcil
de traer sus propios controles personalizados en el mercado. El sitio web DropTools
incluye descripciones detalladas de cmo usted puede desarrollar sus propios controles
DropTools compatibles.
El sitio tambin acta como un "agregador" para los controles personalizados LiveCode, e incluye
enlaces a ambos
DropTools y no DropTools compatibles add-ons. La pgina principal es located aqu:
http://droptools.sonsothunder.com/
Muchos de los controles personalizados no se refieren a las aplicaciones mviles, pero hay
unos pocos, y que sin duda aumentar con el tiempo.
Extending LiveCode
[ 216]
mergExt
mergExt es un conjunto de comandos externos para LiveCode. En el momento de escribir
esto, no hay LiveCode Android SDK, por lo que en la actualidad todos estos son slo para
iOS. Esta es la lista tal como est, junto con descripciones tomadas de la pgina LiveCode
mercado:
http://www.runrev.com/store/product/mergExt-1-0-2/
mergAccessory: Este es un iOS externo para conectar y comunicar con hardware
accesorio utilizando el marco de accesorio externo.
mergAnswerColor: Se trata de un externo iOS que presenta un selector de color
modal.
mergAV: Se trata de un externo iOS que agrega funciones y comandos
relacionados con el marco AVFoundation. Actualmente, esto incluye la seleccin,
grabar, guardar y editar videos.
mergBanner: Esta es una externa iOS que aade una bandera iAd para su
aplicacin en la parte inferior de la pantalla.
mergDoc: Se trata de un externo iOS que agrega funciones y comandos
relacionados con la interaccin con los documentos. Esto incluye actualmente
presenta un avance modal, abierto en el men de aplicacin, documento men de
opciones, y solicitando los iconos del documento en formato PNG. La impresin es
tambin disponible a travs de la vista previa.
mergMK: Este es un LiveCode MapKit externo que aade un control del mapa, que
admite que muestra la ubicacin del usuario con la rbrica, aadiendo pins
anotacin, y polilneas.
mergMessage: Esta es una externa iOS que aade un comando para enviar un mensaje
SMS.
mergPop: Se trata de un externo iOS que aade funciones a presentar una hoja de
accin
(Pop-over en el iPad) y el men contextual para la interaccin del usuario.
mergReader: Se trata de un externo iOS que presenta un lector de PDF modal
utilizando el cdigo abierto vfrReader proyecto.
mergSettings: Se trata de un externo iOS que integra una aplicacin LiveCode
con la aplicacin Ajustes y tambin incluye InAppSettingsKit presentar un
cuadro de dilogo de adaptacin dentro de su aplicacin.
mergTweet: Esta es una externa iOS que aade un comando para enviar un mensaje
tweet.
mergXattr: Se trata de un externo iOS que agrega comandos para configurar el
cartel de no respaldar y atributos de proteccin de un archivo.
mergZXing: Este es un LiveCode externa que utiliza la ZXing biblioteca para
Appendix
[ 217 ]
leer una amplia gama de tipos de cdigos de barras a travs de la cmara trasera
de un dispositivo mvil.
animationEngine: Esto le permite crear animaciones de alta calidad, y
detectar colisiones entre objetos. Es muy adecuado tanto para crear juegos y
aplicaciones para hacer la presentacin. Aqu est su informacincin de pgina
en el mercado LiveCode:
http://runrev.com/store/product/animation-engine-5/
Extending LiveCode
[ 218]
Aunque no es especficamente para uso mvil, animationEngine se ha ajustado
para cumplir con los requisitos iOS App Store, y as todava debe ser de uso en la
fabricacin de aplicaciones de iOS. Tambin funciona para aplicaciones de Android.
Como se muestra en la Creacin a travs de los instaladores de aire para iOS en el
ltimo captulo, AirLaunch es un add-on que facilita la creacin de ms de-the-air
archivos de instalacin para iOS. Una decola descripcin se puede encontrar aqu:
http://www.hyperactivesw.com/airlaunch/ index.html
La creacin de su propio add-ons
Los dos principales tipos de complementos que podran estar interesadas en hacer son
controles personalizados y comandos externos y funciones (generalmente conocido como
externos).
Los controles personalizados
Los controles personalizados estn hechos tpicamente de un grupo que contiene muchos
controles estndar, y con una secuencia de comandos grupo que gestiona la apariencia y la
interaccin de estos controles. Hay un tutorial en hacer un control personalizado a esta
pgina:
http://www.runrev.com/developers/lessons-and-tutorials/tutorials/
avanzado-custom-controls /
Si va a ir a hacer una bonita paleta personalizada para hacer ms fcil que arrastrar y soltar
los controles personalizados a la ventana de la tarjeta, tenga en cuenta lo que es DropTools-
compatible. Se podra ahorrar una cantidad significativa de tiempo para resolver el
problema que resuelve DropTools ya, y los controles personalizados estara en lnea con los
controles DropTools otros, haciendo que la pantalla menos gente con paletas
personalizadas! Hay una gran cantidad de informacin sobre el desarrollo de la Dra.opTools
controles compatibles en esta pgina:
http://droptools.sonsothunder.com/developer/
Exterioridad
Abajo a la derecha de la ya mencionada "lecciones-y-tutoriales" de la pgina es una larga
lista de tutoriales, dos de los cuales se relacionan con lo que los externos. Estos tutoriales
estn destinados en particular para el desarrollo externo de aplicaciones de escritorio. Por
developing externos mviles, debe mira esta pgina:
http://www.runrev.com/developers/documentation/externals-sdk/
Appendix
[ 219]
En el momento de la escritura, esta pgina slo cubre los aspectos externos de iOS, pero no hay razn
para esperar que
por el tiempo que usted est leyendo esto, habr informacin sobre la creacin de lo externo
Android tambin.
La pgina es muy larga, e incluso incluye un video de 17 minutos! El c de vdeoun ser visto
YouTube tambin, en esta direccin:
http://www.youtube.com/watch?feature=player_embedded&v=lqduyQkhigg
La creacin de lo externo no es trivial. Si usted tiene una idea para un externo til, pero
siento que es ms all de sus capacidades o intereses para creacinte a ti mismo, toma un
vistazo a la pgina mergExt:
http://mergext.com
Aqu usted puede hacer sugerencias o votar por los externos que le gustara ver cre. Si
usted siente que puede hacer lo externo, por qu no ponerlos a disposicin de los
productos? La
va tarifa para estos complementos se encuentra en los $ 30 - rango de $ 100 - cualquier venta que
realice compensar su
los costos de desarrollo.
Extending LiveCode
[ 220]
Respuestas Pop
Quiz
Captulo 1, Fundamentos LiveCode
Pop Quiz - mejor nombre?
Respuesta: Henry. En los primeros das de multimedia que pareca que todo el mundo tena
uno de slo unos pocos nombres. Haba Bill Atkinson, quien cre HyperCard, y Bill Appleton,
quien cre SuperCard. Kevin Calhoun fue el principal programador HyperCard por un
tiempo, y Kevin Miller es el jefe de RunRev. Bob Stein fue uno de los fundadores de The
Voyager Company, y junto con Bob Abel fue uno de los pioneros en multimedia. Dan era
otra buena opcin, con la existencia de Dan Winkler, autor del lenguaje HyperTalk, y Danny
Goodman, autor de muchos libros de programacin famosos. Henry sera un buen nombre
si quera hacer automviles, o casarse con un montn de reinas.
Pop Quiz - Trato de recordar ...
Respuesta: En la seccin Formato de texto de la paleta Inspector. Para llegar a esa seccin
involucrada la seleccin de la herramienta de edicin, haga clic en el campo de ttulo, y eligiendo el
formato de texto de la paleta Inspector men desplegable. Sinembargo, de hecho existe un men de
texto. Realmente eso es lo que debera haber utilizado!
Pop Quiz Answers
[ 220 ]
Captulo 2, Primeros pasos con Mobile LiveCode
Pop Quiz - cuando algo es demasiado?
Respuesta: El tamao del archivo se va a ir a ms de 50 MB. Las otras respuestas son
vlidas tambin, aunque se puede reproducir la msica como un sonido externo, para
reducir el tiempo de carga, pero al ir a ms de 50 MB, a continuacin, eliminara el potencial
de ventas de personas que se conectan a travs de redes celulares e inalmbricas no. En el
momento de escribir esto, todas las tiendas requieren que se puede conectar de forma
inalmbrica si desea descargar aplicaciones que son ms de 50 MB.
Pop quiz - nombres sabrosos cdigo
Respuesta: Pastel de queso del limn. El patrn, si no es obvio, es que el nombre de
cdigo toma en la siguiente letra del alfabeto, es un tipo de comida, pero ms
especficamente es un alimento postre. "Munchies" casi funciona, pero "Marshmallow" o
"Pie merengue" seran mejores opciones!
Pop quiz - nombres de cdigo para iOS
Respuesta: Hunter Mountain. Aunque no es publicidad, Apple hace uso de nombres en clave para
cada versin de iOS. Ejemplos anteriores han incluido Big Bear, Apex, Kirkwood, y Telluride. Estos y
todos los dems aparentemente, son estaciones de esqu. Hunter Mountain es una montaa
relativamente pequeo (3.200 pies), por lo que si se acostumbra tal vez sera una actualizacin menor!
Captulo 3, la creacin de interfaces de usuario
Pop Quiz - conseguir el cuadro grande
Respuesta: 45 El Mac original tena una pantalla que estaba 512x342 pxeles. Que se ajuste a
ms de 45 veces en el rea de una foto de 8 megapxeles.
Pop quiz - el costo de las cosas en estos das
Respuesta: 6.000 veces mejor. S, por supuesto. Hace 25 aos Apple estaba vendiendo un MB 4
add-on kit para el Macintosh II, por alrededor de $ 1500. Ahora vende un 8 GB add-on para el Mac Pro
por $ 500.
[ 221 ]
Pop Concurso Answers
Captulo 4, Utilizacin remota de datos y medios de
comunicacin
Pop quiz - nombre que la estructura
Respuesta: La ruta del mensaje. Para mayor informacin, RunRev tiene una leccin en lnea
que describe la ruta del mensaje:
http://lessons.runrev.com/s/lessons/m/4603/l/44036-the-livecode-
mensaje-path
Pop quiz - otros lugares especiales
Respuesta: Usuarios. Casa y Escritorio no son utilizadas por Android, y
Escritorio no es utilizada por iOS. 0x000e sonaba sospechosa, pero en realidad es el
specialFolderPath entrada para Mis videos, bajo Unix! Ninguno de los sistemas
tiene un Usuarios entrada.
Captulo 5, Cmo hacer una aplicacin Jigsaw Puzzle
Pop-Quiz - cuntos bits en un byte?
Respuesta: 8. Aunque slo sea por el inters de los matemticos, es bueno saber que un
byte son 8 bits. Un "bit" es un "dgito binario", y cuando empiezas a pensar de bits en los
trminos que usted ver que un byte puede almacenar 2 a la potencia de 8 valores en l
("binary" estar Base 2). Esto entra en juego cuando se mira en la longitud de una cadena
Pascal (2 a la potencia de 8 es 256, por lo tanto, el rango de caracteres en una cadena Pascal
es 0-255), y le ayuda a darse cuenta de que si una imagen est formada por de un byte para
cada pxel de color rojo, verde y azul, es una imagen de 24-bit. Una vez que se agrega en
otro byte de datos del canal alfa, que tiene una imagen de 32 bits.
Pop-Quiz - conseguir el cuadro grande
Respuesta: Depende de la naturaleza de la imagen. SVG es una descripcin de cmo dibujar
la imagen, mientras que PNG es una descripcin de los pxeles en la imagen. En PNG que la
informacin es tambin de datos comprimidos, en una forma sin prdida. Para el mapa de
ejemplo, en su tamao original, un PNG de 24-bit es la mitad del tamao del archivo SVG.
Hay una gran cantidad de datos necesarios para describir los contornos de los estados de
EE.UU.! Si la imagen tiene que ser ampliada, el archivo PNG se hacen ms grandes, mientras
que el SVG seguira siendo el mismo tamao de archivo. Por otro lado, si una imagen era un
rectngulo de un gradiente diagonal SVG sera pequea, y el PNG sera enorme, porque no
[ 222 ]
hay tramos largos de mismos pxeles de colores para la compresin de datos para funcionar
bien.
Pop Quiz Answers
[ 222 ]
Pop-Quiz - calcular esto!
Respuesta: 16.777.216 botones. Al igual que con la discusin sobre "bits y bytes", los valores de
rojo, verde y azul se combinan para dar 2 a la potencia de 24 valores posibles. Si slo se utilizan dos de los
colores, la respuesta habra sido 65.536.
Captulo 6, Cmo hacer una aplicacin Recordatorios
Pop-Quiz - AO (Siglas extrao!)
Respuesta: Para no molestar a los franceses, ms o menos. Los franceses no hayan
objetado de manera proactiva, pero en realidad, la sigla de UTC se seleccionar de forma
que no coincida especficamente la versin en Ingls de la frase. Tambin cay muy bien
con las otras siglas de UT0, UT1, y as sucesivamente.
Pop-Quiz - Qu piso es mi apartamento en?
Respuesta: piso 11. Los nmeros de volver de la vuelta del sensor ubicacin como latitud,
longitud y altitud. Eso hara que la elevacin para el que el dispositivo estaba en ese
tiempo de aproximadamente 37,5 metros, demasiado bajos para ser el piso 40. No hay
suficiente informacin en la captura de pantalla para que usted sepa exactamente cundo fue
tomada, y donde en la tierra!
[ 221 ]
ndice
La
Adobe Director 132
Adobe Flash 132
AirLaunch
aproximadamente 202
URL, para informacin 203
alarma de reloj 160
alphaData propiedad 134
Amazon Appstore
aproximadamente 40-43
URL 209
Androide
60 pruebas
Android App
el envo, a los probadores 199
Android Debug Bridge (ADB) 61
Android developer
Amazon Appstore 40, 41
Android Market 36
Android SDK, la descarga de 44
convirtiendo 36
LiveCode, sealando Android SDK 47, 48
Android Keytool aplicacin
buscando 204, 205
utilizando 204, 205
Android Market 36-40
Android SDK
descargar 44
instalar, en Mac OS X (Intel) 45
instalacin, en Windows 46, 47
LiveCode, poiting a 47, 48
Android seccin
aproximadamente 196
Permisos de aplicaciones 198
Configuracin bsica de aplicacin 196
Requisitos y restricciones opciones 198
Opciones de la interfaz de usuario 199
Android pruebas de 60, 61
Dispositivo virtual de Android
partida 60
animationEngine 215
Manzana 209
Opciones de aplicaciones Android seccin Permisos,
198
aplicaciones
creando, por los beta testers 199
subir, a las tiendas de aplicaciones 208, 209
Aplicacin de las tiendas
aplicacin, subir a 208, 209
comparando 209
app store archivo de envo
la creacin de 204
ARMv7 190
B
Configuracin bsica de aplicacin, el artculo 196
Android
Configuracin bsica de la aplicacin, iOS seccin 191,
192
BetaBuilder
aproximadamente 203, 204
URL 203
beta testers
aplicaciones, capacidad para 199
[ 224 ]
Birthday Reminder 160
mapas de bits de datos
de mapa de bits 132
utilizado, para la creacin de botones
de estilo OS 80
Puntos de interrupcin 31
Navegador de tarjeta
aproximadamente 112
controles del navegador, aadiendo
113
browserFinishedLoading funcin 118
Informes Bug artculo 189
Construir para la configuracin de la
seccin 190 iOS
C
botones de la calculadora
la creacin de 19
controladores de tarjetas
la adicin de 22, 23
tarjetas
la creacin de 15, 16
navegar entre los 16
charToNum funcin 132
checkdistance manejador 156
Regalo de Navidad lista 160
manejador clearPressed 24
clipboardData 22
cdigo, LiveCode jerarqua
sobre 14
tarjetas, la creacin de 15, 16
cartas, navegando entre 16 y 17
deteccin de colisiones
maskData, usando para 139
colisin mapa deteccin
creando 136-138
Copiar archivos del artculo 189
currentcommand variable de 25
CurrentValue variable 26
personalizados complementos
la creacin de 216
controles personalizados 216
externas 216, 217
controles personalizados 216
Esquema de URL personalizado, iOS
seccin 194
D
selectores de fecha
creando 161-164
[ 225 ]
selector de fechas, banco de pruebas de
aplicaciones mviles
Viendo del 77
depuracin, LiveCode 30, 31
eliminar manejador 180
correo electrnico de escritorio de
aplicaciones, banco de pruebas de
aplicaciones mviles
invocando 72
nativa aplicacin de correo electrnico,
llamando a 72
distancia
calcular, entre dos puntos sobre la Tierra 167,
1
6
8
funcin distancia 156-179
distribucin de certificados
crear, para iOS 206-208
sintaxis punto 20
DropTools Palette
aproximadamente 214
animationEngine 215
mergAccessory 215
mergAnswerColor 215
mergAV 215
mergBanner 215
mergDoc 215
mergExt 215
mergMessage 215
mergMK 215
mergPop 215
mergReader 215
mergSettings 215
mergTweet 215
mergXattr 215
mergZXing 215
E
funcin
edgepiece
huevo
temporizador
152 160
e-mail de prueba, banco de pruebas de
aplicaciones mviles
instalacin, en los dispositivos 72
externals 8, 216, 217
F
Flash 132
G
Seccin general 188
genericRGB perfil de
color 138
[ 226 ]
funcin GetDistance 179
getPixel funcin 132
aproximadament
e 133 pruebas
134, 136
Gimp 133
GMT 161
Google Play
URL 209
GPS 164
Interfaz grfica de usuario (GUI) 170
Greenwich Mean Time. Ver GMT
H
14 controladores de
jerarqua, LiveCode
tarjetas, creando
cdigo 14 15
apilar estructura 14
scripts de inicio de tarjetas
aproximadamente 177
aadiendo, a app recordatorios 178-180
Software hiperactivo 202
HyperCard 8
Yo
Iconos rea, imagen iOS
artculo 192
seleccionar, para rompecabezas 146-151
imageData del
aproximadamente 133
mal uso de 134
transferir 151-154
datos de imagen de formato 132, 133
139 ImageDataTest pila
inspector paleta
sobre 11
usado, en aplicacin de la calculadora
sencilla 18
instaladores
crear, para iOS 202
controles de la interfaz
sobre 28
botones rollover 28-30
imgenes fijas de control 28
Reproductor de vdeo de control 28
iOS
certificado de distribucin, creando para 206-
208
[ 227 ]
instaladores, creando
para 202 pruebas de
64
pruebas, iOS simulador utilizado 64
iOS App
la preparacin de 200, 202
iOS nombres de cdigo 57
iOS Developer
convirtiendo 49-56
iOS SDK
LiveCode, apuntando a 59, 60
iOS seccin
aproximadamente 189
Configuracin bsica de aplicacin 191, 192
Construir para la configuracin 190
Esquema de URL personalizada 194
Iconos de rea 192
Opciones de Orientacin 194
Requisitos y restricciones opciones 194
Pantallas Splash 193
Status Bar opcin 195
iOS simulador
utilizando 64
iTunes Connect
URL 209
J
rompecabezas
la creacin de 146
imageData del, transfiriendo 151-154
imagen, seleccionar 146-151
piezas, creando 146-151
eventos de toque, la creacin de 155-157
K
Keepers tarjeta
aproximadamente 125
la creacin de 126-128
archivo de almacn de claves 204
Kindle Fuego
aadiendo, a ADB 62, 63
con 61
L
diseos, LiveCode con el Administrador de
Geometra
alrededor del 93
[ 226 ]
botones, posicionando 94
diseos, utilizando MobGUI
95 diseos, utilizando un
controlador de cambio de
tamao
el 91 por
cdigo simple ejemplo de diseo 92
Lingo idioma 20
Links tarjeta
aproximadamente 114
manejador de init, aadiendo 118, 119
enlaza funcin de extraccin, lo que hace
115-118
118 eslabones perdidos
Enlaces controlador
tarjeta init
la adicin de 118, 119
Enlaces funcin de extraccin
creando 115-118
Linux artculo 189
LiveCode
aproximadamente 7, 69, 131, 187
personalizados complementos, creando
216
depuracin 30-32
Diccionario 9
descargar 9
extiende 212
jerarqua, creando 13
Ayuda men 9
Historia 8
iconos, arrastre de las herramientas de
paleta 11, 12
imageData del, mal uso de 134
instalacin de 9
interfaz controla 28
rompecabezas, la creacin de 146
principal de Windows 10
metforas 8
MobGUI 83
lecciones en lnea 9
Para utilizar los botones de estilo, la
creacin de 79
sealando, a SDK iOS 59, 60
poiting para Android SDK 47, 48
recordatorios de aplicacin, la creacin de
170
Recursos 9
Tutoriales en lnea RunRev los 32
tamao de la pantalla y la orientacin, el ajuste
91
Comience ventana Center 9
banco de pruebas de aplicaciones mviles, la
creacin de 70
Tutoriales 9
Gua del usuario 9
Las muestras de usuario 9
[ 227 ]
LiveCode aplicacin
otra pila, utilizando para el almacenamiento de
datos 107
almacenamiento de datos pila, creando 107-
109
datos externos, carga 103
datos externos, ahorrando 103
apilar estructura 100
archivo de texto, lectura 105, 106
archivo de texto, escritura 105, 106
URL, consulta 103-105
Aplicacin WebScraper, creando 110
LiveCode Gerente Geometra
utilizado, para los diseos de 93
LiveCode mvil 35
loadImage manejador 150
ubicacin de la tarjeta
creando 180-182
M
Mac artculo 189
Herramienta Magic Wand 140, 147
ventanas principales, LiveCode
sobre 10
inspector paleta 11
Message Box 11
herramientas de paleta 11
makepuzzle manejador 153
mapa
creando, de Estados Unidos 136-138
maskData
aproximadamente 134
utilizarse, por 139 de deteccin de colisiones
Tarjetas multimedia
aproximadamente 121
Enlaces para los medios, la extraccin de 121,
122
Medios de tarjetas de guiones
la creacin de 123, 125
mergAccessory 215
mergAnswerColor 215
mergAV 215
mergBanner 215
mergDoc 215
mergExt 215
mergMessage 215
mergMK 215
mergPop 215
mergReader 215
[ 228 ]
mergSettings
mergTweet 215
215 215
mergXattr
mergZXing 215
Message Box 11
MetaCard 8
MobGui 189
MobGUI
alrededor del 83, 212
descargar 84
Cuenta con 88
partida 85
utilizado, para la creacin de banco de
pruebas de aplicacin 86-88
utilizado, para los diseos de 95
con 213
de trabajo 213
MobGUI controles nativos
el 88 por
funciones 89, 90
mouseColor funcin 136
MouseEnter manejador 136
mouseUp manejador 179
moveCars manejador 144
N
ubicacin nativo
seguimiento 165-167
newNumber booleano variable de 25, 26
Nook 67
notificacin de mensajes 160
numberPressed 21
O
OpenCard evento 24
Opciones de orientacin, la seccin 194 iOS
Para utilizar los botones de estilo
la creacin de 80
crear, mapas de bits utilizado 80
Photoshop, utilizado para la preparacin de
estados de botn
80-83
P
Pascal 132
Photoshop
aproximadamente 133
[ 229 ]
utilizado, para la preparacin de los estados de
botn 80-82
fsica dispositivo Android
conectar 61
conectar, Fuego Kindle utiliza 61
Fuego Kindle, aadiendo a ADB 62, 63
imgenes, banco de pruebas de aplicaciones
mviles
carga 77-79
piezas
creando, por rompecabezas 146-151
pixel 132
Plus 8
preopenstack manejador 155
R
raza imagen del coche
creando 141-145
hipdromo
la creacin de 139, 140
regex 114
regexp 114
recordatorio 159, 160
pantallas recordatorio de aplicaciones
creando 170-174
recordatorio formulario de entrada 182-185
recordatorios de aplicacin
tarjetas, trazando 170-174
la creacin de 170
formulario de entrada 182-185
Scripts de inicio de tarjetas, aadiendo 178-180
ubicacin de la tarjeta, creando 180-182
pantallas, creando 170-174
apilar las funciones de nivel, aadiendo 174-177
Requisitos y Restricciones, opciones de Android
artculo
198
Requisitos y opciones Restricciones, iOS
artculo
194
resetpuzzle manejador 153
cambiar el tamao de controlador de
utilizado, para los diseos de 91
returnInField mensaje 174
RGB valora 132
botones rollover 28-30
RunRev.com 133
Tutoriales en lnea RunRev los 32
Runtime Revolution 8, 211
[ 228 ]
S
tamao de la pantalla y la orientacin
ajuste 91
diseo, utilizando LiveCode Gerente
Geometra 93
diseo, utilizando MobGUI 95
diseo, utilizando controlador de cambio de
tamao 91
otros tamaos 96
14 guiones
lista de la compra 160
showData funcin 175, 176
aplicacin de la calculadora sencilla
botones de la calculadora, la creacin de 19
controladores de tarjetas, aadiendo 22, 23
la creacin de 18
ampliar 27
inspector paleta, utilizando 18
Las variables 24
simple pila
pruebas, en los simuladores de 65, 66
probando, en los dispositivos 66, 67
Pantallas Splash opcin, iOS seccin 193
pila de secuencias de comandos de nivel
aproximadamente 174
aadiendo, a app recordatorios 174-177
pila de tarjetas 8
Stacks 8
Pilas artculo 189
apilar estructura
aproximadamente 100
cdigo impulsado 100
ubicaciones de cdigo 101-103
diseos creados manualmente 100
estructura de pila, jerarqua LiveCode 14
Standalone Settings Opciones de aplicacin
aproximadamente 188
Android artculo 196
Copiar archivos del artculo 189
General de la Seccin 188
iOS artculo 189
Pilas artculo 189
Status Bar opcin, iOS artculo 195
Imagen fija de control 28
SuperCard 8
T
navegacin por pestaas, WebScraper
la creacin de 110, 111
nombres sabrosos cdigo
Ice Cream Sandwich 48
Jelly Bean 48
Key Lime Pie 48
banco de pruebas de aplicaciones mviles
crear, MobGUI utilizado 86-88
selector de fechas, mostrando 77
correo electrnico de escritorio de aplicaciones,
invocando 72
e-mail de prueba, instalar en dispositivos de 72
aplicacin del navegador nativo, llamando a 75
nativa aplicacin de correo electrnico, llamando a 72
imgenes, carga de 77-79
la creacin de 70
pila del banco de pruebas, la creacin de 70, 71
tratando, en los dispositivos 73, 74
pgina web, apertura 75
probadores
Android App, enviando a 199
TestFlightApp.com
aproximadamente 204
URL 204
Texto de la carta
aproximadamente 120
la creacin de 120
medicin del tiempo las funciones de utilidad
creando 161-164
recolectores de tiempo
creando 161-164
tmControl 213, 214
lista de tareas pendientes 160
herramientas de paleta
sobre 11
iconos, arrastre de 11, 12
toRand funcin 179
eventos de toque
la creacin, por rompecabezas 155-157
touchMove evento 156
U
ID de dispositivo nico (UDID) 200
[ 229 ]
Unix Time 161
Opciones de interfaz de usuario de Android,
seccin 199
UTC (Tiempo Universal Coordinado) 161
V
las variables
alrededor del 24 por
currentcommand variable de 25
CurrentValue variable 26
newNumber variable booleana 25
tipos de variables 24-26
detallado sintaxis 20
Reproductor de vdeo de control 28
W
pgina web, banco de pruebas de
aplicaciones mviles
aplicacin del navegador nativo, llamando
a 75
la apertura de 75
WebScraper aplicacin
Navegador tarjeta 112
la creacin de 110, 111
Guardianes de la tarjeta 125
Links tarjeta 114
121 tarjetas multimedia
navegacin por pestaas, la creacin de 110
Texto de la carta 120
Web del artculo
189
Ventanas artculo 189
X
Xcode
instalando 57-59
[ 230 ]
Gua para principiantes
Acerca de Packt Publishing
Packt, que se pronuncia 'lleno', public su primer libro "Mastering phpMyAdmin para una eficaz
gestin de privilegios" en abril de 2004 y, posteriormente, continu especializan en la publicacin de
libros muy centrados en tecnologas y soluciones especficas.
Nuestros libros y publicaciones de compartir las experiencias de sus compaeros de los profesionales
de TI en la adaptacin y personalizacin de los sistemas de hoy en da, las aplicaciones y los marcos.
Nuestras soluciones basadas en libros que dan el conocimiento y el poder para personalizar el
software y las tecnologas que est utilizando para hacer el trabajo. Packt libros son ms especficos y
menos generales que las TI libros que hemos visto en el pasado. Nuestro modelo de negocio nico que
nos permite ofrecerte la informacin ms especfica, dndole ms de lo que usted necesita saber, y
menos de lo que no.
Packt es una empresa moderna, la edicin y nico, que se centra en la produccin de calidad y de
vanguardia libros para las comunidades de desarrolladores, administradores y novatos por igual. Para
obtener ms informacin, por favor visite nuestro sitio web: www.PacktPub.com.
Escribir para Packt
Damos la bienvenida a todas las preguntas de la gente que est interesada en la edicin. Propuestas de libros
deben ser enviados a author@packtpub.com. Si su idea del libro se encuentra todava en una etapa
temprana y que le gustara discutir
en primer lugar, antes de escribir una propuesta de libro formal, pngase en contacto con nosotros y
uno de nuestros editores puesta en servicio se pondr en contacto con usted.
No estamos slo en busca de autores publicados, si usted tiene fuertes habilidades tcnicas, pero no
experiencia de escritura, nuestros editores experimentados pueden ayudarle a desarrollar una carrera
como escritor, o simplemente obtener alguna recompensa adicional por su experiencia.
Thank you for buying
LiveCode Mobile Development
Sencha Touch Recetario
ISBN: 978-1-849515-44-3Paperback: 350 pginas
Ms de 100 recetas para crear HTML-5
basados en plataformas de aplicaciones
para dispositivos tctiles
1.Master multiplataforma de desarrollo de aplicaciones
2.Incorporate ubicacin geogrfica en sus
aplicaciones
3.Desarrollar nativos que buscan aplicaciones web
PhoneGap de aplicaciones mviles
Desarrollo libro de cocina
ISBN: 978-1-849518-58-1Paperback: 316 pginas
Ms de 50 recetas para crear aplicaciones mviles que utilizan la
PhoneGap API con ejemplos e instrucciones claras
1.Use la PhoneGap API para crear aplicaciones nativas
mviles que funcionan en una amplia gama de
dispositivos mviles
2.Discover las caractersticas nativas de los dispositivos y
funciones que puede acceder e incluir dentro de
sus aplicaciones
3.Packed con ejemplos claros y concisos que le
muestre cmo construir fcilmente aplicaciones
mviles nativas
Por favor, compruebe www.PacktPub.com para obtener informacin sobre
nuestros ttulos
Cocos2d para iPhone 1 Juego
Desarrollo libro de cocina
ISBN: 978-1-849514-00-2Paperback: 446 pginas
Ms de 90 recetas para el desarrollo de iOS juego
2D utilizando cocos2d
1.Discover avanzado Cocos2d, OpenGL, y las
tcnicas para iOS que abarcan todas las reas
del proceso de desarrollo de juegos
2.Learn cmo crear desde arriba juegos isomtricos,
juegos de plataformas de desplazamiento
lateral, y los juegos con la iluminacin realista
3.Full de la diversin y las recetas atractivas con
las bibliotecas modulares que pueden ser
conectados a su proyecto
Corona SDK Juegos para mvil
Desarrollo: Gua para principiantes
ISBN: 978-1-849691-88-8Paperback: 408 pginas
Crea juegos monetizados para iOS y Android con
el mnimo coste y el cdigo
1.Build una vez y desplegar sus juegos tanto para iOS y
Android
e
2.Crear juegos de xito comercial mediante la
aplicacin de diversas tcnicas y herramientas de
monetizacin
3.Cree tres juegos de diversin e integracin con
redes sociales como Twitter y Facebook
Por favor, compruebe www.PacktPub.com para obtener informacin sobre
nuestros ttulos

S-ar putea să vă placă și