Categorías
iOS

Persistiendo datos en iOS

iOS de forma nativa tiene su propia herramienta, Core Data. Un ejemplo fácil para comenzar y hacerse con esta herramienta: https://github.com/iascchen/SwiftCoreDataSimpleDemo Ejemplos de insert, update y delete: https://www.andrewcbancroft.com/2015/02/18/core-data-cheat-sheet-for-swift-ios-developers/#update-single-entity

Categorías
iOS

iOS – Custom Fonts

Tres pasos para añadir una nueva fuente a iOS: Añadir fuente .ttf o .otf al proyecto. Asegurarse que de que se selecciona el Target del proyecto al añadir la fuente. Modificar el info.plist del proyecto añadiendo una variable de tipo Array con el nombre «Fonts provided by application» y añadir una línea de tipo String por […]

Categorías
General

Formatear texto HTML + negrita en UILabel

Interpretar un texto con etiquetas HTML no es tarea fácil en iOS. Para interpretar las etiquetas habrá que usar el siguiente código: let textFormat = try! NSAttributedString( data: textToFormat!.dataUsingEncoding(NSUnicodeStringEncoding, allowLossyConversion: true)!, options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil) Si el anterior código no interpreta etiquetas <b> o <strong> (iOS 9), habrá que utilizar el siguiente código. Añadir […]

Categorías
Android iOS

Cocos2d-x – Comunicación entre código C++ y propio de Android (Java)

Guía completa con ejemplos y tipos de llamadas para la comunicación en una aplicación de Cocos2d-x con Android. 1: http://stnguyen.com/cocos2d-x/call-java-functions-from-cpp.html 2: http://stnguyen.com/cocos2d-x/call-cpp-functions-from-java.html

Categorías
General

iOS – Creación de Targets

Si queremos una configuración distinta para nuestro proyecto, por ejemplo para crear la versión lite o la versión pro de nuestra aplicación, seguir los siguientes pasos para realizar una configuración personalizada: Pulsar sobre la cabecera de nuestro proyecto en la vista de carpetas, esto abrirá la configuración del proyecto (General, Build Settings, Info…) En la […]

Categorías
Android

Diseño de Layouts: @Strings

Cuando estamos diseñando un layout para nuestra aplicación vamos poniendo textos de prueba para ver que tal va quedando pero, si este texto va a cambiar debido a que el texto venga de servidor (lista de comentarios, nombres de amigos, textos, etc…) no podemos dejar visible un Lorem Ipsum a la vista del usuario mientras […]

Categorías
Android

Limpiar toda la pila de la aplicación

A veces añadir la bandera FLAG_ACTIVITY_CLEAR_TOP al Intent no es suficiente para limpiar toda la pila o pasa de nosotros. Alternativa: Intent intent = new Intent(getApplicationContext(), LoginActivity.class); ComponentName cn = intent.getComponent(); Intent mainIntent = IntentCompat.makeRestartActivityTask(cn); startActivity(mainIntent);

Categorías
Android General

Git – Eliminar un directorio del index

Problema: Hemos sincronizado un directorio que no deseábamos con Git (por ejemplo directorio bin o gen en un proyecto android). Solución: Mediante comandos desde una terminal Git Bash (Windows) o la terminal de Mac OS. 1. Eliminar directorio del index: git rm -r –cached ../MiProyecto/bin 2. Commit de los directorios eliminados: git commit -m «Descripción del […]

Categorías
Android

Barra bottom con varios elementos del mismo tamaño

Problema: Se quiere implementar una barra en la parte inferior con varios botones (Como Instagram) y cada uno de ellos con el mismo tamaño, ya tenga 3, 4 o 5. Este ejemplo incluye separadores entre grupos de elementos. Solución: <LinearLayout android:id=»@+id/barra_bottom» android:layout_width=»wrap_content» android:layout_height=»60dp» android:layout_alignParentBottom=»true» android:layout_alignParentLeft=»true» android:layout_alignParentRight=»true» android:background=»@drawable/entidades_menu_fondo» >   <LinearLayout android:layout_width=»15dp» android:layout_height=»match_parent» android:layout_weight=»1″ >   <RelativeLayout […]

Categorías
Android

Tamaño de ListView dentro de ScrollView

Problema: Queremos colocar un listview dentro de un scrollview (por ejemplo para mostrar comentarios en una ficha de un producto), y aparece cortado al final. Solución private void setListViewHeight(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if(listAdapter == null) return; int totalHeight = 0; int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST); int totalChildren = 0; for (int j = […]