Android Application Development : Architecture, Design and Implementation of Thai – Indonesia Electronic Dictionary Application
Department of Informatic Engineering
Institute Technologi Sepuluh Nopember
Surabaya, Jawa Timur, Indonesia
In this paper is aims to studies and learns Android application development through architecture, design and implementation via case study of electronic dictionary application based on a new generation of intelligent mobile Google platform Android. And the second purpose is to verify the availability of the platform.
Android, introduced by Google in November 2007, is an intelligent mobile platform composed of an embedded operating system, middleware, user-friendly, and application software for the integration of the mobile software stack. Since its launch, Android has received widespread attention in the industry. Secondary application developments of the mobile phone based on the Android platform can be developed on the SDK (version II) of Google Android platform. Android’s latest major platform update, Android 4.3—frequently called by its code name, Jelly Bean, or just JB—brings many new features that help differentiate Android from the competition. 
This paper aims to describes the design and development of Thai - Indonesia electronic dictionary in mobile phone based on Android platform, by using the API of pint- sized embedded database SQLite that built-in Android.
2.Analysis the Architecture of Android system
2.1. The Android platform Architecture
The Android platform is designed to be more fault tolerant than many of its predecessors. The device runs a Linux operating system upon which Android applications are executed in a secure fashion. Each Android application runs in its own virtual machine (Figure 1). Android applications are managed code; therefore, they are much less likely to cause the device to crash, leading to fewer instances of device corruption (also called “bricking” the device, or rendering it useless). 
Figure Diagram of the Android platform architecture
3.Application Program on Android
3.1. Important Android Terminologies
the terminology used in Android application development and provides you with a more thorough understanding of how Android applications function and interact with one another. Here are some of the important terms:
Context: The context is the central command center for an Android application. Most application-specific functionality can be accessed or referenced through the context.
Activity: An Android application is a collection of tasks, each of which is called an activity. Each activity within an application has a unique task or purpose.
Fragment: An activity has a unique task or purpose, but it can be further componentized; each component is called a fragment. Each fragment within an application has a unique task or purpose within its parent activity.
Intent: The Android operating system uses an asynchronous messaging mechanism to match task requests with the appropriate activity.
Service: Tasks that do not require user interaction can be encapsulated in a service. A service is most useful when the operations are lengthy or need to be done regularly.
3.3. Configuring Development Environment
The Android SDK is comprised of the platform, tools, sample code, and documentation needed to develop Android applications. It is built as an add-on to the Java Development Kit and has an integrated plugin for the Eclipse Integrated Development Environment.  To develop Android applications, you need to have the following software installed on your computer:
The Java Development Kit (JDK)
The latest Android SDK 
A compatible Java IDE is required
4.Thai – Indonesia Dictionary System Development
4.1 Overview of the system 
Functions of the system as follows:
Main-Form: shows the vocabularies in the database according to a certain sequence.
Display Men: can make a judgment for function keys and can take some appropriate tests.
Making quick judgments: for some special exceptions, and testing every function.
Restart of simulator: in order to reset for exceptions.
Data input: data input by hand.
4.2 Architecture of System 
We can retrieve or fuzzy retrieve Indonesia words through Indonesia dictionary database collection, just clicking “Query” and inputting the word that needed retrieved in the Main-Form. The term update module realizes the functions of addition and deletion Indonesia words. User can add or delete any word in the dictionary. The data input and output functions realized in the simulator can be operated by hand only at the present stage.
4.3 Overall process of system 
The simulator will load the default dictionary of system automatically at the beginning, and then it will entry the main form and displays the words. The number of words shown in the screen is adaptive to the size of screen. User can select relevant modules to retrieve, add, modify, or delete words.
4.4 Design of system 
Android platform will start the DDMS function automatically at the beginning, and changes the existing files of functional modules into image files. We can use input box of database and input the name of database at the specified position to open and read the related files. We realize the functions about input and output words by means of the self- contained push and pull function of simulator.
We realize the retrieval function through the locating operation of Android platform, which is one of basic functions of SDK.
We directly use related function in program to realize the function about add or delete words.
We use the delete function first and then add a new word to realize the modify function indirectly.
Mobile software development has evolved over time. Android has emerged as a new mobile development platform, building on past successes and avoiding past failures of other platforms. Android was designed to empower the developer to write innovative applications. I designed and developed a dictionary application program based on Android platform with Java language. The platform working well with Thai language but still little bit unacceptable error such as font display.
 J. Yu and M. Liu, Secondary development On Android Intelligence Mobile Phone Platform, China, 2010.
 J. Annuzzi, Jr., L. Darcey and S. Conder. Introduction to Android Application Development : Android Essentials, Fourth Edition. Addison-Wesley Upper Saddle River, NJ, 2010.
 J. Steele and N. To. The Android developer's cookbook : building applications with the Android SDK. Addison-Wesley Upper Saddle River, NJ, 2011.
 Google Android SDK Documentation. http://code.Google.com/android/documentation.html.