Anda di halaman 1dari 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 Los indizadores Adquisicin Editor Mara Jazmn Nadar Lead Editor Tcnico Susmita Panda Editores Tcnicos Rati Pillai Lubna Shaikh Hemanjini Bari Tejal Daruwale Coordinador de Produccin Arvindkumar Gupta Cubrir las obras Arvindkumar Gupta Coordinador del Proyecto Leena Purkait Corrector de pruebas Stephen Seda

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 visitar www.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 Toter 1: LivEcode fundatals
Antecedentes historia y metaphors8 Usted tiene LiveCode, no? 9 Aprender la disposicin de la land9

1 7

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 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

18

Toter 2: Getting Starteed con LivEcode Mobile

iOS, Android, o ambas 36?

35

Table of Contents

Convertirse en un Android developer36 Android Market36 Amazon Appstore40 Descarga del SDK44 Android

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 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
El uso de un Fire61 Kindle

Instalacin del SDK de Android en Mac OS X (Intel) 45 Instalacin del SDK de Android en Windows46

Toter 3: El usuario Edificio Enterfaces

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 Tiempo de accin - pidiendo que el nativo de aplicacin de correo electrnico 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 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
[ 2]

69
72 72

75

Table of Contents

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

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 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 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
Las personas desaparecidas links118 Una cosa ms ... 118

99

105

110

115

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
[ 3]

Table of Contents

Toter 5: Realizacin de una Jigsaw Puzzle Aplicuncin

Datos Formato de la imagen Misterio byte ... El mal uso imageData del! Tiempo para la accin - probando una funcin getPixel Simulacin de un montn y un montn de botones Tiempo de accin - hacer un mapa de los Estados Unidos Uso de maskData para la deteccin de colisiones Tiempo de accin - haciendo un hipdromo Tiempo para la accin - lo que un coche de carreras Cmo hacer un rompecabezas 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

131

132 133 134 134 136 136 139 139 141 146

Tiempo para la accin - creacin contacto events155 Summary158 Qu es un "recordatorio"? 159

154

Toter 6: Realizacin de una Reminder Aplicuncin


Cundo? 160

159

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 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

174

Toter 7: deploying to YDe nuestrovicio

Configuracin de aplicaciones independientes


[ 4]

187

188

Table of Contents

iOS189
Configuracin bsica de aplicacin Opciones de orientacin Requisitos y restricciones

General188 Stacks189 Copia Files189


Construir for190 Icons192 Splash Screens193 URL personalizada Scheme194 191 194 194

Configuracin bsica de aplicacin Requisitos y restricciones Opciones de la interfaz de usuario

Android196

Estado Bar195

Aplicacin Permissions198

196 198 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 Encontrar y utilizar la aplicacin para Android Keytool Creacin de un certificado de distribucin para iOS206 Subida a la aplicacin stores208 Qu es similar209 Qu es different209 Line209 Bottom Summary210

204 204

Apndice: Extterminando LivEcode


MobGUI212

La historia hasta ahora ... 211 Extender LiveCode212

211

tmControl213 DropTools Palette214 mergExt215 La creacin de su propio complemento ons216 Custom controls216 Externals216
[5]

Table of Contents

Pop Concurso Answers

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 Captulo 6, Cmo hacer una aplicacin Recordatorios

219

221 222

Index

223

[6]

Table of Contents

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 [7] se asemejan a la apariencia de los controles nativos de iOS y Android, en lugar de acceder a la realidad.

Preface

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
[2]

aplicaciones mviles se ven mejor, o que se extiendan las capacidades mviles de LiveCode.

Preface

[3]

Preface

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. 2. 3.
Accin 1 Accin 2 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.
[ 4]

Preface

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 establece como sigue: se

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 / plataformaherramienta

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.

[5]

Preface

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 a feedback@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.

[6]

Preface

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 en questions@packtpub.com si usted est teniendo problemas con algn aspecto del libro, y haremos nuestro mejor esfuerzo para resolver el problema.

[7]

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

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,
[8]

a continuacin aadir que la pila a la "stackinsuse", utilizando el comando:


empezar a utilizar la pila "utilidad pila"

Chapter 1

Adems, puede escribir lo externo, que son comandos y funciones escritas en C idioma, lo que puede ampliar las capacidades de LiveCode an ms.

[9]

LiveCode Fundamentals

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 tipooverview / 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/

[ 10 ]

Chapter 1

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:

Instrumentos paleta Inspector paleta Message Box


[ 11 ]

LiveCode Fundamentals

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 elicono 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. 2.

En el men Archivo, seleccione Nuevo Mainstack. 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. 4.

Arrastre los iconos de la parte superior de la paleta de herramientas a la ventana de pila. Pruebe las opciones de capas en la parte inferior del men Objeto.
[ 12 ]

Chapter 1

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.

[ 13 ]

LiveCode Fundamentals

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.

[ 14 ]

Chapter 1

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
[ 15 ]

LiveCode Fundamentals

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.

[ 16 ]

Chapter 1

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. 2. 3.

Seleccionar tarjeta nueva en el men Objeto. Utilice el men Ver para ir ya sea a la tarjeta anterior (Ir Anterior), o primera tarjeta (Vaya primero). 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. En la seccin Propiedades de base de la paleta Inspector, desactive la casilla No envuelva casilla de verificacin. Tipo ttulo en el campo de entrada Nombre. Elegir contenido del Inspector men desplegable, y reemplace el texto inicial que dice Label: escribiendo Simple Calculator en el campo de entrada de contenido. Elija el formato de texto en el men desplegable, y haga clic en el botn de
[ 17 ]

4. 5. 6. 7.

LiveCode Fundamentals

texto alinear el centro, que es el medio de los tres botones Alinear.

[ 18 ]

Chapter 1

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.

[ 19 ]

LiveCode Fundamentals

14. La ventana Script aparecer y mostrar un script de arranque, de en


siguiente captura de pantalla:

mouseUp, (Lnea en blanco), y final mouseUp como se muestra en la

15. Completar la secuencia de comandos escribiendo ir


blanco que le demos este guin final:
en mouseUp ir ahora final mouseUp

ahora en la lnea en

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.
Calculadora Simple, en algn lugar se puede encontrar fcilmente ms tarde.
[ 20 ]

18. Ahorre! En el men Archivo, seleccione Guardar y guarde la pila, con el nombre

Tal vez usted podra hacer una carpeta para guardar las pilas que usted har durante la lectura de este libro.

Chapter 1

[ 21 ]

LiveCode Fundamentals

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.
[ 22 ]

Chapter 1

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 ...

[ 23 ]

LiveCode Fundamentals

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. 2. 3.

Si no est ya ah, dirjase a la segunda tarjeta (la actualmente vaca). 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.

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. 5. 6. 7. 8. 9.

Establezca el nombre del botn para number7, y la etiqueta 7. Seleccione Guin objeto en el men de objetos para ver la secuencia de comandos de arranque como lo hizo con el botn Begin. En la lnea en blanco entre en mouseUp y mouseUp final, tipo
numberPressed la etiqueta de m.

Cierre y guarde el script. 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. Establezca el nombre de Number8, y la etiqueta 8. usando el nmero correspondiente en lugar de 8. Para el punto decimal, defina el nombre de
decimalpoint.

10. Repetir los pasos 8 y 9, por los botones 9, 4, 5, 6, 1, 2, 3, 0, y el punto decimal,

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 operatorPressed, hacer toda la lnea se lea operatorPressed el nombre corto de m.

para como

13. Duplicar el botn divisin tres veces ms, y establecer los nombres de se
multiplican,
[ 24 ]

plus, y menos. Ajuste las etiquetas para *, +, y -.

Chapter 1

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

[ 25 ]

LiveCode Fundamentals

15. Duplicar la es 16. 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. 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 20. Ahorre!

botones de usar que las herramientas Alinear para hacer su presentacin coincide con la calculadora de pantalla.

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
[ 26 ]

Chapter 1

o un poco menos detallado sintaxis:


el texto del miembro 1 = "hola mundo"

[ 27 ]

LiveCode Fundamentals

o un punto sintaxis:
miembro mundo" (1). text = "hola

En LiveCode no hay esa eleccin - lo que escribe tiene que ser en forma de:
poner valor contenedor en un

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 ["texto"] a m clipboardData

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 texto de m clipboardData ["texto"]
[ 28 ]

en

el

Chapter 1

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.

[ 29 ]

LiveCode Fundamentals

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 [ 30 ]

Chapter 1

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.

[ 31 ]

LiveCode Fundamentals

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)
[ 32 ]

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.

Chapter 1

[ 33 ]

LiveCode Fundamentals

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.
[ 34 ]

Chapter 1

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
[ 35 ]

LiveCode Fundamentals

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.

[ 36 ]

Chapter 1

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.
[ 37 ]

LiveCode Fundamentals

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

[ 38 ]

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 ...

Chapter 1

2.Seleccione las imgenes que representan los estados de inactividad y ms destacado, y haga clic en Abrir.

[ 39 ]

LiveCode Fundamentals

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.

[ 40 ]

Chapter 1

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:

[ 41 ]

LiveCode Fundamentals

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

[ 42 ]

Chapter 1

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.

[ 43 ]

LiveCode Fundamentals

Tambin hablamos 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.

[ 44 ]

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 vamos

Aqu ...

Getting Started with LiveCode Mobile

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/.

[ 36 ]

Chapter 2

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.

[ 37 ]

Getting Started with LiveCode Mobile

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!

[ 38 ]

Chapter 2

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 ...

[ 39 ]

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.

[ 40 ]

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.

[ 41 ]

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!

[ 42 ]

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!

[ 43 ]

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.

[ 44 ]

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.

[ 45 ]

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
[ 46 ]

Getting Started with LiveCode Mobile

restantes de la instalacin de SDK, como lo hara con cualquier instalador de Windows.

[ 47 ]

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!

[ 48 ]

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
[ 49 ]

Box. Munchies d. Cheesecake de limn

Chapter 2

[ 50 ]

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 es http://developer.apple.com/programs/ios/.

[ 51 ]

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.

[ 52 ]

Getting Started with LiveCode Mobile

Usted puede optar por inscribirse como individuo o como empresa. Vamos a elegir Individual.

[ 53 ]

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.

[ 54 ]

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 email 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.

[ 55 ]

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!

[ 56 ]

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.

[ 57 ]

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!

[ 58 ]

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.
[ 59 ]

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.

[ 60 ]

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.

[ 61 ]

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.

[ 62 ]

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.


[ 63 ]

4. 5. 6. 7. 8.

Chapter 2

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). Haga clic en el botn Inicio. Sintate pacientemente mientras el dispositivo virtual se pone en marcha! Abra LiveCode, y crear un nuevo Mainstack y Guardar la pila en su disco duro. Seleccione Archivo | Configuracin de aplicaciones independientes ....

[ 64 ]

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 Test submen.

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!

[ 65 ]

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. 2. 3. 4. 5. 6. 7. 8. 9.

En el Explorador de Windows, navegue hasta la ubicacin del archivo adb_usb.ini se encuentra, en C: \ Users \ nombredeusuario \
android \..

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. En la lnea despus de las tres lneas de instruccin, tipo de 0x1949. Asegrese de que no hay lneas en blanco, y el ltimo carcter del archivo de texto debe ser el 9al final de 0x1949. Guardar.

Vaya a donde android_winusb.inf se encuentra, en C: \ Archivos de programa (X86) \ Android \ android-sdk \ extras \ google \ USB_Driver \. 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. Abierto android_winusb.inf en el Bloc de notas. 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.
[ 66 ]

12. Haga clic en la entrada Kindle y seleccione Actualizar software de controlador ....

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.

[ 67 ]

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 \ platformtools \

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. 2. 3. 4. 5. 6. 7.
el 9

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
/.

Abrir el archivo adb_usb.ini en un editor de texto. En la lnea despus de las tres lneas de instruccin, tipo de 0x1949. Asegrese de que no hay lneas en blanco, y el ltimo carcter en el archivo de texto sera al final de 0x1949. Guardar. Open Utilities | Terminal. Usted puede dejar OSX saber cmo encontrar ADB desde cualquier lugar, al escribir esta lnea (reemplace yourusername 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 / platformtools

8.

Ahora, introduzca las mismas tres lneas que hicimos con Windows:
adb kill-server adb start-server adb dispositivos [ 68 ]

Getting Started with LiveCode Mobile

9.

Una vez ms, usted debe ver el Kindle Fire en la lista.

[ 69 ]

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. 2. 3. 4. 5.

Abra LiveCode, cree un nuevo Mainstack y guarde la pila en su disco duro. Seleccione Archivo | Configuracin de aplicaciones independientes .... Haga clic en el icono de iOS y seleccione la casilla de verificacin Generar para iOS. Cierre el cuadro de dilogo de configuracin, y echar un vistazo en el men Desarrollo. 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!


[ 70 ]

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.

[ 71 ]

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. 2. 3. 4. 5. 6. 7. 8. 9.

Abra LiveCode, cree un nuevo Mainstack, y gurdelo en un lugar donde es fcil encontrar en un momento de ahora.

Establecer la ventana de la tarjeta a un tamao de 1024x768, y desactive la casilla de verificacin Redimensionable. 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! Si est desarrollando en Windows, vaya al paso 11. Abra la aplicacin autnoma de dilogo Configuracin, haga clic en el icono de iOS y seleccione la casilla de verificacin Generar para iOS. En Opciones de orientacin, establecer la orientacin inicial iPhone en horizontal. Cierre el cuadro de dilogo. Desde el Desarrollo / Target Test sub-men, seleccione el simulador de iPad. 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.
[ 72 ]

Getting Started with LiveCode Mobile

18. Usted debe ahora ver a su pila de prueba que se ejecuta en el emulador de Android! What just happened?

[ 73 ]

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. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6.

Se le debe quedar seleccionado en Configuracin Android aplicacin independiente.

Obtenga su dispositivo a su pantalla de inicio, ms all de la pantalla de bloqueo inicial, si es que existe. Elige Desarrollo / Target Test y seleccione su dispositivo Android. Bien puede decir Androide y un nmero muy largo. Elige Desarrollo / Test. La pila debe ahora estar ejecutndose en su dispositivo

Android. Ahora iOS ... 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. Cambiar la configuracin de aplicacin independiente de nuevo a iOS. 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. Cierre el cuadro de dilogo y selecciona Guardar como aplicacin autnoma ... en el Expediente men. 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.

Abra Xcode, que est en la carpeta del desarrollador que cre anteriormente, en el Aplicaciones sub-carpeta.
[ 74 ]

Getting Started with LiveCode Mobile

7. just En Xcode, seleccione Organizador en el men Ventana y seleccione Dispositivos, What happened?
si no est ya seleccionado.

8. 9.

Debe aparecer en la lista. Seleccinelo, y si ves un botn etiquetado para uso Desarrollo, haga clic en ese botn.

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/
[ 75 ]

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.

[ 76 ]

Getting Started with LiveCode Mobile

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
[ 77 ]

Building User Interfaces

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. 2. 3. 4.

LiveCode Abrir, crear un nuevo Mainstack y Guardar como LCTestBed. 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. Vamos a hacer un botn por cada carta en la pila. Comience por hacer una llamada
Men.

Nombre de la primera tarjeta Men.

[ 70 ]

Chapter 3

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. 6.

Cree cuatro nuevas cartas. Nombre cada uno de tal manera que coincida con uno de los nombres de los botones. 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. 8.

En cada tarjeta, crear un botn para volver a la tarjeta de men. Nombre del botn Establezca su guin a los mismos que los otros botones. 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.

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.
[ 71 ]

Building User Interfaces

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. 2. 3.

Ir a la tarjeta e-mail y crear cuatro campos. Nmbrelos Desde, CC, Asunto, y Cuerpo. Hacer un botn denominado Test. 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. 5.

Seleccione la herramienta de ejecucin y la informacin de ejemplo tipo en cada uno de los campos. 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


[ 72 ]

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.

Chapter 3

[ 73 ]

Building User Interfaces

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. 2. 3. 4. 5. 6.

Asegrese de que Android est activada en la configuracin de aplicacin independiente Cuadro de dilogo. En el campo de identificador, el tipo de un identificador que ser nico. com.yourname. lctestbed iba a hacer.

Obtenga su dispositivo a su pantalla de inicio, ms all de la pantalla de bloqueo inicial, si es que existe. En LiveCode, elija Desarrollo / Target Test y seleccione su dispositivo Android. Se llamar Androide seguido de un nmero largo. Elige Desarrollo / Test. 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.
[ 74 ]

Chapter 3

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. 9.

Cambiar la configuracin de aplicacin independiente para iOS. 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. Android, com.yourname. lctestbed iba a hacer. sunombre Por supuesto, sera su nombre, o el nombre de su empresa. Dispositivos compatibles en el men desplegable. Expediente men.

10. En el campo de aplicacin interna en un ID nico de identificacin. Al igual que con 11. Si est probando el iPad, seleccione la opcin iPod, iPhone y iPad de la 12. Cierre el cuadro de dilogo y selecciona Guardar como aplicacin autnoma ... en el 13. Cuando el proceso de almacenamiento se haya completado puede ver un 14. En Finder, busque la carpeta que acaba de crear, y lo abre para revelar la
App propio archivo. mensaje de advertencia, informndole sobre pantallas de inicio y los iconos que faltan. No haga caso de estos por ahora.

15. Abra Xcode y seleccione Organizador en el men Ventana y, a continuacin, seleccione


Dispositivos, si no est ya seleccionado.
[ 75 ]

Building User Interfaces

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. 2.

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. 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.
[ 76 ]

Chapter 3

Tratar la aplicacin en dispositivos es exactamente lo mismo que con las pruebas de la funcin de correo electrnico. Para Android:

1. 2. 3. 4. 5.
Para iOS:

Seleccione Android en el cuadro de dilogo Configuracin de la aplicacin independiente. Selecciona tu dispositivo Android como el blanco de prueba en el men de Desarrollo (muy probablemente ya se habr seleccionado de la prueba anterior). Seleccione Prueba en el men Desarrollo. La prueba anterior de la aplicacin se pueden sobrescribir, y la nueva versin se iniciar automticamente. 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.

1. 2.

Seleccione iOS en el cuadro de dilogo Configuracin de la aplicacin independiente.

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
[ 77 ]

Building User Interfaces

fecha

El siguiente par de ejemplos vamos a tratar son los que slo funcionan en los dispositivos mviles, no en las computadoras de escritorio.

[ 78 ]

Chapter 3

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. 2.

Copie el botn de prueba de la tarjeta de explorador y pegarlo en la tarjeta DatePicker. Cambiar el guin a lo siguiente:
en mouseUp iphonePickDate "fecha" mouseUp final

3. 4. 5. 6. 7.

Seleccione la herramienta Ejecutar y probar el botn de prueba. Vers un error, porque esta es una caracterstica de slo mvil. 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. Ver su stack abrir en el simulador de iOS, y puedes probar el DatePicker y Prueba botones, para ver el selector de fechas iOS se est visualizando. 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. 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.

[ 79 ]

Building User Interfaces

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. 2.

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.

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. 6.

Ir a Ajustes aplicacin independiente, y seleccionar Android. 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:

[ 80 ]

7.

Chapter 3

Repita los pasos habituales para las pruebas en su dispositivo Android, o instalar en su dispositivo iOS.

[ 81 ]

Building User Interfaces

8. 9.

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. 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. 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.

10. Pruebe el botn de la cmara de prueba. Ver la aplicacin de la cmara con sistema operativo

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 4 a. 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.
[ 82 ]

Chapter 3

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-foriOS 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. 4. 5. 6.

Abra el archivo en Photoshop (puede abrir automticamente).

En la paleta Capas ocultar las capas nombradas Antecedentes y Barra de Herramientas Retina. Expanda la capa denominada Button Bar - Retina, y ocultar la capa de la etiqueta del botn. Utilice la herramienta Marco para seleccionar un rea alrededor del botn lateral superior derecho. Ahora debera tener el siguiente aspecto:

[ 83 ]

Building User Interfaces

7. 8. 9.

Elija Copiar combinado en el men Editar.

Seleccione Nuevo en el men Archivo, asegrese de que el contenido de fondo se establece en Transparente, y aceptar el tamao que le den. 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
[ 84 ]

bsicas para cada imagen.

Chapter 3

19. Aadir un nuevo botn a la primera tarjeta, y le dan el nombre Ubicacin.

[ 85 ]

Building User Interfaces

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. mostrar la imagen azul sin que se recorta.

27. Cambiar el tamao del botn para ser lo suficientemente grande como para 28. Coloque un campo Etiqueta en la parte superior de la tecla. 29. En Propiedades Bsicas, marque la casilla para discapacitados. Esto es para 30. En Contenido, introduzca Ubicacin. 31. En Formato de texto, establezca el campo para utilizar Helvetica
Bold, y centro alineados. Neue, 18 punto,

asegurarse de que el campo no atrapar el clic que usted va a hacer. Queremos que el botn para obtener ese clic.

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).

[ 86 ]

Chapter 3

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.

[ 87 ]

Building User Interfaces

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. 2. 3. 4. 5.

Descargue la versin ms reciente de MobGUI de


http://mobgui.com/download. php.

El archivo comprimido se ampliar para convertirse en una pila LiveCode, llamado Arrastre la pila en la plugins carpeta y volver a abrir LiveCode. Hacer una nueva Maintstack. En el men Desarrollo, elige Plugins / revMobGUI. Esta ventana aparecer:

revMobGUI.livecode.

[ 88 ]

Chapter 3

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. 8. 9.

La ventana MobGUI se parece mucho a una combinacin de la herramienta y LiveCode Inspector paletas. Intenta arrastrar elementos diferentes en la tarjeta, y mirar las opciones para cada artculo. 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.
[ 89 ]

Building User Interfaces

12. Haga clic en el control Button y seleccione 4 de la lista.

[ 90 ]

Chapter 3

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. 2. 3.

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! Abra la ventana MobGUI, seleccionando el Desarrollo / Plugins / revMobGUI. 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.

[ 91 ]

Building User Interfaces

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. 6. 7. 8. 9.

Establezca el nombre de esta primera carta a Correo electrnico. 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. Arrastre el control de BG en la tarjeta. Se va a crear una capa de fondo. 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. Haga clic en el botn de control en la ventana MobGUI y seleccione 4. barra de pestaas. Cuatro botones sern aadidos.

10. Arrastre los botones en la ventana de la tarjeta, en la parte superior de la 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.
electrnico, Navegador, DatePicker, y Imagen.

12. Seleccione cada botn y establecer los nombres y etiquetas a Correo 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:

[ 92 ]

Chapter 3

14. Usted puede agregar a la secuencia de comandos. Modifique la Touchstart


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

controlador

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. peridica, marque la casilla de comportarse como un fondo.

17. Asegrese de que el grupo es seleccionado y en la paleta Inspector LiveCode 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, dispositivo que desea probar sucesivamente.

21. En Configuracin de la aplicacin autnoma, elegir iOS o Android, segn el 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
[ 93 ]

Building User Interfaces

alrededor hasta que te gusta el diseo se ahorrar un montn de tiempo.

[ 94 ]

Chapter 3

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. 2.

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.

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. 4.

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. 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:

[ 95 ]

Building User Interfaces

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. 8. 9.

Ir a la tarjeta Browser. 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. Arrastre un control de explorador (el que muestra Google como su imagen) en la ventana de la tarjeta, y el nombre Page. y el control del explorador llena la zona entre el campo de texto y la barra de pestaas en la parte inferior. para el URL. Esto har que el control de la carga navegador la URL como su primera pgina.

10. Ajustar los tamaos de modo que el campo de texto llena el ancho de la tarjeta, 11. Seleccione el control del navegador, y en la ventana MobGUI introduzca un valor 12. Edite el script del campo de texto URL, y aadir este controlador:
en inputReturnKey mobBrowserSet "Pgina", "url", mobFieldGet ("URL", "texto") final inputReturnKey [ 96 ]

13. Pruebe con otra prueba, e ir a las tarjetas de correo electrnico y el explorador para verlos en accin.

Chapter 3

[ 97 ]

Building User Interfaces

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 uso de 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
[ 98 ]

anchura y altura.

Chapter 3

[ 99 ]

Building User Interfaces

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. 2. 3.

Crear un nuevo Mainstack. Aadir cuatro botones travs de la anchura de la tarjeta. 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. 5. 6. 7. 8. 9.

Cambiar el tamao de la ventana de la tarjeta. Los botones deben extenderse uniformemente a travs de la tarjeta. Vaya a Ajustes aplicacin independiente y seleccione la opcin iOS. Asegrese de que los dispositivos compatibles incluyen los iPad. Establezca las opciones de orientacin para incluir las cuatro orientaciones. En el men de Desarrollo estableci el objetivo de prueba para ser el simulador de iPad, y hacer una prueba. En el simulador, elija Rotar a la izquierda o Girar a la derecha, en el men Hardware. y paisaje.

10. Los botones deben propagarse por toda la pantalla, tanto en orientacin vertical

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.
[ 100 ]

Chapter 3

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.
[ 101 ]

Building User Interfaces

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. 2. 3. 4.

Tomar los primeros cuatro botones y duplicar ellos, por poner otro juego de cuatro por debajo de los primeros. 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. Haga lo mismo con los otros tres botones. 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!
[ 102 ]

Chapter 3

Layout MobGUI

usando

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. 2. 3. 4. 5. 6. 7. 8. 9.

Crear un nuevo Mainstack.

Uso de la ventana MobGUI, establezca la ventana de la tarjeta para iPhone de tamao y Paisaje. Arrastre un control NavBar en la tarjeta. Arrastre un TabBar en la tarjeta. 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. 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. Haga clic en la imagen en la ventana de iPhone MobGUI, y cambiar la orientacin de ser Retrato. Seleccione la barra de pestaas y sus botones, y moverlos a la parte inferior de la ventana de la tarjeta vertical. 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.
[ 103 ]

Building User Interfaces

10. Trate de hacer clic en el Retrato y Paisaje botones. El diseo debe cambiar a lo que haba
creado cuidadosamente.

[ 104 ]

Chapter 3

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

[ 105 ]

Building User Interfaces

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.

[ 106 ]

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

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.
[ 100 ]

Chapter 4

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!
[ 101 ]

Using Remote Data and Media

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 [ 102 ]

Chapter 4 Acard saveNavState go tarjeta final navTo

[ 103 ]

Using Remote Data and Media

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"
[ 104 ]

Chapter 4

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.
[ 105 ]

Using Remote Data and Media

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.
[ 106 ]

Chapter 4

Los archivos detextoqueseincluyenenunaaplicacinmvil estarenlamismaubicacinquelaaplicacinens,ylos archivos detextoquedeseaescribirdebeestareneldocumentos 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 poner "file:" & specialFolderPath ("motor") & prefstext y te "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.

[ 107 ]

Using Remote Data and Media

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. 2. 3.

Iniciar un nuevo Mainstack, con un nombre de LaunchStack. Gurdelo en un lugar distinto carpeta de su ordenador documentos. Inicie otra Mainstack nuevo, con un nombre de AppStack. Gurdelo junto a la primera pila. 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. 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 [ 108 ]

4.

Chapter 4 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

[ 109 ]

Using Remote Data and Media 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. 2. 3. 4.

Busque en su Documentos carpeta, y no debera ser una AppStack.livecode presentar en el momento. 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. Busque en su Documentos carpeta, y ahora debera ser una AppStack.livecode archivo, con un tiempo de creacin que coincide con la hora actual. 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. 2. 3. 4. 5.

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. Ir a Ajustes aplicacin independiente, y elija la seccin Copiar archivos. Haga clic en Agregar archivo ... y localizar y aadir el original AppStack.livecode pila (no el que se cre con la prueba anterior). Elija la seccin Android o iOS de los ajustes de aplicacin independiente, y marque la casilla para crear la aplicacin para esa plataforma. 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.

[ 110 ]

Chapter 4

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 un specialFolderPath tipo? a.Users b. Casa c.Desktop d. 0x000e

[ 111 ]

Using Remote Data and Media

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. 2. 3. 4. 5.

Crear un nuevo Mainstack, establezca su nombre por el de WebScraper, y guardarlo en algn lugar. Usaremos MobGUI de nuevo, para hacer la vida ms fcil. Seleccione revMobGUI de la Desarrollo / Plugins submen. 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. Desactive la casilla de la barra de estado. 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. 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. 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. Dar los cinco botones de los nombres BrowserButton, Links, Texto, Medios de comunicacin, y Keepers. 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 [ 112 ]

6. 7. 8. 8.

Chapter 4 final Touchstart

9.

Establezca el nombre de la barra de navegacin a NavBar.

[ 113 ]

Using Remote Data and Media

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
comunicacin, y Keepers.

de

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. cambio NavBar, y el botn de pestaa seleccionada debe ser el que has seleccionado.

18. Haga clic o toque en los botones de ficha cinco, y usted debera ver el nombre del

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.

[ 114 ]

Chapter 4

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.
[ 115 ]

Using Remote Data and Media

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. 2. 3.

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. 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.

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 [ 116 ]

Chapter 4 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.

[ 117 ]

Using Remote Data and Media

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-texttransformacin

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
[ 118 ]

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 ...

Chapter 4

[ 119 ]

Using Remote Data and Media

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 de a 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. 2.

Crear un nuevo Mainstack. Gurdalo, slo para estar seguro! Aade un par de campos y un botn.

[ 120 ]

Chapter 4

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. 6.

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. 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. 8.

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. 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. 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

10. Ahora vers que hay lneas slo con los enlaces en ellos, pero todava incluyen la

11. Si ahora hace clic en el botn que debe obtener una lista de slo la parte URL de
[ 121 ]

Using Remote Data and Media

cada lnea. Pero ntese que la mayor parte de los enlaces de comenzar con /, y no
http.

[ 122 ]

Chapter 4

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
volver "" getPath final

esta direccin URL extrao vnculo estructurado no se enciende para confundirnos ms tarde:

[ 123 ]

Using Remote Data and Media

18. Para obtenerel getLinks

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
[ 124 ]

prueba, y que los has copiado en el guin pila WebScraper.

Chapter 4

1.

Ir a la tarjeta de la pila Links WebScraper.

[ 125 ]

Using Remote Data and Media

2. 3.

En la ventana MobGUI, haga clic en el botn Aadir preOpenCard guin. 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. 5.
el

Es una prueba de la aplicacin. En el simulador de iPhone o dispositivo Android, si eso es lo que est utilizando, Cambiar URL a http://www.runrev.com/, y seleccione el botn Go. Cuando se carga la pgina, seleccione el botn ficha Vnculos. Ahora debera estar buscando en la lista de 12 enlaces, slo que esta vez se presentan en una lista selector nativo. Seleccione el enlace de tercero en la lista y, a continuacin, Hecho. Usted debe ser llevado de vuelta a la tarjeta del navegador, con la pgina de Facebook de RunRev cargado.

6. 7. 8. 9.

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,
[ 126 ]

mediante el uso de la lnea:


mobilePick gLinks, 0 Chapter 4

[ 127 ]

Using Remote Data and Media

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-readableno-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. 2.

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. 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. 4. 5.

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. Copie la funcin y volver a la secuencia de comandos de pila WebScraper. Pegue la funcin all.

Ir a la tarjeta de texto de la pila, y desde la ventana MobGUI arrastrar un texto de lneas mltiples
[ 128 ]

controlar en la tarjeta. Establezca su nombre por el de PageText.

Chapter 4

6.

Cambiar el tamao del control para rellenar el rea entre la barra de navegacin y el TabBar.

[ 129 ]

Chapter 4

7. 8.

En las propiedades de la ventana MobGUI para el control, desactive la casilla editable. 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.
[ 130 ]

Using Remote Data and Media

1. 2.

Usted puede tambin dirigirse a la pila de prueba! 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.

[ 131 ]

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
[ 132 ]

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.

[ 133 ]

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. 2.

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. 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
[ 134 ]

Using Remote Data and Media

seleccionado algo que llamamos un showMedia funcin del guin pila. Edite el script de pila.

4.

[ 135 ]

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. 7. 8. 9.

Prueba la aplicacin. Usted puede comenzar con la pgina google.com, pulse el botn ficha Medios para ver una lista de las imgenes utilizadas en esa pgina. Seleccione una imagen de la lista y pulse Hecho. 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!

[ 136 ]

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. en el mismo jugador que el vdeo que se reproduce in

19. Seleccione uno de los archivos MP3 de la lista, y pulse Hecho. El MP3 deben jugar

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!

[ 137 ]

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

[ 138 ]

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. 5. 6.

Aada esta lnea al diablico botn Multimedia Touchstart handler:


campo showMedia "mediaURL"

Seleccione los cuatro controles y agruparlos. Marque la casilla que dice comportarse como un fondo. Asigne un nombre al grupo como keeperbuttons. 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. 8. 9.

Ahora tenemos que volver atrs y aadir algunas cosas a la tarjeta de memoria. Vaya a la tarjeta de memoria, y agregue un botn MobGUI. Establezca el nombre y la etiqueta al Mantenga Media. 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. funcin para que las lneas

10. En el guin de tarjetas multimedia, modifique el init


posteriores leer:

si el resultado> 0 entonces poner el resultado en tMediaLine poner tMediaLine lnea de gMediaList en gLastMedia showMedia gLastMedia End If [ 139 ]

11. Cambie la lnea global de declaracin de variables para incluir la gLastMedia

Chapter 4

variable.

[ 140 ]

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. Prueba la aplicacin. Utilice la tarjeta de explorador para cargar una pgina con un 14. Seleccione cualquier elemento, seguido de Hecho.

montn de imgenes, vdeos o sonidos en l, y vaya a la tarjeta de memoria para ver los listados.

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
[ 141 ]

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.

Chapter 4

[ 142 ]

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.

[ 143 ]

Chapter 4

[ 144 ]

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

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 con var 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.
[ 132 ]

Chapter 5

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!
[ 133 ]

Making a Jigsaw Puzzle Application

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- iconvertir-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.


[ 134 ]

Usaremos la misma pila para ilustrar varias cosas, y al final podemos atrevernos a probar en un dispositivo mvil!

Chapter 5

[ 135 ]

Making a Jigsaw Puzzle Application

2. 3.

Hacer la pila del tamao de su dispositivo ms grande prueba. O simplemente tratar de 1024x768 si vamos a usar el simulador de iPad. 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. 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. 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

4. 5.

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. 8.

Tenga en cuenta que las dos lneas estn comentadas. LiveCode slo se quejara si seguimos pidiendo getPixel, antes de haber creado esa funcin! 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
[ 136 ]

Chapter 5

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!
[ 137 ]

Making a Jigsaw Puzzle Application

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.

[ 138 ]

Chapter 5

3. 4. 5.

Si usted tiene Adobe Illustrator, abra el archivo SVG. Si no es as, abrirlo con GIMP. 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.

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.

[ 139 ]

Making a Jigsaw Puzzle Application

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. 8. 9.

Si est utilizando Illustrator, establecer el fondo para ser el blanco, y el ser anti-aliasing Ninguno. Con GIMP, asegrese de que el PNG se guarda sin un canal alfa. Escriba la lnea seguida por la tecla Enter en el cuadro de mensaje:
establecer el screengamma a 2,23

para

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 la estado 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.
[ 140 ]

Chapter 5

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.
[ 141 ]

Making a Jigsaw Puzzle Application

2. 3.

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

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.

[ 142 ]

Chapter 5

4. 5. 6. 7. 8. 9.

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. En la ventana de su editor de imgenes de Capas, duplicar la capa inicial. Hacer una nueva capa transparente, bajo la capa de la imagen duplicada. Eliminar la capa original. 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. 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). 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:

10. Tmese su tiempo para llenar los vacos pequeos. Adems, colocar un borde grueso alrededor del

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.

[ 143 ]

Chapter 5

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 duplicado de 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:

[ 141 ]

Making a Jigsaw Puzzle Application

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. 2. 3.

Importe la imagen como un control, y colocarlo en algn lugar de la zona blanca de la ImageDataTests apilar. Nombre que car1. 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. 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. Aada una lnea para las variables globales que vamos a necesitar:
gBackdropMaskData mundial, gMaskWidth, gSpeeds, gMovingCars, gMaskWidth

4. 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

[ 142 ]

Chapter 5 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

[ 143 ]

Making a Jigsaw Puzzle Application 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 [ 144 ]

Chapter 5 + 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

[ 145 ]

Making a Jigsaw Puzzle Application 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 + (tLookAheadXtem 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 la moveCars 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 [ 146 ]

Chapter 5 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!

[ 147 ]

Making a Jigsaw Puzzle Application

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!
[ 148 ]

Chapter 5

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


[ 149 ]

Making a Jigsaw Puzzle Application

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

[ 150 ]

Chapter 5

1. 2. 3. 4. 5. 6. 7.

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. Abra la imagen del rompecabezas entero en su editor de imgenes. Utilice la herramienta Varita mgica para recoger la parte interior de la pieza lateral superior izquierdo del rompecabezas. Rellene que con un color que hace que sea fcil de detectar posibles lagunas restantes. Copiar y pegar en un documento nuevo (con un fondo transparente) que es el tamao de la pieza que ha copiado. Repare las lagunas, con la herramienta pincel establece en el mismo color de relleno. 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. 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.
[ 151 ]

8.

Making a Jigsaw Puzzle Application

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.

[ 152 ]

Chapter 5

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
en mouseUp LoadImage "cmara" fin mouseUp

y una etiqueta de Tomar una foto. Establecer las secuencias de comandos de botones en el siguiente:

15. Hacer otro botn, denominado fromlibrary


imagen, con este script:
en mouseUp LoadImage

y etiquetados Cargar una

[ 153 ]

Making a Jigsaw Puzzle Application "biblioteca" fin mouseUp

[ 154 ]

Chapter 5

16. Edite el script de la tarjeta y aadir estas variables y funciones globales, que se
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

inicializan los valores que sern necesarios por las otras funciones que vamos a hacer:

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 [ 155 ]

Making a Jigsaw Puzzle Application

18. La makepuzzle

y dispersin lneas estn comentadas por el momento, de modo que usted puede probar las funciones creadas hasta el momento. efectos grficos de la paleta Inspector.

19. Ajuste los botones para tener una sombra, utilizando las opciones en el panel de

[ 156 ]

Chapter 5

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
[ 151 ]

Making a Jigsaw Puzzle Application

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

[ 152 ]

Chapter 5 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
[ 153 ]

Making a Jigsaw Puzzle Application

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

[ 154 ]

Chapter 5

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 [ 155 ]

Making a Jigsaw Puzzle Application 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.

[ 156 ]

Chapter 5

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.
[ 157 ]

Making a Jigsaw Puzzle Application

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. 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

3.

4.

El proceso de registro del nombre de destino es una forma rpida de asegurarse de


[ 158 ]

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.

Chapter 5

[ 159 ]

Making a Jigsaw Puzzle Application

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. 8.

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. 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 [ 160 ]

Chapter 5 funcin de la distancia dx, dy sqrt retorno (dx * dx + dy * dy) final distancia

[ 161 ]

Making a Jigsaw Puzzle Application

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. lnea utiliza LiveCode de mover funcin, que animar la pieza en su lugar. controlador para el guin de pila:

11. La mover

12. Una ltima cosa, vamos a ver si el puzzle se completa. Aadir este
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.

[ 162 ]

Chapter 5

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!)

[ 163 ]

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


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.
[ 160 ]

Chapter 6

"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. 2.

Crear un nuevo Mainstack, que sea ReminderFunctions, y guardar la pila. Agregue dos campos y dos botones.
[ 161 ]

Making a Reminder Application

3. 4. 5.

Nombre un campo dateinseconds y el otro tiempoEnSegundos. Nombre de los botones Elija la fecha y Elige Time. 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. 8. 9.

Ajuste de la configuracin de aplicacin independiente, de modo que usted puede probar en iOS o Android. Elija su destino de prueba (en este caso, se puede ver que iPhone Simulator fue elegido como el destino), y hacer una prueba. 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.

[ 162 ]

Chapter 6

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.

[ 163 ]

Making a Reminder Application

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
[ 164 ]

excesivos.

Chapter 6

[ 165 ]

Making a Reminder Application

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. 2.

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. 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. Vaya a Ajustes aplicacin independiente, elegir el dispositivo de destino: iOS o Android. 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).

4. 5.

[ 166 ]

Chapter 6

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. 9.

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! 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:

[ 167 ]

Making a Reminder Application

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:
[ 168 ]

Chapter 6

http://www.movable-type.co.uk/scripts/latlong.html

[ 169 ]

Making a Reminder Application

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 (1a)) 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
[ 170 ]

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.

Chapter 6

[ 171 ]

Making a Reminder Application

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 entrada de la funcin de esa entrada. En estos momentos, las nicas dos funciones son ubicacin y recordatorio. He aqu un ejemplo de lo que el archivo de texto podra ser:
Ubicacin Home40.692636 -73,978376 [ 172 ]

Chapter 6 Ubicacin Oficina 40.745194 -73,985199 Casa falso Recordator Packt Pida ms tiempo! 1334548800 io ReminderBossBuy lunch1334592000Office verdadero

[ 173 ]

Making a Reminder Application

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
[ 174 ]

descriptivo, pero sera un nombre demasiado largo si usted est usando un iPhone.

Chapter 6

[ 175 ]

Chapter 6

2. 3. 4. 5.

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. Ir a Ajustes aplicacin independiente, y establecer los valores de la misma manera que lo hicimos durante las pruebas de la funcin de localizacin. Establezca el nombre de la primera carta que se casa. 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. 7.

Agregar un botn ms, de nombre Eliminar ubicacin o Recordatorio.

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:

[ 171 ]

Making a Reminder Application

9.

Hacer una nueva tarjeta y asgnele el nombre ubicacin.


la latitud y longitud de esta localidad.

10. Agregar un campo y establezca sus contenidos para decir: Introduzca 11. Agregue dos campos de entrada con nombre latitud 12. Cree un botn llamado Ajuste
Evite errores tipogrficos

y longitud.

a la ubicacin actual.

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


ubicacin:.

un nombre para esta

14. Agregar un campo de entrada en tercer lugar, el nombre localizacin 15. Por ltimo, aadir un botn denominado Aadir
Cancelar.

nombre.

ubicacin y uno llamado

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:

[ 172 ]

Chapter 6

18. Haga una tercera carta y el nombre de recordatorio. 19. Agregue dos campos de instruccin que dicen: Escriba
recordatorio: y Introduzca una breve descripcin:. un ttulo para este

20. Cree dos campos de entrada con nombre ttulo 21. Cree tres botones denominados Establecer
de la fecha, y Establecer hora.

y Descripcin.

ubicacin Conexas Configuracin

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 24. Por ltimo, cree dos botones ms nombrados Agregar

sonido de alerta.

aviso y Cancelar.

25. Organizar todos estos elementos para aparecer como sigue:

[ 173 ]

Making a Reminder Application

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. 2.

Abra el script de pila. 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
[ 174 ]

desaparece cuando se presiona el botn. Tambin atrapar el returnInField mensaje, y usar eso como una manera de poner realmente el control del teclado.

Chapter 6

[ 175 ]

Making a Reminder Application

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
[ 176 ]

guin, pero tenerlo en el Apilar nivel se mantiene cerca de otras funciones que se relacionan. Escriba en este momento.
en showData mundial gReminderData

Chapter 6

[ 177 ]

Making a Reminder Application 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 [ 178 ]

Chapter 6 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

[ 179 ]

Making a Reminder Application 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.
[ 180 ]

Chapter 6

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. 2.

Edite el script del botn Ordenar por Time, en la primera carta. 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. 4.

Cmo prepararse mentalmente y luego editar el script del botn Ordenar por Ubicacin. 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 [ 181 ]

Making a Reminder Application funcin GetDistance Plat, submarinismo natacin, pLocName si pLocName est vaca luego regresar 1000000 gReminderData mundial puesto vaco en TLAT

[ 182 ]

Chapter 6 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 (1a)) 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
[ 183 ]

Making a Reminder Application

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

[ 184 ]

Chapter 6

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.
[ 185 ]

Making a Reminder Application

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. 3.

Nada demasiado complicado all, la ubicacin se agarr y la latitud y longitud entradas se almacenan en los dos campos. 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 [ 186 ]

Chapter 6 "Latitud" y ficha y campo "longitud" en tLocationDetails si gReminderData = "hay entradas" y luego poner en tLocationDetails gReminderData ms

[ 187 ]

Making a Reminder Application 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 [ 188 ]

Chapter 6 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."

[ 189 ]

Making a Reminder Application 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
[ 190 ]

trabajo duro.

Chapter 6

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

[ 191 ]

Making a Reminder Application 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.
[ 192 ]

Chapter 6

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!

[ 193 ]

Making a Reminder Application

[ 194 ]

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

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):

[ 188 ]

Chapter 7

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 ...

[ 189 ]

Deploying to Your Device

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.

[ 190 ]

Chapter 7

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
[ 191 ]

Deploying to Your Device

com.yourname.yourappname.

[ 192 ]

Chapter 7

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:

[ 193 ]

Deploying to Your Device

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 la Default.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.

[ 194 ]

Chapter 7

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
[ 195 ]

Deploying to Your Device

de que el tipo de funcin de distancia podra funcionar. Aqu est la lista completa:

[ 196 ]

Chapter 7

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:

[ 197 ]

Deploying to Your Device

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.
[ 198 ]

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

Chapter 7

[ 199 ]

Deploying to Your Device

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:

[ 200 ]

Chapter 7

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:

[ 201 ]

Deploying to Your Device

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
[ 202 ]

instalacin de la aplicacin.

Chapter 7

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.

[ 203 ]

Deploying to Your Device

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:

[ 204 ]

Chapter 7

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.
[ 205 ]

Deploying to Your Device

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:

[ 206 ]

Chapter 7

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:

[ 207 ]

Deploying to Your Device

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 autoasignado. 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
[ 208 ]

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 \

Chapter 7

[ 209 ]

Deploying to Your Device

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.

[ 210 ]

Chapter 7

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.

[ 211 ]

Deploying to Your Device

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:

[ 212 ]

Chapter 7

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
[ 213 ]

Deploying to Your Device

el proceso de vez en cuando. Por ejemplo, Google incluso cambi el nombre de su servicio desde el captulo 2 se ha escrito!

[ 214 ]

Chapter 7

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
[ 215 ]

Deploying to Your Device

entender todas las preguntas, y no te pierdas algo importante que te perseguir ms tarde.

[ 216 ]

Chapter 7

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 addons para LiveCode que le permiten utilizar las funciones ms mviles.

[ 217 ]

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

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-AppTienda-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-makeKevin-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[ 212 ]

Appendix

usuario a medida-plugins

[ 213 ]

Extending LiveCode

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:

[ 214 ]

Appendix

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.

[ 215 ]

Extending LiveCode

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.

modal.

mergAnswerColor: Se trata de un externo iOS que presenta un selector de color 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.

SMS.

mergMessage: Esta es una externa iOS que aade un comando para enviar un mensaje

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.

tweet.

mergTweet: Esta es una externa iOS que aade un comando para enviar un mensaje 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


[ 216 ]

leer una amplia gama de tipos de cdigos de barras a travs de la cmara trasera de un dispositivo mvil.

Appendix

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/

[ 217 ]

Extending LiveCode

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 DropToolscompatible. 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/

[ 218 ]

Appendix

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.

[ 219 ]

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. Sin embargo, de hecho existe un men de texto. Realmente eso es lo que debera haber utilizado!

Pop Quiz Answers

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.

[ 220 ]

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-livecodemensaje-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
[ 221 ]

hay tramos largos de mismos pxeles de colores para la compresin de datos para funcionar bien.

[ 222 ]

Pop Quiz Answers

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!

[ 222 ]

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
[ 221 ]

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

D
selectores de fecha creando 161-164

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
[ 224 ]

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
[ 225 ]

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

iOS certificado de distribucin, creando para 206208

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
[ 226 ]

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

[ 227 ]

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
[ 226 ]

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

LiveCode aplicacin otra pila, utilizando para el almacenamiento de datos 107 almacenamiento de datos pila, creando 107109 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

[ 227 ]

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

Photoshop aproximadamente 133

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
[ 228 ]

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

[ 229 ]

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

[ 228 ]

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

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

W
pgina web, banco de pruebas de aplicaciones mviles aplicacin del navegador nativo, llamando a 75

[ 229 ]

[ 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

Anda mungkin juga menyukai