MOBILE APPLICATION DEVELOPMENT FOR ANDROID OPERATING SYSTEM
|
|
|
- Alban Harrington
- 10 years ago
- Views:
Transcription
1 Bachelor s Thesis (UAS) Degree Program: Information Technology Specialization: Android Application development 2013 Amrit Poudel MOBILE APPLICATION DEVELOPMENT FOR ANDROID OPERATING SYSTEM Case: NepGuide Mobile
2 BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Degree Programme Information Technology June pages Instructor: Patric Granholm NepGuide Mobile is a mobile application developed for NepGuide Pvt. Ltd. NepGuide Pvt. Ltd. is a newly established service providing company in Nepal. NepGuide Pvt. Ltd. provides online business and telephone directory of companies in Nepal. The objective of this thesis was to develop a mobile application for android mobile devices for NepGuide Pvt. Ltd. This thesis aims to help Android app developer and anyone interested in database application to understand the basic fundamentals of mobile application development process. The created application is capable of fetching arrays of information based on users query from the database server and logically display them on the mobile devices in the most comprehensible way possible. The thesis describes different aspects of mobile application development for Android devices. NepGuide Mobile application was designed and developed for Android supportive mobile devices in Eclipse IDE using the Java programming language. As a result of this thesis, an Android mobile app was developed and tested successfully. This application offers online business directory of companies in Nepal, which is one of the prime online services provided by the NepGuide Pvt. Ltd. Nevertheless, more services and features can be added to better commercialize this application in the future. KEYWORDS: Android, Eclipse and Database
3 TABLE OF CONTENTS 1. INTRODUCTION 5 2. ANDROID OPERATING SYSTEM 6 3. ANDROID APPLICATION Android stack Main Building Blocks Native Libraries Programming Languages ENVIRONMENT SETUP Eclipse Android SDK Android Emulator APPLICATION FUNDAMENTALS APPLICTION DESIGN Design Process Design Method APPLICATION DEVELOPMENT User Interface Database APPLICATION TEST CONCLUSIONS 29 REFERENCES 31 APPENDIX 31
4 FIGURES Figure 1. Android Stack Figure 2. Activity Lifecycle Figure 3. Android Intent Figure 4. Android Broadcast receiver Figure 5. Android Service Lifecycle Figure 6. Android Content Provider Figure 11. Android Compilation and Build Process Figure 7. Eclipse IDE Figure 8. Android SDK Manager Figure 9. AVD Manager Figure 10. Android Emulator Figure 12. NepGuide Mobile UML Diagram Figure 13: Applications icons on Android Device with 'NepGuide Mobile' launcher icon Figure 14. NepGuide Mobile UI Figure 15 Company's Database Figure 16. Search Company by Name Figure 17 Search Companies by Category Figure 18. Search Result by Name Figure 19. Search Result by Category Figure 20. Company's Full Profile
5 ACRONYMS AND ABBREVIATIONS OS App UI VM ADT SDK API IDE UML Operating System Application User Interface Virtual Machine Android Development Tools Software Development Kit Application Programming Interface Integrated Development Environment Unified Modeling Language
6 5 1. INTRODUCTION The mobile phone industry has been developing and growing rapidly during the last couple of years. Old mobile devices with limited capabilities are being replaced by new and advanced mobile technology supporting a wide range of mobile services. A mobile application (mobile app) is a software application designed to run on smartphones, tablet computers, and mobile devices. Mobile app has become a very familiar term in the world today. The popularity of mobile applications has continued to rise, as their usage has become increasingly prevalent across mobile phone users. Public demand of mobile apps and the availability of sophisticated developer tools, libraries, and frameworks have made mobile app development easy, fast and productive. Mobile apps can facilitate users with a wide range of services besides normal phone functionality such as GPS, mobile games, banking, online ticketing and many more. NepGuide Pvt. Ltd. provides a sophisticated online business and telephone directory in Nepal. Businesses in the company s database are categorized by business type, location and services. It also provides different types of service tools for users to create, delete, modify, edit their profile on its website. The information of the companies used in this application are either provided by the company itself or registered on its consent. NepGuide Pvt. Ltd. runs the website nepguide.com and NepGuide Mobile is a mobile application for this website, which provides all the features and services nepguide.com offers. The potential of the services this application can offer is immense, however, this thesis covers one of the very important services provided by NepGuide Pvt. Ltd. This application fetches general information (Name, Address, Contacts, Services, Image/Video, map) about businesses from the company s database and displays them on mobile devices. Businesses in company s database are categorized by business type, location and services. The NepGuide Mobile development process can be severed into three sections i.e., design, development, and implementation. The application design process requires good knowledge of Android operating system architecture and general understanding of the application s intent. The second part of the process, development, is the most important and crucial part in the whole process; it requires knowledge of several programming languages, environment setup, and code debugging. Implementation is
7 6 the final part of the development process which focuses on deploying the application on mobile devices after it has successfully been tested on virtual devices. 2. ANDROID OPERATING SYSTEM Android is a comprehensive open source platform designed for mobile devices. It is championed by Google and owned by Open Handset Alliance. The goal of the alliance is to accelerate innovation in mobile computing and offer consumers a richer, less expensive, and better mobile experience. Android is the vehicle to do so. Android is a Linux-based operating system mainly used for running mobile devices such as smart phones and tablet computers. Its usability is not limited to mobile devices. Because of its open and customizable features, it is used in a wide range of electronics devices, like laptops, smart TV, cameras, headphones, wristwatches, game consoles, car CD and DVD players, home automations and many more [Marko Gargenta]. Android OS is hardware independent and runs on devices from different vendors, unlike other proprietary operating systems such as ios (Apple Inc. products), Blackberry OS (Blackberry), S40 OS (Nokia), Windows OS (Windows Phone) etc., which are licensed and controlled by certain companies. As of May 2013, Android dominates the smartphone market accounting 74.4% of worldwide smartphone sales [Gartner]. Android is a full-fledged operating system and a complete software stack for mobile devices. Android APIs are a rich set of system services wrapped in an intuitive class files which provides easy access to several features like location, web, telephony, Wi- Fi, media, camera, and so on. All the tools, frameworks and software necessary to develop a mobile application are available for free. 3. ANDROID APPLICATION Android app is a mobile software application developed for use on devices powered by Google's Android platform. An Android application can be written in several different programming languages. NepGuide Mobile is written in the Java programming language. Although, this application is heavily coded on Java, it profoundly relies on a huge stack of native libraries written in C++. Application developers can easily tap into
8 7 the huge stack of system services, tools and libraries to use in their application if required. 3.1 Android stack Android is built on top of Linux. Linux is the base for all the stacks of programs in Android. There are so many reasons for choosing Linux as a base of the Android stack such as portability, security, networking, great memory and process management, and support for shared libraries. Figure 1. Android Stack 3.2. Main Building Blocks The main building blocks are components that a developer uses to build an Android application. These components help break down the work into small conceptual units so that the application developer can work on them independently and put them together as a complete package.
9 8 There are five application components which are essential to build an Android application. These application components are very important for application developers to understand in detail because all the major actions(switching between screens/applications, database manipulation, triggering events, receiving notifications etc.) performed by an application are handled by them. An Activity is an application component that provides a screen with which users can interact in order to perform certain tasks, such as dial the phone, take a photo, send an , view a map and many more. One application can have several activities that a user flips back and forth on the device[marko Gargenta]. Launching an Activity is the crucial part of the Android application development process. The Activity class is provided by an Android framework, which provides a wide range of facilities like displaying user interface, creating a new Linux process, and allocating memory for the UI objects. Typically, an Android application has one main activity which the user sees when the application is launched and the user can navigate to other activities as required. One activity can start/stop other activities to perform different actions in the application. When the user launches a new activity, the previous activity is stopped and the android system preserves the activity process in the stack. The previous activity can be resumed anytime by pressing the back button whenever the user is done with the current activity. Android has a very well-defined activity lifecycle. Android OS manages activities process by changing its state. Figure 2. Android Activity Lifecycle
10 9 Intents represents actions or events that trigger an activity to start, service to start/stop, or broadcast in an application. Intents are asynchronous messages that are sent among the main building blocks. An activity sends one or several intents to another application to perform a given task, for example, open a webpage, play a media file, and so on. Applications capable of performing such tasks could compete to complete the task. If there are competing applications, Android asks the user to choose between applications, and the user can set any application as a default one. Figure 3. Android Intent to navigate from one Activity to another A Broadcast Receiver is an intent-based public subscribe mechanism in Android. This application component allows users to register system events and receive notification when the registered event is triggered such as SMS notification, battery life and so on. The receiver is simply a stack of code in the application that becomes activated when a subscribed events is triggered. The system broadcasts events all the time and the broadcasted events can trigger any number of receivers. Broadcasts can be sent from one part of application to another or to a totally different application. Broadcast Receivers themselves do not have graphical representation, nor do they actively run in memory.
11 10 Figure 4. Android Broadcast Receiver Services are application components that can perform long-running operations in the background. Service components run invisibly, updating the data sources and visible activities and triggering notifications. It is an application component that can start a service and continue to run in the background even when the user is switching through different mobile applications. Android OS provides and processes predefined system services that has to be declared in every Android application[services]. Figure 5. Android Service Lifecycle The Content Provider is an application component that is used to manage and share application databases. Multiple applications can share the same data in so many different ways depending on the type of data. Multiple applications can tap into the
12 11 same data source simultaneously. Content Providers are the preferred way of sharing data across application boundaries. Android itself includes native content providers that manage data such as audio, video, images, and personal contact information. Figure 6. Android Content Provider 3.3 Native Libraries Native libraries are a stack of software codes brought from other open source projects. Native libraries are basically C and C++ codes required to build an Android stack. There are a several libraries available in the package. Depending on the type of Android device like smartphones, home automation system, car dashboard, native libraries can be striped and modified as required. Some of the important native libraries include the following: Media codec: Media codec provides different media codecs to supports different media formats. SQLite: SQLite is the database engine, which provides a relational database management system. WebKit: It is the browser engine for fast HTML rendering. OpenGL: It is an API to render 2D or 3D computer graphics.
13 Programming Languages A mobile app can be written in several different languages and platforms. However, NepGuide Mobile was developed using two programming languages and a format to store and exchange structured data over a network connection known as JSON. Java is general-purpose, structured, generic, class-based computer programming language. Android applications are written in the Java Programming language. An Android application is highly based on Java fundamentals. Java Incorporates with several powerful features and libraries of many powerful programming languages like C, C++. The reasons for picking Java as a native programming language for Android application are: It is easy to understand and learn It is platform-independent and secure It is object-oriented Java code is compiled and run by Virtual Machine All the detailed information and proper documentation on Java can be found on Extensible Markup Language (XML) is a markup language. It contains some of the very simple, scalable, and flexible text format that is both human-readable and machine-readable. It defines the set of rules to encode the document, and usability over the Internet. XML is a commonly used data format on the Internet. XML is easy to parse and manipulate programmatically. Android resources preprocess the XML into the compressed binary format and stores it on the device. Most of the User Interface layout, screen elements are declared in XML files. More information on XML can be found on JSON (JavaScript Object Notation) is a lightweight text-data interchange format. JSON uses JavaScript syntax for describing data objects, but JSON is still language and platform independent [JSON Tutorial]. JSON parsers and JSON libraries exist for many different programming languages. It is easy for an application developer to read and write, and for Android devices to parse and generate. JSON is derived from the JavaScript scripting language to represent simple data structure and associative arrays
14 13 which are commonly addressed as JSON objects. More detail information on JSON can be found on 4. ENVIRONMENT SETUP Building an environment to develop a mobile app for Android devices is rather easy. It only requires installation of Eclipse, Android SDK and Android emulator to initiate the development process -although more software and developer tools can be installed later during the process. Eclipse is considered to be the best Java development tool available, the Eclipse IDE for java developer provides superior Java editing with validation, compilation and cross-referencing. Android SDK is a software development kit that enables a developer to create applications for Android platforms. Android SDK includes application development tools, sample projects with source codes and required libraries to built Android application. The Android emulator is a virtual mobile device running on the computer. The software emulates an Android device, running the Android OS, for debugging applications without needing a variety of devices and OS versions. NepGuide mobile was developed in a Macintosh system, running Mac OSX Lion as the operating system. Different versions of software are available for different operating system, depending on the operating system, the right version of the software has to be installed. All the required software has versions compatible to Mac OSX Lion. For Mac, an Android Development Tools(ADT) bundle can be downloaded from which includes all the software programs needed to begin the application development process. If needed, more software and developer tools can be installed later during the process. 4.1 Eclipse + ADT Plug-in Eclipse is an open source collection of programming tools originally created by IBM for Java. Nowadays, most developers in the Java community favor Eclipse as their Integrated Development Environment (IDE) of choice. Eclipse lives at [Marko Gargenta]. Eclipse is multi-language software development environment, which has tools integrated workspaces and extensible plug-in system. The ADT bundle has a version of the Eclipse IDE with a built-in ADT (Android Developer Tool) to streamline Android app development.
15 14 Figure 7. Eclipse IDE 4.2 Android System Development Kit (SDK) The Android SDK provides all the API libraries and developer tools necessary to build, test, and debug apps for Android.[Get the Android SDK]. The ADT bundle has an IDE already loaded with SDK. By default, only the latest version of Android, API 17, is installed and as the development continues, other versions of Android have to be installed in order to support a wide range of Android mobile devices. Not all of the Android devices use the latest version of Android, so it is important for an app developer to set the API range of an app because some of the class and libraries are depreciated from a certain API level onward.
16 15 Figure 8. Android SDK Manager 4.3 Android Emulator An Android emulator is a virtual Android device running on the computer. The Android emulator mimics all of the hardware and software features of a typical mobile device, except that it cannot place actual phone calls. The emulator allows an application developer to test an Android application on different API levels without using a physical device[using the emulator]. An Android Virtual Device (AVD) is a device configuration that is run within the Android emulator. It works with the emulator to provide a virtual device-specific environment in which to install and run Android apps. The AVD Manager provides a graphical user interface in which a developer can model different configurations of Android devices, which are required by the Android emulator.
17 16 Figure 9. AVD Manager Figure 10. Android Emulator
18 17 5. APPLICATION FUNDAMENTALS An Android application is compiled and packaged in a single file that contains all of the application s code and resources. Every piece of Java code written for an Android application is referred to as Dalvik executable code, and anything other than code are resources such as icon, animation, text, and XML files. Dalvik is an Android implementation of the Java Virtual Machine. It is the software that runs the apps on Android devices. Dalvik is thus an integral part of Android, which is typically used on mobile devices such as mobile phones and tablet computers. An Android application is commonly written in Java and compiled to Java byte code. The Java byte code is then converted from Java Virtual Machine-compatible.class files to Dalvik-compatible.dex (Dalvik Executable) files before installation on a device. The compact Dalvik Executable format is designed to be suitable for systems that are constrained in terms of memory and processor speed. Android applications are compiled and packaged into a.apk file by Android SDK. The compiled package contains all of the files necessary to run the application on a device or emulator such as compiled.dex files, a binary version of the AndroidManifest.xml file, and other resource files for an application [Building and Running]. Figure 11. Android Compilation and Build Process Other than the Java code files, Android contains lots of important program and resource files in the application. R.java and AndroidManifest.xml are two very important files in an Android application. AndroidManifest.xml is the foundation of any Android application and is located at the root of application directory. All the activities, services, permissions are declared in this file. The AndroidManifest.xml file presents essential information about the application to
19 18 the Android system, information the system must have before it can run any of the application's code[the AndroidManifest.xml File]. R.Java is a auto generated file which glues Java codes with resource files. The R.java file contains all the resource s IDs assigned to resources (layout, style, icons, animation etc.) either by an app developer or through an Android SDK. 6. APPLICTION DESIGN NepGuide Pvt. Ltd provides wide range of online services. NepGuide Mobile offers services of NepGuide Pvt Ltd. through different activities(screens). NepGuide Mobile contains many activities, each serving different purposes of the application. Events(search, edit, display) are declared in activities, each event when triggered, invokes series of actions and the results are displayed in activities. The process of retrieving contents from the server and displaying them on the mobile device can be completed in three different activities, which are different in construction from one another. NepGuide Mobile offers many services to the users. As agreed with NepGuide Pvt. Ltd., this thesis covers one of the very important services provided by NepGuide Pvt. Ltd. This application fetches general information (Name, Address, Contacts, Services, Image/Video, map) about businesses from the company s database and displays them on mobile devices. The requirements of this project are met in three different activities which are as follows: HomePageActivity: It is a homepage of the NepGuide Mobile which contains menu, menu items, tab, search field, spinner and search button. ListDisplayActivity: It is a activity that displays the search result. CompanyDetailActivity: It is a page that displays the full profile of one specific company. The NepGuide Mobile UML diagram(figure 12) is the detailed blueprint on how the application works.
20 19 Figure 12. NepGuide Mobile UML Diagram The prime focus of this project is one of the tabs(companies) in HomePageActivity although all other tabs, menu, menu items and activities can be designed and developed in the same fashion. 6.1 Design Process The NepGuide Mobile design process started after the environment setup was successfully achieved. The design process started with the launcher icon followed by tabs, menu, menu items and so on. Launcher icon All the Android apps have a launcher icon. The launcher icon is the visual representation of the app on the home screen of Android devices. The launcher icon is clicked so that the application can run and start the homepage of the application. The
21 20 launcher icon can be designed using image-editing software or created using the default tools and options provided by Android SDK. The launcher icon must have a.png extension and an ic_launcher prefix. Figure 13. Applications icons on Android Device with NepGuide launcher icon Tab NepGuide Mobile has three tabs designed and created on the homepage of the application. Tabs in Android are created using ActionBar API. The ActionBar APIs were first added in Android 3.0 (API level 11) but they are also available in the Support Library for compatibility with Android 2.1 (API level 7) and above. The code below corresponds to the tab creation on NepGuide Mobile (Appendix 1.0 HomePageActivity.java). public void oncreate(bundle savedinstancestate) {
22 21 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); super.oncreate(savedinstancestate); final ActionBar actionbar = getactionbar(); actionbar.setnavigationmode(actionbar.navigation_mode_tabs); Tab FragmentYP = actionbar.newtab(); FragmentYP.setText("Companies"); FragmentYP.setTabListener(new TabListener<FragmentYP>(this, "FragmentCompanies", FragmentYP.class)); actionbar.addtab(fragmentyp); Tab FragmentWP = actionbar.newtab(); FragmentWP.setText("People"); FragmentWP.setTabListener(new TabListener<FragmentWP>(this, "Fragment People", FragmentWP.class)); actionbar.addtab(fragmentwp); Tab FragmentMap = actionbar.newtab(); FragmentMap.setText("Important Numbers"); FragmentMap.setTabListener(new TabListener<FragmentImpNumbers>(this, "FragmentImpNumbers",FragmentImpNumbers.class)); actionbar.addtab(fragmentmap ); if (savedinstancestate!= null) { int savedindex = savedinstancestate.getint("saved_index"); getactionbar().setselectednavigationitem(savedindex); 6.2 Design Method The Companies tab of NepGuide Mobile offers two types of search methods to the users. The users can search for business details either by name or by category. Once the user fills all the required fields, the application fetches query relevant information on the company s database and displays the search result on the ListDisplayActivity screen. The relevant search data from from the company s database are parsed by JSONParser in the Android System. The code below explains how the data are fetched from the server using JSON(Appendix 1.1 FragmentCompany.java) JSON Object is used to retrieve all the categories from the company s database to the drop down menu(spinner) JSONObject jsonresponse = jparser.getjsonfromurl(" catlist = jsonresponse.getjsonarray("data");
23 22 URL link to company s php files based on the search type url = " url = " Parsing the information received from the URL and assigning as variable in Android system. JSONObject json = jparser.getjsonfromurl(url); final String name=json_data.getstring("name"); final String services=json_data.getstring("services"); final String compid=json_data.getstring("compid"); final String info=json_data.getstring("otherinfo"); final String contact=json_data.getstring("contact"); final String address=json_data.getstring("address"); allitems.put(compid, name+"\n"+address+"\n"+contact+"\n"+services+"\n"+info); The search results are pointed to ListDispalyActivity screen to display as search results. Intent i = new Intent(); i.putextra("items", allitems); i.setclass(getactivity(), ListDisplayActivity.class); From the search result screen(listdisplayactivity), the user can click on one of the search results to see the detailed information of the respective business. The code below corresponds to redirection form search result activity to specific business profile(appendix 1.1 ListDisplayActivity.java). Intent i = new Intent(); i.putextra("items", compid); i.setclass(listdisplayactivity.this, CompanyDetailActivity.class);
24 23 7. APPLICATION DEVELOPMENT An Android application consist of many components, which are picked and used as per the requirement of the application. Many components are implemented logically to enrich the user experience in NepGuide Mobile. Some of the components used in NepGuide Mobile are layout, menu, fragments, text fields, spinner and buttons. 7.1 User Interface The NepGuide Mobile s user interface is designed in such a way user friendly way. Different activities hold different UI components to serve the intended purpose. The home screen (HomePageActivity) consists of three fragments (tabs), an action bar (menu bar) and few menu items. The visual structure of an application can be accessed in several layout views namely linear layout, relative layout and list view. User interaction with the application can be accessed by using a variety of control and input methods. The control method includes buttons and spinner whereas the input method includes mainly text fields. A user also can navigate through different activities using menu items, which are common on different fragments within this application. In situations where an error message or notification has to be displayed, NepGuide Mobile manifests these messages through the AlertDialog component. The NepGuide Mobile s companies fragment is used to search for companies in a certain location(district or city) either by name or category. The result of the search query is displayed in list view in the ListDisplay Activity, furthermore, if one of the lists in ListDisplayActivity is clicked, the respective company s full profile is displayed in CompanyDetailActivity.
25 24 Figure 14. NepGuide Mobile UI 7.2 Database NepGuide Pvt. Ltd. has its own MySQL database where companies are systematically registered based on their category and location. There are three PHP files in the server which contain all the SQL queries and PHP variables required to fetch data from the database server. These PHP variables are parsed by JSON to JSON objects. The PHP files used in this application are provided by NepGuide Pvt. Ltd.
26 25 Figure 15. Company s Database 8. APPLICATION TEST After writing all the source code and fixing all the major bugs(some of the bug fixing in this project required some professional help), NepGuide Mobile was ready to be tested. During the development process, each and every step of code writing process and output of the code was tested on Android virtual device. After testing the application successfully on the virtual device, the application was then tested on the Android mobile device. The aim of the thesis was to achieve the companies tab working as intended. When the application is launched it first starts the Home Screen Activity, which has all the tabs and menu item to access different activities. On the companies tab, the user has the option to search the companies either by name or category in some particular city or district of Nepal. In the categorical search, the user can choose the category for the list of categories provided in the spinner.
27 26 Figure 16. Search Company by Name Figure 17. Search Companies by Category
28 27 Once the search button is clicked with right search input, the search results are displayed as a list in ListDisplayActivity. If there are many search results, the user has the option to scroll through the list of results and choose the desired company. Figure 18. Search Result by Name
29 28 Figure 19. Search Results by Category A user can click(tap) on one of the item from list of search result to view the full profile of the respective company in DetaileDisplayActivity.
30 29 Figure 20. Company s Full Profile The application test result meets all the requirements of this project. NepGuide Pvt. Ltd. was satisfied with the method of filtering categorized information from the server and the process of logically displaying search results on Android devices. 9 CONCLUSION The goal of this thesis was to develop Android mobile application for NepGuide Pvt. Ltd., which could interact with the company s backend server. These goals have been successfully achieved on completion of this project. The project was tested on both Android emulator and Android mobile device. The application ran smoothly and the UI components responded as expected. This thesis projects some of the fundamentals on Android database application, but more services and features can be added. One of the key online services NepGuide Pvt. Ltd. offers has been developed and implemented successfully through this application. Although this application is developed for NepGuide Pvt. Ltd, the
31 30 guidelines provided on this thesis could be beneficial to students who are new to Android application development. This thesis provides general information and guidelines for application developers on Android Operating System, developer tools and application development process. Since Android is an open source OS, an abundance of resources, developer tools, guidelines and documentation can be found in Android open source community forums for free. is one of the very important website that provides all the information, guidelines, tools, and resources necessary to develop an Android app.
32 31 REFERENCES Gargenta, M. 2011, Learning Android. Retrieved May 20, 2013 Gartner. Retrieved May 20, 2013 from Services. Retrieved April 25, 2013 from JSON Tutorial. Retrieved May 4, 2013 from Using the emulator. Retrieved May 10, 2013 from Get the Android SDK Building and Running. Retrieved May 15, 2013 from The AndroidManifest.xml File. Retrieved May 21,
33 32 APPENDICES Source code download link: (All the files available except database and PHP files) Application download link: APPENDIX 1.0 HomePageActivity.java package com.nepguide; import android.app.actionbar; import android.app.actionbar.tab; import android.app.activity; import android.app.fragment; import android.app.fragmenttransaction; import android.content.intent; import android.os.bundle; import android.os.strictmode; import android.view.menu; import android.view.menuitem; public class HomePageActivity extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); super.oncreate(savedinstancestate); final ActionBar actionbar = getactionbar(); actionbar.setnavigationmode(actionbar.navigation_mode_tabs); Tab FragmentYP = actionbar.newtab(); FragmentYP.setText("Companies"); FragmentYP.setTabListener(new TabListener<FragmentCompany>(this, "Companies", FragmentCompany.class)); actionbar.addtab(fragmentyp); Tab FragmentWP = actionbar.newtab(); FragmentWP.setText("People"); FragmentWP.setTabListener(new TabListener<FragmentPeople>(this, "People", FragmentPeople.class)); actionbar.addtab(fragmentwp); Tab FragmentMap = actionbar.newtab(); FragmentMap.setText("Important Numbers"); FragmentMap.setTabListener(new TabListener<FragmentImpNumbers>(this,
34 33 "Important Numbers",FragmentImpNumbers.class)); actionbar.addtab(fragmentmap ); if (savedinstancestate!= null) { int savedindex = savedinstancestate.getint("saved_index"); protected void onsaveinstancestate(bundle outstate) { //TODO Auto-generated method stub super.onsaveinstancestate(outstate); outstate.putint("saved_index", getactionbar().getselectednavigationindex()); public static class TabListener<T extends Fragment> implements ActionBar.TabListener{ private final Activity myactivity; private final String mytag; private final Class<T> myclass; public TabListener(Activity activity, String tag, Class<T> cls) { myactivity = activity; mytag = tag; myclass = public void ontabselected(tab tab, FragmentTransaction ft) { Fragment myfragment = myactivity.getfragmentmanager().findfragmentbytag(mytag); //Check if the fragment is already initialized if (myfragment == null) { //If not, instantiate and add it to the activity myfragment = Fragment.instantiate(myActivity, myclass.getname()); ft.add(android.r.id.content, myfragment, mytag); else { //If it exists, simply attach it in order to show it public void ontabunselected(tab tab, FragmentTransaction ft) { Fragment myfragment = myactivity.getfragmentmanager().findfragmentbytag(mytag);
35 34 if (myfragment!= null) { //Detach the fragment, because another one is being attached public void ontabreselected(tab tab, FragmentTransaction ft) { //TODO Auto-generated method public boolean oncreateoptionsmenu(menu menu) { //Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.home_page, menu); return public boolean onoptionsitemselected(menuitem item){ super.onoptionsitemselected(item); switch(item.getitemid()){ case R.id.SignIn: startactivity(new Intent(this, SignInActivity.class));; break; case R.id.Register: startactivity(new Intent(this, RegisterActivity.class));; break; //default:return super.onoptionsitemselected(item); return true; APPENDIX 1.1 FragmentCompany.java package com.nepguide; import java.util.arraylist; import java.util.hashmap; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject;
36 35 import org.json.jsonstringer; import android.app.alertdialog; import android.app.alertdialog.builder; import android.app.fragment; import android.content.dialoginterface; import android.content.intent; import android.os.bundle; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.view.onclicklistener; import android.view.viewgroup; import android.webkit.webview.findlistener; import android.widget.arrayadapter; import android.widget.button; import android.widget.compoundbutton; import android.widget.edittext; import android.widget.listview; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.spinner; public class FragmentCompany extends Fragment{ public View oncreateview(layoutinflater inflater, ViewGroup container,bundle savedinstancestate) { final View view = inflater.inflate(r.layout.fragment_company, container, false); Spinner catspinner = (Spinner) view.findviewbyid(r.id.ypcatspinner); JSONParser jparser = new JSONParser(); JSONArray catlist = null; try{ JSONObject jsonresponse = jparser.getjsonfromurl(" catlist = jsonresponse.getjsonarray("data");
37 36 catch(jsonexception e){ alertbox("internet connection not found"); e.printstacktrace(); if(catlist!= null){ ArrayAdapter<String> cata = new ArrayAdapter<String>(getActivity(), android.r.layout.simple_spinner_item); cata.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); cata.add("select a Category"); JSONObject out_data; for (int i = 0; i < catlist.length(); ++i) { String CatName = null; //String CatId = null; try { out_data = catlist.getjsonobject(i); //Log.v("FragmentCompany",out_data.toString()); //CatId = out_data.getstring("id"); CatName = out_data.getstring("name"); catch (JSONException e) { Log.v("FragmentCompany","Category parsing failed"); e.printstacktrace(); if(catname!= null){ cata.add(catname); catspinner.setadapter(cata); catspinner.setvisibility(view.gone); RadioGroup radiogroup = (RadioGroup) view.findviewbyid(r.id.ypsearchtype); radiogroup.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup group, int checkedid) {
38 37 View p = (View)group.getParent(); RadioButton btn = (RadioButton)p.findViewById(checkedId); Spinner SpinnerCat = (Spinner) p.findviewbyid(r.id.ypcatspinner); EditText EditTextKeyword = (EditText) p.findviewbyid(r.id.ypkeyword); String seltype = btn.gettext().tostring(); if(seltype.equals("category")){ EditTextKeyword.setVisibility(View.GONE); SpinnerCat.setVisibility(View.VISIBLE); else{ EditTextKeyword.setVisibility(View.VISIBLE); SpinnerCat.setVisibility(View.GONE); ); Button YpSearchBttn = (Button) view.findviewbyid(r.id.ypsearch); YpSearchBttn.setOnClickListener(new OnClickListener() public void onclick(view v) { JSONParser jparser = new JSONParser(); View p = (View)v.getParent(); RadioButton ypname = (RadioButton) p.findviewbyid(r.id.ypname); EditText citytext = (EditText) p.findviewbyid(r.id.ypaddress); String city = citytext.gettext().tostring(); String url = ""; if(ypname.ischecked()){ EditText key = (EditText) p.findviewbyid(r.id.ypkeyword); String keyword = key.gettext().tostring(); if(keyword.length() == 0 city.length() == 0){ alertbox("all fields are required"); else{ url = " else{ Spinner cat = (Spinner) p.findviewbyid(r.id.ypcatspinner);
39 38 String category = cat.getselecteditem().tostring(); if(category.equals("select one...") city.length() == 0){ alertbox("please choose category and input address"); else{ url = " if(url!= ""){ Log.v("FragmentCompany","Fetching url: "+url); JSONObject json = jparser.getjsonfromurl(url); final String TAG_DATA = "data"; final String TAG_ERROR = "error"; JSONArray error; String serror; ArrayList<HashMap<String, String>> items; try { error = json.getjsonarray(tag_error); catch (JSONException e) { error = null; if(error == null){ try { serror = json.getstring(tag_error); catch (JSONException g) { serror = "Not valid JSON"; if(serror.length()==0){ HashMap<String, String> allitems = new HashMap<String, String>(); try{ JSONArray data = json.getjsonarray(tag_data); JSONObject json_data; for(int i=0; i < data.length() ; i++) {
40 39 json_data = data.getjsonobject(i); final String name=json_data.getstring("name"); final String services=json_data.getstring("services"); final String compid=json_data.getstring("compid"); final String info=json_data.getstring("otherinfo"); final String contact=json_data.getstring("contact"); final String address=json_data.getstring("address"); allitems.put(compid, name+"\n"+address+"\n"+contact+"\n"+services+"\n"+info); catch(jsonexception f) { Log.v("FragmentCompany","Data cannot be parsed"); items = null; f.printstacktrace(); if(allitems.size() > 0){ Intent i = new Intent(); i.putextra("items", allitems); i.setclass(getactivity(), ListDisplayActivity.class); getactivity().startactivity(i); else{ alertbox("sorry! No result found"); else{ alertbox(serror); else{ alertbox(error.tostring()); );
41 40 return view; protected void alertbox(string mymessage){ AlertDialog.Builder show = new AlertDialog.Builder(getActivity()); show.setmessage(mymessage); show.settitle("alert"); AlertDialog dialog = show.create(); dialog.show(); APPENDIX 1.2 ListDisplayActivity.java package com.nepguide; import java.util.hashmap; import android.app.activity; import android.content.intent; import android.graphics.color; import android.os.bundle; import android.util.log; import android.view.gravity; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.linearlayout; import android.widget.tablerow.layoutparams; public class ListDisplayActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.list_display); HashMap<String, String> items = (HashMap<String, String>)getIntent().getSerializableExtra("items"); LinearLayout l = (LinearLayout) findviewbyid(r.id.listdisplaylayout);
42 41 LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT); for(string key : items.keyset()) { final Button item = new Button(this); item.settext(items.get(key)); item.settag(integer.parseint(key)); Log.v("FragmentYP",items.get(key)); item.setlayoutparams(params); item.setgravity(gravity.left); item.setonclicklistener(new OnClickListener() public void onclick(view v) { View p = (View)v.getParent(); String compid = ((Button)v).getTag().toString(); //item.setbackgroundcolor(color.red); //Log.v("FragmentYP","Compid: "+compid); Intent i = new Intent(); i.putextra("items", compid); i.setclass(listdisplayactivity.this, CompanyDetailActivity.class); ListDisplayActivity.this.startActivity(i); ); l.addview(item); APPENDIX 1.3 package com.nepguide; CompanyDetailActivity.java
43 42 import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import android.app.activity; import android.app.alertdialog; import android.os.bundle; import android.webkit.webview; import android.widget.textview; public class CompanyDetailActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.company_details); String items = (String)getIntent().getSerializableExtra("items"); //Log.v("FragmentYP",items); JSONParser jparser = new JSONParser(); JSONArray comp = null; try{ JSONObject jsonresponse = jparser.getjsonfromurl(" tems); JSONObject error = null; try{ error = jsonresponse.getjsonobject("error"); alertbox(error.tostring()); catch(jsonexception e1){ e1.printstacktrace(); if(error == null){ comp = jsonresponse.getjsonarray("data"); JSONObject company = (JSONObject) comp.get(0); TextView compname = (TextView) findviewbyid(r.id.compname); compname.settext(company.getstring("name").tostring()); TextView compaddress = (TextView) findviewbyid(r.id.compaddress); compaddress.settext(company.getstring("address").tostring()); TextView compcontact = (TextView) findviewbyid(r.id.compcontact); compcontact.settext(company.getstring("contact").tostring()); TextView compservices = (TextView) findviewbyid(r.id.compservices); compservices.settext(company.getstring("services").tostring()); TextView compotherinfo = (TextView) findviewbyid(r.id.compotherinfo); compotherinfo.settext(company.getstring("otherinfo").tostring()); WebView compmap = (WebView) findviewbyid(r.id.compmap); compmap.getsettings().setjavascriptenabled(true); compmap.loadurl(" ude").tostring()+","+company.getstring("longitude").tostring());
44 43 catch(jsonexception e){ alertbox("cound not reach to the internet for company details"); e.printstacktrace(); if(comp!= null){ protected void alertbox(string mymessage){ AlertDialog.Builder show = new AlertDialog.Builder(CompanyDetailActivity.this); show.setmessage(mymessage); show.settitle("alert"); AlertDialog dialog = show.create(); dialog.show(); APPENDIX 1.4 JSONParser.java package com.nepguide; import java.io.bufferedreader; import java.io.console; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.io.unsupportedencodingexception; import java.net.uri; import java.net.urisyntaxexception; import org.apache.http.httpentity; import org.apache.http.httpresponse; import org.apache.http.client.clientprotocolexception; import org.apache.http.client.methods.httpget; import org.apache.http.client.methods.httppost; import org.apache.http.impl.client.defaulthttpclient; import org.json.jsonexception; import org.json.jsonobject; import android.app.alertdialog; import android.util.log; public class JSONParser {
45 44 static InputStream is = null; static JSONObject jobj = null; static String json = ""; String TAG = "FragmentYP"; //constructor public JSONParser() { public JSONObject getjsonfromurl(string url) { //Making HTTP request URI uri = null; try { uri = new URI(url.replace(" ", "%20")); catch (URISyntaxException e1) { //TODO Auto-generated catch block e1.printstacktrace(); try { //defaulthttpclient DefaultHttpClient httpclient = new DefaultHttpClient(); HttpGet httppost = new HttpGet(uri); HttpResponse httpresponse = httpclient.execute(httppost); HttpEntity httpentity = httpresponse.getentity(); is = httpentity.getcontent(); catch (UnsupportedEncodingException e) { e.printstacktrace(); catch (ClientProtocolException e) { e.printstacktrace(); catch (IOException e) { e.printstacktrace(); try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "utf-8"), 8); StringBuilder sb = new StringBuilder(); String line = null;
46 45 while ((line = reader.readline())!= null) { sb.append(line + "\n"); is.close(); json = sb.tostring(); //Log.v(TAG, json); catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.tostring()); //try parse the string to a JSON object try { jobj = new JSONObject(json); catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.tostring()); //return JSON String return jobj;
ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android
Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: [email protected] Facebook: http://www.facebook.com/peterlo111
Android Basics. Xin Yang 2016-05-06
Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Getting Started: Creating a Simple App
Getting Started: Creating a Simple App What You will Learn: Setting up your development environment Creating a simple app Personalizing your app Running your app on an emulator The goal of this hour is
Introduction to Android SDK Jordi Linares
Introduction to Android SDK Introduction to Android SDK http://www.android.com Introduction to Android SDK Google -> OHA (Open Handset Alliance) The first truly open and comprehensive platform for mobile
INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011
INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 1 Goals of the Lecture Present an introduction to the Android Framework Coverage of the framework will be
ANDROID ALERT APP (SHOP SALE)
Bachelor's thesis (TUAS) Degree Programme in Information Technology Specialization: Android App Development 2014 Raj kumar Singh ANDROID ALERT APP (SHOP SALE) BACHELOR S THESIS ABSTRACT TURKU UNIVERSITY
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile
Workshop on Android and Applications Development
Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,
Android Development. Marc Mc Loughlin
Android Development Marc Mc Loughlin Android Development Android Developer Website:h:p://developer.android.com/ Dev Guide Reference Resources Video / Blog SeCng up the SDK h:p://developer.android.com/sdk/
Presenting Android Development in the CS Curriculum
Presenting Android Development in the CS Curriculum Mao Zheng Hao Fan Department of Computer Science International School of Software University of Wisconsin-La Crosse Wuhan University La Crosse WI, 54601
An Android-based Instant Message Application
An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 [email protected] Abstract One of the
MMI 2: Mobile Human- Computer Interaction Android
MMI 2: Mobile Human- Computer Interaction Android Prof. Dr. [email protected] Mobile Interaction Lab, LMU München Android Software Stack Applications Java SDK Activities Views Resources Animation
Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University
Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Android OS Open-source mobile OS (mostly Apache licence) Developed by Google + Open Handset Alliance
Android Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android
Introduction to Android
Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 Development on Android 3 Applications:
Android Programming. Android App. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.19
Høgskolen i Telemark Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Android Programming Cuong Nguyen, 2013.06.19 Android App Faculty of Technology,
Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( [email protected] )
Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( [email protected] ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application
Introduction to Android
Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application
Tutorial #1. Android Application Development Advanced Hello World App
Tutorial #1 Android Application Development Advanced Hello World App 1. Create a new Android Project 1. Open Eclipse 2. Click the menu File -> New -> Other. 3. Expand the Android folder and select Android
060010702 Mobile Application Development 2014
Que 1: Short question answer. Unit 1: Introduction to Android and Development tools 1. What kind of tool is used to simulate Android application? 2. Can we use C++ language for Android application development?
Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean
Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean Course Description Getting Started with Android Programming is designed to give students a strong foundation to develop apps
directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as
1 of 6 2011-03-01 12:16 AM yet another insignificant programming notes... HOME Android SDK 2.2 How to Install and Get Started Introduction Android is a mobile operating system developed by Google, which
ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android
Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based
Chapter 2 Getting Started
Welcome to Android Chapter 2 Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample Code Best development environment is Eclipse with the Android Developer Tool (ADT)
Android Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android
Getting Started With Android
Getting Started With Android Author: Matthew Davis Date: 07/25/2010 Environment: Ubuntu 10.04 Lucid Lynx Eclipse 3.5.2 Android Development Tools(ADT) 0.9.7 HTC Incredible (Android 2.1) Preface This guide
Android Development. http://developer.android.com/develop/ 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系
Android Development http://developer.android.com/develop/ 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系 Android 3D 1. Design 2. Develop Training API Guides Reference 3. Distribute 2 Development Training Get Started Building
Frameworks & Android. Programmeertechnieken, Tim Cocx
Frameworks & Android Programmeertechnieken, Tim Cocx Discover thediscover world atthe Leiden world University at Leiden University Software maken is hergebruiken The majority of programming activities
Homework 9 Android App for Weather Forecast
1. Objectives Homework 9 Android App for Weather Forecast Become familiar with Android Studio, Android App development and Facebook SDK for Android. Build a good-looking Android app using the Android SDK.
Here to take you beyond Mobile Application development using Android Course details
Here to take you beyond Mobile Application development using Android Course details Mobile Application Development using Android Objectives: To get you started with writing mobile application using Android
Android Mobile App Building Tutorial
Android Mobile App Building Tutorial Seidenberg-CSIS, Pace University This mobile app building tutorial is for high school and college students to participate in Mobile App Development Contest Workshop.
Introduction to Android Development
2013 Introduction to Android Development Keshav Bahadoor An basic guide to setting up and building native Android applications Science Technology Workshop & Exposition University of Nigeria, Nsukka Keshav
Developing NFC Applications on the Android Platform. The Definitive Resource
Developing NFC Applications on the Android Platform The Definitive Resource Part 1 By Kyle Lampert Introduction This guide will use examples from Mac OS X, but the steps are easily adaptable for modern
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY
ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing
Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012
Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android
ANDROID INTRODUCTION TO ANDROID
ANDROID JAVA FUNDAMENTALS FOR ANDROID Introduction History Java Virtual Machine(JVM) JDK(Java Development Kit) JRE(Java Runtime Environment) Classes & Packages Java Basics Data Types Variables, Keywords,
Android Application Development: Hands- On. Dr. Jogesh K. Muppala [email protected]
Android Application Development: Hands- On Dr. Jogesh K. Muppala [email protected] Wi-Fi Access Wi-Fi Access Account Name: aadc201312 2 The Android Wave! 3 Hello, Android! Configure the Android SDK SDK
Introduction to Android Development. Jeff Avery CS349, Mar 2013
Introduction to Android Development Jeff Avery CS349, Mar 2013 Overview What is Android? Android Architecture Overview Application Components Activity Lifecycle Android Developer Tools Installing Android
OpenCV on Android Platforms
OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it [email protected] http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android
Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development.
Android Development 101 Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development. Activity In Android, each application (and perhaps each screen
Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
Creating and Using Databases for Android Applications
Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea [email protected] *Correspondent Author: Sunguk Lee* ([email protected])
Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.
Android Application Development Daniel Switkin Senior Software Engineer, Google Inc. Goal Get you an idea of how to start developing Android applications Introduce major Android application concepts Walk
Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0
Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0 Part No. E52543-01 April 2014 Oracle Financial Services Software Limited Oracle Park Off Western Express Highway
Reminders. Lab opens from today. Many students want to use the extra I/O pins on
Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students
Android Developer Fundamental 1
Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility
How to develop your own app
How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that
Getting started with Android and App Engine
Getting started with Android and App Engine About us Tim Roes Software Developer (Mobile/Web Solutions) at inovex GmbH www.timroes.de www.timroes.de/+ About us Daniel Bälz Student/Android Developer at
Introduction to NaviGenie SDK Client API for Android
Introduction to NaviGenie SDK Client API for Android Overview 3 Data access solutions. 3 Use your own data in a highly optimized form 3 Hardware acceleration support.. 3 Package contents.. 4 Libraries.
Application Development
BEGINNING Android Application Development Wei-Meng Lee WILEY Wiley Publishing, Inc. INTRODUCTION xv CHAPTER 1: GETTING STARTED WITH ANDROID PROGRAMMING 1 What Is Android? 2 Android Versions 2 Features
Mocean Android SDK Developer Guide
Mocean Android SDK Developer Guide For Android SDK Version 3.2 136 Baxter St, New York, NY 10013 Page 1 Table of Contents Table of Contents... 2 Overview... 3 Section 1 Setup... 3 What changed in 3.2:...
CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu
CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup Emmanuel Agu What is Android? Android is world s leading mobile operating system Google: Owns Android, maintains it, extends
Android Java Live and In Action
Android Java Live and In Action Norman McEntire Founder, Servin Corp UCSD Extension Instructor [email protected] Copyright (c) 2013 Servin Corp 1 Opening Remarks Welcome! Thank you! My promise
SETTING UP YOUR JAVA DEVELOPER ENVIRONMENT
SETTING UP YOUR JAVA DEVELOPER ENVIRONMENT Summary This tipsheet describes how to set up your local developer environment for integrating with Salesforce. This tipsheet describes how to set up your local
How to build your first Android Application in Windows
APPLICATION NOTE How to build your first Android Application in Windows 3/30/2012 Created by: Micah Zastrow Abstract This application note is designed to teach the reader how to setup the Android Development
Mobile Application Development
Mobile Application Development (Android & ios) Tutorial Emirates Skills 2015 3/26/2015 1 What is Android? An open source Linux-based operating system intended for mobile computing platforms Includes a
Smartphone market share
Smartphone market share Gartner predicts that Apple s ios will remain the second biggest platform worldwide through 2014 despite its share deceasing slightly after 2011. Android will become the most popular
Mobile Application Development Android
Mobile Application Development Android MTAT.03.262 Satish Srirama [email protected] Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts
Introduction to Android Programming (CS5248 Fall 2015)
Introduction to Android Programming (CS5248 Fall 2015) Aditya Kulkarni ([email protected]) August 26, 2015 *Based on slides from Paresh Mayami (Google Inc.) Contents Introduction Android
Advantages. manage port forwarding, set breakpoints, and view thread and process information directly
Part 2 a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android
2. Click the download button for your operating system (Windows, Mac, or Linux).
Table of Contents: Using Android Studio 1 Installing Android Studio 1 Installing IntelliJ IDEA Community Edition 3 Downloading My Book's Examples 4 Launching Android Studio and Importing an Android Project
Running a Program on an AVD
Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run
ITG Software Engineering
Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android
An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi
An Introduction to Android Application Serdar Akın, Haluk Tüfekçi ARDIC ARGE http://www.ardictech.com April 2011 Environment Programming Languages Java (Officially supported) C (Android NDK Needed) C++
Arduino & Android. A How to on interfacing these two devices. Bryant Tram
Arduino & Android A How to on interfacing these two devices Bryant Tram Contents 1 Overview... 2 2 Other Readings... 2 1. Android Debug Bridge -... 2 2. MicroBridge... 2 3. YouTube tutorial video series
1. Introduction to Android
1. Introduction to Android Brief history of Android What is Android? Why is Android important? What benefits does Android have? What is OHA? Why to choose Android? Software architecture of Android Advantages
IOIO for Android Beginners Guide Introduction
IOIO for Android Beginners Guide Introduction This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to
QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR TELECOM INDUSTRY. SECTOR:TELECOM SUB-SECTOR: Handset (Terminal Applications) REFERENCE ID: TEL/Q2300
QUALIFICATIONS PACK - OCCUPATIONAL STANDARDS FOR TELECOM INDUSTRY Contents 1. Introduction and Contacts....... 1 2. Qualifications Pack.... 2 3. OS Units....5 OS describe what individuals need to do, know
Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework
Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources Homework 2 questions 10/9/2012 Y. Richard Yang 1 2 Recap: TinyOS Hardware components motivated design
Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna
Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java
CS378 -Mobile Computing. Android Overview and Android Development Environment
CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
An Introduction to Android
An Introduction to Android Michalis Katsarakis M.Sc. Student [email protected] Tutorial: hy439 & hy539 16 October 2012 http://www.csd.uoc.gr/~hy439/ Outline Background What is Android Android as a
Android Development Tutorial. Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011
Android Development Tutorial Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011 Database connections Local SQLite and remote access Outline Setting up the Android Development Environment (Windows)
Android (Basic + Advance) Application Development
Android (Basic + Advance) Application Development You will learn how to create custom widgets, create animations, work with camera, use sensors, create and use advanced content providers and much more.
Android Application Development
Android Application Development Self Study Self Study Guide Content: Course Prerequisite Course Content Android SDK Lab Installation Guide Start Training Be Certified Exam sample Course Prerequisite The
Hello World. by Elliot Khazon
Hello World by Elliot Khazon Prerequisites JAVA SDK 1.5 or 1.6 Windows XP (32-bit) or Vista (32- or 64-bit) 1 + more Gig of memory 1.7 Ghz+ CPU Tools Eclipse IDE 3.4 or 3.5 SDK starter package Installation
A Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities
App Development for Smart Devices CS 495/595 - Fall 2011 Lec #2: Android Tools, Building Applications, and Activities Tamer Nadeem Dept. of Computer Science Objective Understand Android Tools Setup Android
Student Attendance Through Mobile Devices
Student Attendance Through Mobile Devices Anurag Rastogi Kirti Gupta Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, Odisha, India Student Attendance
Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development
Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup
How To Develop An Android App On An Android Device
Lesson 2 Android Development Tools = Eclipse + ADT + SDK Victor Matos Cleveland State University Portions of this page are reproduced from work created and shared by Googleand used according to terms described
Development. SriSeshaa Technologies. Table of Contents
SriSeshaa Technologies Development Table of Contents SriSeshaa Android Development... 2 Introduction to Android... 3 SriSeshaa Capabilities... 3 SriSeshaa Android Case Studies... 5 Privacy Guard... 5 Backup
Android Application Repackaging
ISA 564, Laboratory 4 Android Exploitation Software Requirements: 1. Android Studio http://developer.android.com/sdk/index.html 2. Java JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs
COURSE CONTENT Introduction Brief history of Android Why Android? What benefits does Android have? What is OHA & PHA Why to choose Android? Software architecture of Android Advantages, features and market
Operational Decision Manager Worklight Integration
Copyright IBM Corporation 2013 All rights reserved IBM Operational Decision Manager V8.5 Lab exercise Operational Decision Manager Worklight Integration Integrate dynamic business rules into a Worklight
Overview of CS 282 & Android
Overview of CS 282 & Android Douglas C. Schmidt [email protected] www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282
Jordan Jozwiak November 13, 2011
Jordan Jozwiak November 13, 2011 Agenda Why Android? Application framework Getting started UI and widgets Application distribution External libraries Demo Why Android? Why Android? Open source That means
ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi
ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct
Homeschool Programming, Inc.
Printed Course Overview TeenCoder: Android Programming Course Title: TeenCoder: Android Programming Printed Course Syllabus and Planner Updated October, 2015 Textbook ISBN: 978-0-9830749-8-4, published
