1 / 37

Android Development Training for Beginners

Android Development Training for Beginners. FIRST DAY MODULE. By: Joemarie Comeros Amparo. Outline:. Overview on Android Installing ADT on Eclipse Explore Project Components Sample Android Project Running Android Project. What is Android?.

cliftone
Download Presentation

Android Development Training for Beginners

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Android Development Training for Beginners FIRST DAY MODULE By: JoemarieComerosAmparo

  2. Outline: • Overview on Android • Installing ADT on Eclipse • Explore Project Components • Sample Android Project • Running Android Project

  3. What is Android? Android is an open mobile phone platform that was developed by Google and later by Open Handset Alliance. Google defines Android as a "software stack" for mobile phones. Software stack is made up of operating system(the platform on which everything runs), the middleware (the programming that allows applications to talk to a network and to one another) and the applications (the actual programs that phone will run)

  4. Android Software Stack Architecture

  5. Brief History July 2005 - Google Inc. bought from Danger Inc. Open Handset Alliance was formed headed by Google which is composed of companies like Intel, T-Mobile, Spring Nextel and more. In 2008, Android became available as an open source and ASOP(Android Open Source Project) is responsible for maintaining and development of android. February 2009, the first android version was released, Android 1.1. for Mobile G1.

  6. Android Versions Android 1.1 Android 1.5 Cupcake Android 1.6 Donut Android 2.0/2.1 Eclair Android 2.2.x Froyo Android 2.3.x Gingerbread Android 3. x Honeycomb Android 4.0.x Ice Cream Sandwich Android 4.1 Jelly Bean

  7. Android Version Market Share Note: When developing an application, consider the market share of the android version. The higher the market share, the higher number your target market is.

  8. What will you need? Note: Based on my development experience, ADT can run on at least Dual Core with at least 2GB RAM.

  9. Installation on Eclipse Please refer to: www.developershaven.net

  10. Application Components

  11. ActivitYCYCLE

  12. Inside an Activity public class CCSActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }

  13. Services • Run in the background • Can continue even if Activity that started it dies • Should be used if something needs to be done while the user is not interacting with application • Otherwise, a thread is probably more applicable • Should create a new thread in the service to do work in, since the service runs in the main thread • Can be bound to an application • In which case will terminate when all applications bound to it unbind • Allows multiple applications to communicate with it via a common interface • Needs to be declared in manifest file • Like Activities, has a structured life cycle

  14. ServicesCYCLE

  15. Project Components

  16. Project Component on Eclipse

  17. R Class • Auto-generated: YOUR SHOULD’NT EDIT IT! • Contains IDs of the project resources • Enforces good software engineering • Use findViewById and Resources object to get access to the resources • Ex. Button b = (Button)findViewById(R.id.button1) • Ex. getResources().getString(R.string.hello));

  18. R.Java Class

  19. Drawables

  20. Layouts • Eclipse has a great UI creator • Generates the XML for you • Composed of View objects • Can be specified for portrait and landscape mode • Use same file name, so can make completely different UIs for the orientations without modifying any code

  21. Layouts - continuation

  22. Layouts - continuation

  23. Layout Sample <?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:id="@+id/tv_hello"/> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Large Text“ android:textAppearance="?android:attr/textAppearanceLarge"/> </LinearLayout> res/values/string.xml

  24. Manifest File

  25. Intents 1. Lunching a new activity without expecting without expecting a result 2. Lunching a new activity and expecting a result when it finished. CalledActivity.class

  26. Sample Project On Eclipse IDE. Go To File > New > Project > Android Project See image at the side for the prompt that appear. Click next button.

  27. Sample Project Select android version. Tip: select the latest OS version available. You can add minimum and target SDK on your manifest file to support earlier android versions.

  28. Sample Project Provide package name of your project. Valid package name consist of two names separated by a period.

  29. Sample Project Provide package name of your project. Valid package name consist of two names separated by a period. Optional: Change minimum SDK for the lowest android version your application will support. Hit on finish

  30. Sample Project - Layout • In main.xml: • <?xml version="1.0" encoding="utf-8"?> • <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" • android:layout_width="fill_parent" • android:layout_height="fill_parent" • android:orientation="vertical" > • <TextView • android:layout_width="fill_parent" • android:layout_height="wrap_content" • android:text="@string/hello" /> • <LinearLayout • android:layout_width="match_parent" • android:layout_height="wrap_content" > • <Button • android:id="@+id/button1" • android:layout_width="wrap_content" • android:layout_height="wrap_content" • android:text="@string/button1" /> • <Button • android:id="@+id/button2" • android:layout_width="wrap_content" • android:layout_height="wrap_content" • android:text="Button 2" /> • <Button • android:id="@+id/button3" • android:layout_width="wrap_content" • android:layout_height="wrap_content" • android:text="Button 3" /> • </LinearLayout> • <EditText • android:id="@+id/editText1" • android:layout_width="match_parent" • android:layout_height="wrap_content" • android:ems="10" > • <requestFocus /> • </EditText> • </LinearLayout> Under res/layout on your project explorer. Open main.xml. Create a layout like this:

  31. Sample Project - Values Under res/values on your project explorer. Open strings.xml. <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, SampleProjectActivity!</string> <string name="app_name">SampleProject</string> <string name="button1">Button 1 Clicked.</string> </resources> NOTE: string with name button1 is being referenced by Button 1 android:text property. See main.xml in your layout.

  32. Sample Project - SOURCE Under SRC on your project explorer. Open SampleProjectActivity.java. Change code to this: See comments for better understand. public class SampleProjectActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Toast.makeText(this, "Hello.", Toast.LENGTH_LONG).show(); //referencing components in our layout as set in setContentView, - main.xml //findViewById is used hence we components in our layout will be called //through their ids as set in android:id properties. See main.xml in your layout. Button btn1 = (Button)findViewById(R.id.button1); //one way in handling click event btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Toast is a prompt that will notify user of what has happened in the application //but not requiring user an action. Toast.makeText(getApplication(), "Button 1 Clicked", Toast.LENGTH_LONG).show(); } }); Button btn2 = (Button)findViewById(R.id.button2); Button btn3 = (Button)findViewById(R.id.button3); //Other way of handling event inside an activity btn2.setOnClickListener(this); btn3.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()) { case R.id.button2: EditTexteditText = (EditText)findViewById(R.id.editText1); editText.setText("Button 2 Clicked!"); break; case R.id.button3: // Intent with out waiting for result. // This is creating a new view and passing the new controll to the next view. Intent intent = new Intent(this, NextActivity.class); startActivity(intent); break; } } } import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;

  33. Sample Project - SOURCE Create NextActivity.java Right click SRC folder > New > Class. Change code to this: import android.app.Activity; import android.os.Bundle; import android.widget.Button; import android.widget.TextView; public class NextActivity extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // you can have a new layout. but for this example // we will be reusing the main.xml as our layout. // we will just manipulate the text to inform user that //a new activity has been created. setContentView(R.layout.main); // setTitle - change the title of the next view setTitle("Next Activity"); //setting page title TextViewpageTitle = (TextView)findViewById(R.id.pagetitle); pageTitle.setText("Hello, You are now in the Next Activity Class."); Button btn1 = (Button)findViewById(R.id.button1); btn1.setText("Option 1"); Button btn2 = (Button)findViewById(R.id.button2); btn2.setText("Option 2"); Button btn3 = (Button)findViewById(R.id.button3); btn3.setText("Option 3"); } }

  34. Sample Project – Manifest File Open Manifest.xml in your project explorer. Register NextActivity class to your project. Your new manifest file must look like the code at the side. Save all the changes <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sample" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".SampleBradActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".NextActivity" android:label="@string/app_name" /> </application> </manifest>

  35. Sample Project – RUN YOUR ANDROID APPLICATION Right click your project name in your project explorer > RUN AS > ANDROID APPLICATION. Emulator will boot up. Wait until home screen is shown. Your application will be displayed on the screen. You can now enjoy the application. Congratulations!!!

  36. Resources & Acknowledgements • Installation: http://developershaven.net • Google API: http://mfarhan133.wordpress.com/2010/10/01/generate-google-maps-api-key-for-android/ • Android Developer’s Website : http://developer.android.com/index.html • Numerous Forums & other developer sites, including: • http://www.javacodegeeks.com/2011/02/android-google-maps-tutorial.html • http://efreedom.com/Question/1-6070968/Google-Maps-Api-Directions • http://stackoverflow.com • http://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.html

  37. THANK YOU VERY MUCH! JoemarieComerosAmparo about.me/joemarieamparo Skype/Ymail/Gmail : joemarieamparo Facebook: joemarieamparo@yahoo.com

More Related