2012-09-11 7 views
5

Quiero desarrollar una aplicación de diccionario de Android en inglés que usa solo una base de datos fuera de línea. Con esto, quiero decir que no tiene que ser redirigido a un diccionario en línea como WordWeb o similar. ¿Alguien sabe qué debería hacer para guardar mis palabras? Estoy pensando en usar SQLite ya que es móvil. Pero si alguien aquí ya ha hecho o hizo algo que yo quiero hacer, ¿puede darme algunas sugerencias de expertos?aplicación de diccionario android con base de datos fuera de línea

Respuesta

5

http://developer.android.com/resources/samples/SearchableDictionary/src/com/example/android/searchabledict/DictionaryDatabase.html

he utilizado este código de developer.android.com. Espero que te ayude también.

EDIT: Esta página ya no está disponible, pero el ejemplo en sí está en Github here.

+0

este ejemplo no está disponible. ¿Hay alguna posibilidad de que tengas una copia? agradezco su ayuda – Channa

+0

Lo siento @Chann Nunca temí que esto podría eliminarse del repositorio. –

+2

lo encontró en git. gracias por la respuesta https://github.com/android/platform_development/tree/master/samples/SearchableDictionary – Channa

1

Iría con el uso de SQLite, esa es probablemente la manera más fácil y directa de hacerlo en Android. Por supuesto, la complejidad de esta solución depende de sus necesidades exactas. Si solo necesita un diccionario realmente simple, entonces podría salirse con la suya con un simple esquema db con consultas básicas.

Otra cosa que viene a la mente es la estructura de datos Trie, es posible que desee examinar eso: http://en.wikipedia.org/wiki/Trie#Dictionary_representation. Pero probablemente no valga la pena hacer esto usando esto, supongo que el rendimiento de la solución SQLite es más que suficiente para sus necesidades.

0

Pruebe los ejemplos de API de Google, sé que tienen una aplicación de diccionario. Estoy bastante seguro de que también está fuera de línea. Tuve que construir algo con un caché sin conexión, utilicé el excelente analizador XML de JAVA para cargar cosas en la base de datos SQLite. Cuando el usuario tenía una conexión a Internet, descargaría un nuevo XML y lo usaría para actualizar la base de datos. Sin embargo, puede almacenar cualquier tipo de archivo con su aplicación.

http://developer.android.com/tools/samples/index.html La muestra de la que estoy hablando se llama Diccionario de búsqueda.

0

Su problema principal es especificar qué elemento esencial almacenará su diccionario.

Hay muchas formas proporcionadas por Android para almacenar sus datos, tales como:

  • SharedPreferences
  • archivo guardado en de dispositivo internal storage o external storage
  • SQLite database
  • También puede crear una base de datos estática y guárdela en su carpeta assets como se describe en la publicación this.

    También puede consultar el Diccionario de búsqueda del android-samples, que es un buen ejemplo de implementación de una búsqueda de su aplicación y también describe algunas técnicas para almacenar datos.

    1

    ya lo he hecho esto a mis diccionarios:

    https://play.google.com/store/apps/developer?id=e-Biene%20DEV&hl=en

    Usted puede hacer la conversión a su base de datos simple , tblLanguage1 [palabra, traducción] tblLanguage2 [palabra, traducción]

    to (Formato SQLite [extraerlo de emula tor], y luego adjunte este DB de SQLite convertido con su aplicación fuera de línea).

    Será rápido y rápido para realizar búsquedas.

    y Uso: DB creados en emulador con la estructura como: Tablas:

    lang1_Content lang1_segments lang1_segdir

    uso esto en vez de simple.

    +0

    Por favor, enlace al código fuente. – Wally

    0

    El mejor enfoque es que: mantenga sus datos en archivos en archivos json y guárdelos en la web o también puede crearlos en googledrive o dropbox y hacerlo público y luego cuando el usuario abra la aplicación por primera vez hora, descargue los archivos json e inserte los datos de json en sql lite db. De esta forma puede usar sql lite para datos fuera de línea.

    Cuestiones relacionadas