SlideShare una empresa de Scribd logo
1 de 21
Mobile Application Development
1
Course teacher: Mr Kiran Khandarkar,
Assistant Professor in CSE Department.
2
Course Outcomes
ESC155: Mobile Application Development
ESC255: Lab-III: Mobile Application Development
 CO1: Explain Android Ecosystem and features of android operating system (II Understand)
 CO2: Configure Android environment and development tools. (III Apply)
 CO3: Use different layouts and control flow for designing User interface. (III Apply)
 CO4: Design user interface using different UI Components of Android. (III Apply)
 CO5: Demonstrate different lifecycles in Android. (III Apply)
 CO6: Illustrate process of publishing an android app on google play store. (III Apply)
• UNIT-III: Control Flow, Directory Structure, components of a screen,
fundamental UI Design, Linear Layout, Relative Layout
Textbooks/ Reference Books :
1. Composing Mobile Apps , by Anubhav Pradhan, Anil V Deshpande, Wiley
Publication.
2. Android App Development for Dummies , Michael Burton , Wiley
Publication.
3. Android Programming for Beginners , John Horton , Packt Publishing.
3
4
Android app development flow.
5
steps that an app goes through before it is ready for installation
6
TRAVERSING AN ANDROID APP PROJECT STRUCTURE
7
LOGICAL COMPONENTS OF AN ANDROID APP
1. Activity: It is the basis of the UI of any Android app. The overall UI may consist
of other visual elements, layout elements, resources, and many more things,
besides the Activity that forms the foundation of UI
2. Service: Service is another key logical component of an Android app. It runs in
the background, and does not have an UI. To interact with a Service, typically
an UI (Activity) is associated with it.
3. Broadcast Receiver: While the mobile device is being used, there may be
several announcements (broadcasts) which an app needs to capture and
respond to. Announcements such as an incoming call, an incoming SMS,
availability of Wi-Fi spot, or low battery are initiated by the system.
4. Content Provider: Persisting data pertaining to an app and making it accessible
across apps is a crucial aspect of mobile app development. However, as a
security feature, the Android platform prevents one app to access data of
another app. To overcome this constraint, where an app needs to share the
data with other apps, the data has to be exposed, which is done using Content
Provider.
8
 Because mobile apps run in resource-constrained
environments, there is a dire need to ensure that they are
optimally designed, responsive, and performant.
 The Android SDK comes bundled with a rich set of tools that
not only help developers to cater to these pressing demands
but also provide utilities that help them during the
development of apps.
 These tools are broadly classified as SDK tools and platform
tools.
 SDK tools are Android platform version agnostic, and are
present in the tools subfolder of the SDK.
 Platform tools are specific to Android platform version, and
are present in platform-tools subfolder of the SDK.
ANDROID TOOL REPOSITORY
9
ANDROID TOOL REPOSITORY
10
Components of a Screen
• Application components are the essential building blocks of an
Android application.
• These components are loosely coupled by the application
manifest file AndroidManifest.xml that describes each
component of the application and how they interact.
• A Screen is basic elements of GUI which holds the interface
for the user.
• A Screen in android can contain following components,
1. Activity 2. Layout 3. Views 4. ViewGroup
11
• An activity is the single screen in android.
• It is like window or frame of Java.
• By the help of activity, you can place all your UI
components or widgets in a single screen.
1. Activity
2. Layout
• A layout defines the structure for a user interface in your app,
such as in an activity.
• All elements in the layout are built using a hierarchy
of View and ViewGroup objects.
12
Figure 1. Illustration of a view hierarchy, which defines a UI layout
3. Views
• View class represents the basic building block for user
interface components.
• A View occupies a rectangular area on the screen and is
responsible for drawing and event handling.
• View is the base class for widgets, which are used to create
interactive UI components (buttons, text fields, etc.).
• The ViewGroup subclass is the base class for layouts, which
are invisible containers that hold other Views (or other
ViewGroups) and define their layout properties.
• Views may have an integer id associated with them. These
ids are typically assigned in the layout XML files, and are
used to find specific views within the view tree. A common
pattern is to:
13
Views
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/>
From the onCreate method of an Activity, find the Button
Button myButton = findViewById(R.id.my_button);
14
4. ViewGroup
• A ViewGroup is a special view that can contain other views (called children.)
• The view group is the base class for layouts and views containers.
• This class also defines the ViewGroup.LayoutParams class which serves as the
base class for layouts parameters.
15
Fundamental UI Design
 Layout / ViewGroup
 View
 Activities
 Fragments
 Notification overview
 App bar / Action Bar
 ViewPager : ViewPager object can animate screen slides automatically
 Swipe to refresh
 Toast Messages: Simple feedback about an operation in a small popup.
 Dialog boxes
 Menus
 Search
16
Layouts
There are many types of layout. Some of which are listed below −
o Linear Layout
o Absolute Layout
o Table Layout
o Frame Layout
o Relative Layout
17
Linear Layout
• Linear layout is further divided into horizontal and vertical layout.
• It means it can arrange views in a single column or in a single row.
• Here is the code of linear layout(vertical) that includes a text view.
18
<?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:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello” />
</LinearLayout>
Absolute Layout
The AbsoluteLayout enables you to specify the exact location
of its children.
It can be declared like this.
19
<AbsoluteLayout
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
xmlns:android=”http://schemas.android.com/apk/res/android” >
<Button
android:layout_width=”188dp”
android:layout_height=”wrap_content”
android:text=”Button”
android:layout_x=”126px”
android:layout_y=”361px” />
</AbsoluteLayout>
TableLayout
The TableLayout groups views into rows and columns.
It can be declared like this.
20
<TableLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_height=”fill_parent”
android:layout_width=”fill_parent” >
<TableRow>
<TextView
android:text=”User Name:”
android:width =”120dp”
/>
<EditText
android:id=”@+id/txtUserName”
android:width=”200dp” />
</TableRow>
</TableLayout>
RelativeLayout
The RelativeLayout enables you to specify how child views are
positioned relative to each other.
It can be declared like this.
21
<RelativeLayout
android:id=”@+id/RLayout”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
xmlns:android=”http://schemas.android.com/apk/res/android” >
</RelativeLayout>

Más contenido relacionado

Similar a Notes Unit3.pptx

Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answerskavinilavuG
 
Android Programming Tutorials.
Android Programming Tutorials.Android Programming Tutorials.
Android Programming Tutorials.DanielKimani17
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentAly Abdelkareem
 
Android apps development
Android apps developmentAndroid apps development
Android apps developmentRaman Pandey
 
Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Amit Saxena
 
Android Apps Development Basic
Android Apps Development BasicAndroid Apps Development Basic
Android Apps Development BasicMonir Zzaman
 
5 beginner android application development foundation
5 beginner android application development foundation5 beginner android application development foundation
5 beginner android application development foundationCbitss Technologies
 
Internship Project Report
Internship Project ReportInternship Project Report
Internship Project ReportRishabh Shukla
 
Get an Android tutorial for beginners
Get an Android tutorial for beginnersGet an Android tutorial for beginners
Get an Android tutorial for beginnersJavaTpoint.Com
 
Nativa Android Applications development
Nativa Android Applications developmentNativa Android Applications development
Nativa Android Applications developmentAlfredo Morresi
 
Mobile Application Development -Lecture 07 & 08.pdf
Mobile Application Development -Lecture 07 & 08.pdfMobile Application Development -Lecture 07 & 08.pdf
Mobile Application Development -Lecture 07 & 08.pdfAbdullahMunir32
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentProf. Erwin Globio
 
Android App Development Overview- HKInfoway Technologies.pdf
Android App Development Overview- HKInfoway Technologies.pdfAndroid App Development Overview- HKInfoway Technologies.pdf
Android App Development Overview- HKInfoway Technologies.pdfhkinfowaytech hkinfowaytech
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbaifaizrashid1995
 
Jaipur Bus Finder - An Android-based Application
Jaipur Bus Finder - An Android-based ApplicationJaipur Bus Finder - An Android-based Application
Jaipur Bus Finder - An Android-based ApplicationAI Publications
 

Similar a Notes Unit3.pptx (20)

Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
 
Android Basic- CMC
Android Basic- CMCAndroid Basic- CMC
Android Basic- CMC
 
Android Programming Tutorials.
Android Programming Tutorials.Android Programming Tutorials.
Android Programming Tutorials.
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android apps development
Android apps developmentAndroid apps development
Android apps development
 
Android app development.pdf
Android app development.pdfAndroid app development.pdf
Android app development.pdf
 
Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1
 
Android Apps Development Basic
Android Apps Development BasicAndroid Apps Development Basic
Android Apps Development Basic
 
5 beginner android application development foundation
5 beginner android application development foundation5 beginner android application development foundation
5 beginner android application development foundation
 
Android
AndroidAndroid
Android
 
Android app development
Android app developmentAndroid app development
Android app development
 
Internship Project Report
Internship Project ReportInternship Project Report
Internship Project Report
 
Android app development
Android app developmentAndroid app development
Android app development
 
Get an Android tutorial for beginners
Get an Android tutorial for beginnersGet an Android tutorial for beginners
Get an Android tutorial for beginners
 
Nativa Android Applications development
Nativa Android Applications developmentNativa Android Applications development
Nativa Android Applications development
 
Mobile Application Development -Lecture 07 & 08.pdf
Mobile Application Development -Lecture 07 & 08.pdfMobile Application Development -Lecture 07 & 08.pdf
Mobile Application Development -Lecture 07 & 08.pdf
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android App Development Overview- HKInfoway Technologies.pdf
Android App Development Overview- HKInfoway Technologies.pdfAndroid App Development Overview- HKInfoway Technologies.pdf
Android App Development Overview- HKInfoway Technologies.pdf
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Jaipur Bus Finder - An Android-based Application
Jaipur Bus Finder - An Android-based ApplicationJaipur Bus Finder - An Android-based Application
Jaipur Bus Finder - An Android-based Application
 

Último

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 

Último (20)

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 

Notes Unit3.pptx

  • 1. Mobile Application Development 1 Course teacher: Mr Kiran Khandarkar, Assistant Professor in CSE Department.
  • 2. 2 Course Outcomes ESC155: Mobile Application Development ESC255: Lab-III: Mobile Application Development  CO1: Explain Android Ecosystem and features of android operating system (II Understand)  CO2: Configure Android environment and development tools. (III Apply)  CO3: Use different layouts and control flow for designing User interface. (III Apply)  CO4: Design user interface using different UI Components of Android. (III Apply)  CO5: Demonstrate different lifecycles in Android. (III Apply)  CO6: Illustrate process of publishing an android app on google play store. (III Apply)
  • 3. • UNIT-III: Control Flow, Directory Structure, components of a screen, fundamental UI Design, Linear Layout, Relative Layout Textbooks/ Reference Books : 1. Composing Mobile Apps , by Anubhav Pradhan, Anil V Deshpande, Wiley Publication. 2. Android App Development for Dummies , Michael Burton , Wiley Publication. 3. Android Programming for Beginners , John Horton , Packt Publishing. 3
  • 5. 5 steps that an app goes through before it is ready for installation
  • 6. 6 TRAVERSING AN ANDROID APP PROJECT STRUCTURE
  • 7. 7 LOGICAL COMPONENTS OF AN ANDROID APP 1. Activity: It is the basis of the UI of any Android app. The overall UI may consist of other visual elements, layout elements, resources, and many more things, besides the Activity that forms the foundation of UI 2. Service: Service is another key logical component of an Android app. It runs in the background, and does not have an UI. To interact with a Service, typically an UI (Activity) is associated with it. 3. Broadcast Receiver: While the mobile device is being used, there may be several announcements (broadcasts) which an app needs to capture and respond to. Announcements such as an incoming call, an incoming SMS, availability of Wi-Fi spot, or low battery are initiated by the system. 4. Content Provider: Persisting data pertaining to an app and making it accessible across apps is a crucial aspect of mobile app development. However, as a security feature, the Android platform prevents one app to access data of another app. To overcome this constraint, where an app needs to share the data with other apps, the data has to be exposed, which is done using Content Provider.
  • 8. 8  Because mobile apps run in resource-constrained environments, there is a dire need to ensure that they are optimally designed, responsive, and performant.  The Android SDK comes bundled with a rich set of tools that not only help developers to cater to these pressing demands but also provide utilities that help them during the development of apps.  These tools are broadly classified as SDK tools and platform tools.  SDK tools are Android platform version agnostic, and are present in the tools subfolder of the SDK.  Platform tools are specific to Android platform version, and are present in platform-tools subfolder of the SDK. ANDROID TOOL REPOSITORY
  • 10. 10 Components of a Screen • Application components are the essential building blocks of an Android application. • These components are loosely coupled by the application manifest file AndroidManifest.xml that describes each component of the application and how they interact. • A Screen is basic elements of GUI which holds the interface for the user. • A Screen in android can contain following components, 1. Activity 2. Layout 3. Views 4. ViewGroup
  • 11. 11 • An activity is the single screen in android. • It is like window or frame of Java. • By the help of activity, you can place all your UI components or widgets in a single screen. 1. Activity 2. Layout • A layout defines the structure for a user interface in your app, such as in an activity. • All elements in the layout are built using a hierarchy of View and ViewGroup objects.
  • 12. 12 Figure 1. Illustration of a view hierarchy, which defines a UI layout
  • 13. 3. Views • View class represents the basic building block for user interface components. • A View occupies a rectangular area on the screen and is responsible for drawing and event handling. • View is the base class for widgets, which are used to create interactive UI components (buttons, text fields, etc.). • The ViewGroup subclass is the base class for layouts, which are invisible containers that hold other Views (or other ViewGroups) and define their layout properties. • Views may have an integer id associated with them. These ids are typically assigned in the layout XML files, and are used to find specific views within the view tree. A common pattern is to: 13
  • 15. 4. ViewGroup • A ViewGroup is a special view that can contain other views (called children.) • The view group is the base class for layouts and views containers. • This class also defines the ViewGroup.LayoutParams class which serves as the base class for layouts parameters. 15
  • 16. Fundamental UI Design  Layout / ViewGroup  View  Activities  Fragments  Notification overview  App bar / Action Bar  ViewPager : ViewPager object can animate screen slides automatically  Swipe to refresh  Toast Messages: Simple feedback about an operation in a small popup.  Dialog boxes  Menus  Search 16
  • 17. Layouts There are many types of layout. Some of which are listed below − o Linear Layout o Absolute Layout o Table Layout o Frame Layout o Relative Layout 17
  • 18. Linear Layout • Linear layout is further divided into horizontal and vertical layout. • It means it can arrange views in a single column or in a single row. • Here is the code of linear layout(vertical) that includes a text view. 18 <?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:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”@string/hello” /> </LinearLayout>
  • 19. Absolute Layout The AbsoluteLayout enables you to specify the exact location of its children. It can be declared like this. 19 <AbsoluteLayout android:layout_width=”fill_parent” android:layout_height=”fill_parent” xmlns:android=”http://schemas.android.com/apk/res/android” > <Button android:layout_width=”188dp” android:layout_height=”wrap_content” android:text=”Button” android:layout_x=”126px” android:layout_y=”361px” /> </AbsoluteLayout>
  • 20. TableLayout The TableLayout groups views into rows and columns. It can be declared like this. 20 <TableLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:layout_height=”fill_parent” android:layout_width=”fill_parent” > <TableRow> <TextView android:text=”User Name:” android:width =”120dp” /> <EditText android:id=”@+id/txtUserName” android:width=”200dp” /> </TableRow> </TableLayout>
  • 21. RelativeLayout The RelativeLayout enables you to specify how child views are positioned relative to each other. It can be declared like this. 21 <RelativeLayout android:id=”@+id/RLayout” android:layout_width=”fill_parent” android:layout_height=”fill_parent” xmlns:android=”http://schemas.android.com/apk/res/android” > </RelativeLayout>