Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Buenas directrices para desarrollar una aplicación de comercio electrónico

Estoy haciendo una aplicación de comercio electrónico en Android y, como es mi primer proyecto serio, estoy tratando de averiguar de antemano el mejor enfoque para hacer esto.

La aplicación habla con un servicio web (magento api, que significa jabón o xml rpc desafortunadamente) y obtiene todo el contenido en el teléfono (categorías de productos, detalles del producto, credenciales de usuario, etc.). Creo que debe hacer carga perezosa o algo así.

Por lo tanto, estaba pensando en mantener las credenciales de usuario en un objeto personalizado que se mantendrá en una SharedPreferences para que cada actividad cand acceder fácilmente a ella. Voy a utilizar un par de ListView s para mostrar el contenido y AsyncTask para obtener los datos necesarios. ¿Debo guardar todos los datos en la memoria en objetos o debo utilizar algún tipo de caché o una base de datos local? Además, estoy planeando usar un HashMap con SoftReferences para sostener los mapas de bits que estoy descargando. Pero, ¿esto no comería mucho recuerdo?

¿Cómo todas las actividades tienen acceso a todos estos objetos (cesta de comercio electrónico, etc)? Estoy pensando en pasarlos usando Intents pero esto no me parece correcto. ¿Se pueden usar SharedPreferences para muchos objetos y hay problemas de concurrencia?

Cualquier puntería sería muy apreciada. ¿Cuáles son algunas buenas pautas? ¿En qué clases debo investigar? ¿Sabes de algún recurso en Internet para que yo lo echa un vistazo?

  • ¿Existe algún otro módulo de pago que no sea Paypal?
  • 2 Solutions collect form web for “Buenas directrices para desarrollar una aplicación de comercio electrónico”

    Una pregunta muy detallada haré todo lo posible para contestarla. He utilizado el siguiente enfoque en mi aplicación:

    • Guardo las credenciales de usuario en las preferencias compartidas. Las preferencias solo pueden contener objetos personalizados si son serializables y la escritura y lectura de la memoria flash requiere mucho tiempo. Por lo tanto, cargar las preferencias en el inicio y almacenarlos en la memoria.

    • Trato de mantener todos los datos en la memoria que se necesita en muchos lugares y en un estado consistente, toda la otra memoria se pasa a través de la serialización a json y pasando a través de una intención o pasar sólo ids y lo busco de la red. (Definitivamente hay una posibilidad de cobrar en una base de datos local, pero el esfuerzo para mantenerlo actualizado es mucho trabajo en este momento.) Para almacenar los objetos que tardan en volver a cargar desde la memoria interna o la red y volver a analizar, uso una aplicación personalizada que contiene la referencia a algunos objetos del controlador que administran el almacenamiento en caché. La aplicación permanecerá en la memoria hasta que se cierra su aplicación. Esto es conveniente, pero puede resultar en la necesidad de manera de mucha memoria si no tiene cuidado.

    • Los mapas de bits que se descargan por mi programa se almacenan en caché en dos capas. En la primera vez que desee acceder a una imagen, creo un objeto de gestor de imágenes dentro de mi ámbito de actividad. Ese objeto intentará encontrar el mapa de bits en un mapa interno. Si no está allí intentará cargarlo desde la memoria del teléfono si no está en la memoria del teléfono, lo descargará de la red, lo almacenará en la carpeta caché de mi aplicación y lo pondrá en el mapa. De esta manera, el mapa de bits es accesible mientras la actividad se ejecute y se limpie en el momento en que el usuario cambie a otra pantalla. Hasta ahora esto es suficiente para mí.

    Al final acaba de comenzar la programación y volver si encuentra otras preguntas o errores y publicar algunas preguntas más específicas.

    Muchas técnicas útiles que necesitará utilizar: ContentProviders, AsyncTasks, Caché de mapas de bits, … se utilizan en Romans Guys 'Shelvs' ( http://www.curious-creature.org/2009/01/19/shelves-an -open-source-android-application / ) aplicación. Es un gran punto de partida para obtener la recomendación de un flujo de Android.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.