Development on Android

Development on Android

Android is an open and free operating system basedon Linux, which is mainly used for mobile terminals, such assmart phones and panel computer. It is developed by OpenHandset Alliance composed of more than 30technology companies and mobile phone companies. Androidtries to allow users experience the best service quality, andallow developers get a more open level for more convenientsoftware developing. Thus mobile applications withmore convenient functions can be developed via Android. Thispaper firtsly presents the architecture of Android platform,including the classes and methods in developing. Then wetakes audio/video file procurement as an example to introducethe Android program design and development,including classes application, program design, developmentand analysis .codeShoppy

he word “Android” is intended to refer to robot,however, we now know that it is the open source mobilephone operating system launched by Google. Androidis based on Linux platform, and composed of operatingsystem, middleware, user interface and application software,which is called as the first truly open mobile software formobile terminals. As an important part of Google mobileInternet strategy, Android will further promote the Googleenterprise target achievement of “provide information foreveryone at any time in any place” [1].Android is developed by Open HandsetAlliance composed of more than 30 technology companiesand mobile phone companies including Google, HTC,T-Mobile, Qualcomm, Motorola, Samsung, China Mobileand LG. Open Handset Alliance states that Androidplatform can promote the mobile devices innovation to allowusers experience the best service quality. Also, developerswill get a new open level for more convenient synergisticeffect, ensuring the development speed of new mobiledevices. Therefore, Android is the first complete, open andfree mobile phone platform.Android system has the following 5 characteristics [2]:Open: Android is developed bymore than30 companies in Open Handset Alliance, thusthe cooperation among Google, operators, equipmentmanufacturers and developers try to establish astandardized and open mobile phone software platform,and form an open ecosystem in the mobile field.There are no boundaries amongapplications onAndroid platform, thus they access the core mobiledevice functionality via the standard API.Resource Manager: itprovides access to non-codesresources, such as local character strings, figures andLayout files.Notification Manager: applications can showtheir custom notifications in the status bar.ActivityManager: manage the life cycle of applicationprograms, and also provide the commonly usednavigation back function.Window Manager: manage all the windowprograms.PackageManager:programs management of theAndroid system.C. System Operating Library LayerWhen applying the Android application framework,Android will support the components via some C/C++libraries to make them service us better.Bionic system C library:itistheClanguage standardlibrary, and also the bottom library of the system,which is invoked by Linux system.Media Framework: based on the PacketVideo,OpenCORE to support the playerback and recording ofaudio and video in multiple formats, such as MPEG4,MP3, AAC, AMR, JPG, PNG.SGL: 2Dgraphics engine library.SSL: located between TCP/IPprotocol and otherapplication protocols to support data communication.OpenGL ES1.0: support for 3D effect.SQLite: relational database.Webkit: Web browser engine.FreeType: bitmapand vector

Development on Android

All the Java programs are running on the Dalvik virtualmachine. Similar with PC, each Android applicationprogram has its own process, and Dalvik virtual machineonly executes the executable file as “.dex”. So,after compiling Java programs, they also need to betransferred to “.dex” by dx tool in SDK to run on the virtualmachine [4].Google released Android ADK officially at the end of2007, and Dalvik virtual machine enters people’s visionfirstly. Its efficient use of memory and high performance inlow speed CPU really sits up and takes notice. Androidsystem can simply complete the processes isolation andthreads management. Each Android application correspondsto an independent Dalvik virtual machine instance onthe bottom and its code are executed in the virtual machineinterpretation. To sum up, Dalvik virtual machine has thefollowing characteristics:Proprietaryfile format “.dex”: dex is theproprietaryfile format. It abandons the “.class” file and appliesnew format to improve the file parse and search speed,and also support the new operating codes.optimizations on dex file: the structure of dex fileis compact, and it is optimized to further improve therunning performance, including adjusting the bytesequences of all the fields, verifying all the classes in”.dex” file, and optimizing the operating codes of someparticular classes and methods.Register: compared with the virtual machine based onstacks, virtual machine based on registers is weaker inhardware and universality, but it shows higher codeexecute efficiency.An application, a virtual machine instance, aprocess:Each Android application is running in a Dalvik virtualmachine instance, and each virtual machine instance isa independent process space. The thread mechanism,memory allocation and management, implementationof Mutex are dependent on the underlying operatingsystems. Each Android application thread correspondsto a Linux thread, thus the virtual machine can bemore dependent on the thread scheduling andmanagement mechanism of virtual machine. Differentapplications run in different threads space, andapplications from different resources run by differentLinux users to maximize protect the security ofapplication and independent operation


Leave a Reply

Your email address will not be published. Required fields are marked *