Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to android

690 views

Published on

Introduction to android

Published in: Software

Introduction to android

  1. 1. TOPICS TO BE COVERED • Introduction to android. • Setup android environment. • User interface development. • Interactive application development.
  2. 2. OVERVIEW • What is android? • History of android. • What is Open handset alliance? • Different Versions of android.
  3. 3. BRIEF HISTORY • Android is a Linux-based open source software stack that comes along with: 1. operating system 2. middleware 3. native mobile applications • It was designed primarily for touchscreen mobile devices such as smartphones, tablets. • Initially developed by Android Inc.,(founded in 2003 and is based in Palo Alto, California) which operated as subsidiary of Google and later purchased by Google in 2005. • Android was publically announced in 2007 and first phone was sold on October 2008.
  4. 4. VERSIONS OF ANDROID
  5. 5. NAMES & SPECIFICATION • Initial two versions were called as beta versions specified as Android 1.0 & 1.1. • Later on names of subsequent versions were based on some dessert & are in alphabetic orders e.g. 1. 1.5 Cupcake 2. 1.6 Donut 3. 2.0/2.1 Éclair 4. 2.2 Froyo 5. 2.3 Gingerbread 6. 3.0/3.1 Honeycomb 7. 4.0 Ice-cream Sandwich 8. 4.1 Jelly Bean 9. 4.4 Kitkat
  6. 6. Open handset Alliance
  7. 7. What is activity ?
  8. 8. OPEN SOURCE Industry • Software stack open- sourced under Apache 2.0 license • Source available after first handsets ship • Anyone will be able to build a system image Users • Users have control of their experience • They control what gets installed • They choose the defaults Developer • Don not need permission to ship an application • No hidden or privileged framework APIs • Can integrate, extend and replace existing components INDUSTRY USER DEVELOPER
  9. 9. ANDROID
  10. 10. USER INTERFACE • User interface layout • View • View group • UI attributes and ID • Types of layouts • Basic Input controls I. Buttons II. Textfields III. Radio button IV. Checkbox V. Toggle button VI. Spinners VII. Pickers
  11. 11. USER INTERFACE DESIGNING Two ways: 1. Programming 2. Drag & Drop (good and efficient)
  12. 12. View & view group What is view? • All user interface elements in the android app are build using view and view group objects. e.g. view contains: button, textfields, etc.
  13. 13. What is view group?
  14. 14. For Example Vertical layout in which Button and Text View look like this <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a Button" /> </LinearLayout>
  15. 15. ATTRIBUTES • Id: every view element has a unique id. Example android:id=“@+id/unique name” Indicates xml should be parsed Indicates new resource has to added to R.java file Resource generated automatically
  16. 16. LAYOUT AND ITS TYPES • Linear • Relative • Table layout • Grid layout • Grid view • List view
  17. 17. LINEAR LAYOUT • LinearLayout is a view group that aligns all children in a single direction, vertically or horizontally. You can specify the layout direction with the android :orientation attribute. Example:
  18. 18. • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" android:orientation="vertical" > <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/to" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/subject" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="top" android:hint="@string/message" /> <Button android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="right" android:text="@string/send" /> </LinearLayout>
  19. 19. RELATIVE LAYOUT • Relative layout is a view group that displays child views in relative positions
  20. 20. • <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" > <EditText android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/reminder" /> <Spinner android:id="@+id/dates" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/times" /> <Spinner android:id="@id/times" android:layout_width="96dp" android:layout_height="wrap_content" android:layout_below="@id/name" android:layout_alignParentRight="true" /> <Button android:layout_width="96dp" android:layout_height="wrap _content" android:layout_below="@id /times" android:layout_alignParent Right="true" android:text="@string/done" /> </RelativeLayout>
  21. 21. LIST VIEW • List view a view group that displays a list of scrollable items. • The list using an adapter that pulls content from a source such as an array or database query and converts each item result into a view that’s placed into the list.
  22. 22. GRID VIEW • Grid view is a view group that displays items in a two dimensional, scrollable grid. The grid items are automatically inserted to the layout using list adapter.
  23. 23. Control Type Description Related Classes Button A push-button that can be pressed, or clicked, by the user to perform an action. Button Text field An editable text field. You can use theAutoCompleteTextView widget to create a text entry widget that provides auto-complete suggestions EditText,AutoCompleteTextView Checkbox An on/off switch that can be toggled by the user. You should use checkboxes when presenting users with a group of selectable options that are not mutually exclusive. CheckBox Radio button Similar to checkboxes, except that only one option can be selected in the group. RadioGroup RadioButton Toggle button An on/off button with a light indicator. ToggleButton Spinner A drop-down list that allows users to select one value from a set. Spinner Pickers A dialog for users to select a single value for a set by using up/down buttons or via a swipe gesture. Use aDatePickercode> widget to enter the values for the date (month, day, year) or a TimePicker widget to enter the values for a time (hour, minute, AM/PM), which will be formatted DatePicker,TimePicker
  24. 24. TEXTFIELD • <EditText android:layout_width="match_parent“ android:layout_height="wrap_content" android:hint="@string/subject" />
  25. 25. BACKGROUND COLOR android:background=“hex-value”
  26. 26. TEXT COLOR android:textColor=“hex-value”
  27. 27. HINT android:hint=“string”
  28. 28. TEXT • android:text=“string”
  29. 29. BUTTON <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_text" ….>
  30. 30. HOW TO MAKE APP INTERACTIVE? Two ways: 1. onclick event 2. onclick listerner
  31. 31. Onclick event • <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" android:onClick=“name_of_event" />
  32. 32. public void sendMessage(View view) { // Do something in response to button click } The method you declare in the android:onClick attribute must have a signature exactly as shown above. Specifically, the method must: • Be public • Return void • Define a View as its only parameter
  33. 33. USING Onclicklistener Button button = (Button) findViewById(R.id.button_send); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Do something in response to button click } });
  34. 34. CHECKBOX public void onCheckboxClicked(View view) { // Is the view now checked? boolean checked = ((CheckBox) view).isChecked(); // Check which checkbox was clicked switch(view.getId()) { case R.id.checkbox_meat: if (checked) // Put some meat on the sandwich else // Remove the meat break; case R.id.checkbox_cheese: if (checked) // Cheese me else // I'm lactose intolerant break; // TODO: Veggie sandwich }}
  35. 35. RADIO BUTTONS
  36. 36. ONCLICK EVENT public void onRadioButtonClicked(View view) { // Is the button now checked? boolean checked = ((RadioButton) view).isChecked(); // Check which radio button was clicked switch(view.getId()) { case R.id.radio_pirates: if (checked) // Pirates are the best break; case R.id.radio_ninjas: if (checked) // Ninjas rule break; }}
  37. 37. Important Folders • Whenever we create any Application, there are a number of folders which are created by default. • These folders contain subfolders and important files associated to them which play a key role in proper UI designing as well as coding. 1. src (source code of activities) 2. Android 4.4 (contains all library files) 3. gen ( auto generated files (R.java)) 4. Res (resource) 1. it contains all Drawable components 2. layouts ( it contains the xml file) 3. menu 4. values – string.xml dimens.xml style.xml 5. Android Manifest File 1. Sdk (min to max) 2. Application (contain main activity details) a. Activity b. Intent filter c. Providers d. Services e. Receivers etc.
  38. 38. Image View 1. If we want to add an Image in our activity, we need to copy the image to the “Drawable folder” in “res folder”. 2. Drawable folder contains subfolders : 1. hdpi ( ̴ 240 dpi) is High density pixels 2. ldpi ( ̴ 120 dpi) is Low density pixels 3. mdpi ( ̴ 160 dpi) is medium density pixels 4. xhdpi ( ̴ 320 dpi) is extra high density pixels 3. Add <imageView> and define different parameters in it.
  39. 39. Toast Message (notification) • Toast provides simple feedback about an operation in a small popup. • It only fills the amount of space required for the message and the current activity remains visible and interactive. • Toast automatically disappears after timeout. Syntax : Toast toast=Toast.makeText (context, text, duration); toast.show(); Note:- Toast is instantiated by using makeText() method.
  40. 40. Activity 1 Background= #F00000 text="@string/button_01" textStyle="bold" fontFamily="times new roman" background="#68AD00" textColor="#000000" text="@string/button_02" textStyle="bold" fontFamily="times new roman" background="#FFF000" textColor="#000000" Button
  41. 41. Activity 2 layout_width=”30dp” ems="10" hint="@string/Textview" inputType="text" textColor="#000000" background="#FF00FF” layout_width=”30dp” ems="10" hint="@string/Textview" textColor="#000000" background="#00FF00” inputType= “date” layout_width=”30dp” ems="10" hint="@string/Textview" textColor="#000000" background="#663300” inputType= “time” layout_width=”130dp” android:text="Submit" android:textColor="#FFFFFF" android:background="#FF0000" layout_width=”30dp” ems="10" hint="@string/Textview" textColor="#000000" background="#009900” Background= #FFFF66

×