SlideShare a Scribd company logo
1 of 24
Android GUI Project 
BByy VViibbrraanntt TTeecchhnnoollooggiieess 
&& CCoommppuutteerrss
Android 
• 1. Android Basics 
• 2. Android Development 
• 3. Android UI 
• 4. Hello, World 
• 5. My Project
Android Basics 
• Open source OS 
• Uses Linux kernel 
• Optimized for limited-resource environment 
• Apps typically written in Java 
• Apps run on the Dalvik Virtual Machine 
• Not a JVM, but works similarly from developer’s point 
of view 
• Usually one app per DVM 
• Each DVM runs under Linux as a separate user 
• App permissions set at install time 
• Possible to use C or C++ compiled to machine code, but still 
runs on VM. It’s not clear to me how this works. 
• Docs say it does not necessarily improve performance.
Sams Teach Yourself Android™Application Development in 24 Hours 
(0321673352) 
FIGURE 5.6 Simplified Android platform architecture from a security perspective.
Android Development 
• Well-defined framework for app development 
• Apps are typically coded using Java syntax, but 
other parts of the Java platform are missing 
• Some standard Java SE or ME APIs and class 
libraries are not included 
• I will give examples when I find out!
Android Development 
• Standard development environment is Eclipse + Android 
Development Tools plugin + Android SDK 
• Development requires either an Android OS device or an 
emulator 
• Emulator has limitations: 
• Performance is poor 
• Camera, etc., simulated using your computer’s hardware 
• No real phone calls or texts 
• GPS data, battery readings, etc. must be simulated 
• Real device is affected by specific hardware and software 
configuration
Android vs. Other Mobile 
OS 
I was able to choose what kind of smart phone to get according 
to which platform I wanted to use to try mobile development 
Android: 
•I had Java backend code ready to go for a first project 
•Interesting platform: 
• Familiar programming environment 
• Currently the market leader 
• Broad market, unlike more focused iOS, Blackberry, and 
(Palm) webOS 
• Development tools are open source and are free even for 
commercial use, unlike Visual Studio
Android App vs. Mobile- Optimized RIA 
• Android Flash plugins available; Silverlight coming soon 
• Could develop in JavaScript and/or HTML5 
• WWW App 
• Easier for users to run; no need to install 
• For a paid app, avoid the 30% App Store commission 
• Easier to write cross-platform apps 
• Android Apps 
• Fewer security hurdles 
• Use APIs for access to built in GPS, camera, etc. 
• Probably better performance; one layer less
Android Apps: Marketing 
• Usually market apps through Android App Market 
• There are other markets, also 
• App store will dominate the market due to access through 
built in app 
• Can set up for download directly on a website 
• User must agree to “install apps from unknown sources”
Android Apps: Marketing 
• Revenue from app sales prices and/or advertising 
• Conventional wisdom is that iOS users will pay for apps, 
but Android users won’t 
• 57% of Android App Store apps are free, vs. 28% for Apple 
App Store 
• Android Market takes 30% commission 
• Any purchase model other than one-time purchase must be 
homegrown, using Paypal or similar service 
• PPC ads 
• My guess is that response to these is extremely low 
• Probably need to be very aggressive with banner ads 
• Sell to companies?
Android Deployment 
• Apps are packaged in .apk format, variant of .jar, 
then downloaded to device and installed 
• .apks contain .dex files (bytecode), manifest and 
various other files 
• Manifest contains security and link info, 
hardware access info, minimum OS release info, 
etc.
Android UI 
• Activity: single screen with a UI, somewhat analogous to 
XAML / code behind pattern in .NET 
• Email app might have one activity that shows a list of 
new emails, another activity to compose an email, and 
another activity for reading emails 
• Implement by subclassing Activity class 
• View: drawable object 
• Android UI View ≠ MVC View 
• UI contains a hierarchy of Views 
• View is a class, subclassed by the drawable objects in 
the UI
Android UI 
• Service: background operation 
• play music in the background while the user is in 
a different application 
• fetch data over the network without blocking 
user interaction with an activity 
• Content Provider: DB or other data access 
• Broadcast Receiver: responds to system messages 
• Battery low
Android UI 
• UI construction can be done in three ways: 
• Programmatic, like hand-coded Java desktop GUI 
construction 
• Declarative hand-written, like Java web UI 
construction 
• XML 
• Declarative with a GUI builder, like .NET UI 
construction 
• GUI builder generates the XML
Programmatic UI 
package cs454.demo; 
import android.app.Activity; 
import android.widget.TextView; 
import android.os.Bundle; 
public class AndroidDemo extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
// Activity is a subclass of context, so the TextView takes this as a parameter 
TextView tv = new TextView(this); 
tv.setText("Hello, CS454"); 
setContentView(tv); 
} 
}
Manual Declarative UI 
main.xml Layout File: 
<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/textview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:text="@string/hello"/> 
strings.xml resource file: 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="hello">Hello Again, CS454!</string> 
<string name="app_name">CS454 AndroidDemo</string> 
</resources>
Manual Declarative UI 
Java class: 
package cs454.demo; 
import android.app.Activity; 
import android.os.Bundle; 
public class AndroidDemo extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
} 
}
What’s R? /* AUTO-GENERATED FILE. DO NOT MODIFY. This class was automatically generated by the 
* aapt tool from the resource data it found. It should not be modified by hand. */ 
package cs454.demo; 
public final class R { 
public static final class attr { 
} 
public static final class drawable { 
public static final int icon=0x7f020000; 
} 
public static final class id { 
public static final int textview=0x7f050000; 
} 
public static final class layout { 
public static final int main=0x7f030000; 
} 
public static final class string { 
public static final int app_name=0x7f040001; 
public static final int hello=0x7f040000; 
} 
}
UI With GUI Builder
Android Event Handlers 
From the code file for the activity: 
Button ok = (Button) findViewById(R.id.button1); 
ok.setOnClickListener(new View.OnClickListener() { 
public void onClick(View v) { 
CharSequence s = et.getText(); 
tv.setText("Welcome, " + s); 
} 
});
Sams Teach Yourself Android™Application Development in 24 Hours (0321673352) 
FIGURE 3.2 Important callback methods of the activity life cycle. 
Copyright ©2010 Lauren Darcey and Shane Conder
APIs for Android built-ins 
• Android OS ships with many built in apps 
• Web Browser 
• Google Maps 
• Navigation 
• Camera apps 
• Built in access for these as well as TTS and Voice 
Recognition, etc.
My Project 
• Goats and Tigers is a board game, which we implemented in 
Java in CS 460 last term. 
• The objective in CS460 was to implement the minmax / alpha 
beta pruning algorithm for the automatic player, not to 
create a good UI 
• My existing interface shows an ASCII art picture of the board 
and provides a JOptionPane menu of available moves 
• I will develop an Android UI and use my existing backend 
code as much as possible
References 
• http://vibranttechnologies.co.in 
• http://vibranttechnologies.co.in/android-classes-in-mumbai.php 
• http://android-classes-in-mumbai.tumblr.com

More Related Content

What's hot

Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworksRajkumarJangid7
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App DevelopmentMike Kvintus
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development SlidesVictor Miclovich
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1Kainda Kiniel Daka
 
Selenium web driver_2.0_presentation
Selenium web driver_2.0_presentationSelenium web driver_2.0_presentation
Selenium web driver_2.0_presentationsayhi2sudarshan
 
Mobility testing day_1_ppt
Mobility testing day_1_pptMobility testing day_1_ppt
Mobility testing day_1_pptsayhi2sudarshan
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio OverviewSalim Hosen
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development WorkshopPeter Robinett
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Jason Conger
 
Role of java in android app development
Role of java in android app developmentRole of java in android app development
Role of java in android app developmentRahul Rana
 
Android Programming
Android ProgrammingAndroid Programming
Android ProgrammingPasi Manninen
 
Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Omega_UAE
 
Use Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationUse Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationLucio Grenzi
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndreas Jakl
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 

What's hot (20)

Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworks
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development Slides
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Selenium web driver_2.0_presentation
Selenium web driver_2.0_presentationSelenium web driver_2.0_presentation
Selenium web driver_2.0_presentation
 
Mobility testing day_1_ppt
Mobility testing day_1_pptMobility testing day_1_ppt
Mobility testing day_1_ppt
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio Overview
 
Android Development Workshop
Android Development WorkshopAndroid Development Workshop
Android Development Workshop
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
 
Role of java in android app development
Role of java in android app developmentRole of java in android app development
Role of java in android app development
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021Best cross platform app development frameworks for 2021
Best cross platform app development frameworks for 2021
 
Use Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile applicationUse Ionic Framework to develop mobile application
Use Ionic Framework to develop mobile application
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Cross-Platform Development
Cross-Platform DevelopmentCross-Platform Development
Cross-Platform Development
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 

Similar to Android class provider in mumbai

Pertemuan 3 pm
Pertemuan 3   pmPertemuan 3   pm
Pertemuan 3 pmobanganggara
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)Omolara Adejuwon
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studioAbdul Basit
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionDuckMa
 
Android app devolopment
Android app devolopmentAndroid app devolopment
Android app devolopmentSitCom Solutions
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app developmentAbhishekKumar4779
 
Android Tutorial
Android TutorialAndroid Tutorial
Android TutorialYogesh_Lakhole
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Android development
Android developmentAndroid development
Android developmentmkpartners
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Gustavo Fuentes Zurita
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Gustavo Fuentes Zurita
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkImam Raza
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentumesh patil
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android ApplicationNandini Prabhu
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfNomanKhan869872
 

Similar to Android class provider in mumbai (20)

Pertemuan 3 pm
Pertemuan 3   pmPertemuan 3   pm
Pertemuan 3 pm
 
Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Introduction_to_android_and_android_studio
Introduction_to_android_and_android_studioIntroduction_to_android_and_android_studio
Introduction_to_android_and_android_studio
 
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break editionMatteo Gazzurelli - Introduction to Android Development - Have a break edition
Matteo Gazzurelli - Introduction to Android Development - Have a break edition
 
Android app devolopment
Android app devolopmentAndroid app devolopment
Android app devolopment
 
Seminar on android app development
Seminar on android app developmentSeminar on android app development
Seminar on android app development
 
Android Tutorial
Android TutorialAndroid Tutorial
Android Tutorial
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Android development
Android developmentAndroid development
Android development
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
 
Google Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talkGoogle Developer Group(GDG) DevFest Event 2012 Android talk
Google Developer Group(GDG) DevFest Event 2012 Android talk
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android Application
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 

More from Vibrant Technologies & Computers

SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables  SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables Vibrant Technologies & Computers
 
Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Vibrant Technologies & Computers
 
Data ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housingData ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housingVibrant Technologies & Computers
 
Sas - Introduction to working under change management
Sas - Introduction to working under change managementSas - Introduction to working under change management
Sas - Introduction to working under change managementVibrant Technologies & Computers
 

More from Vibrant Technologies & Computers (20)

Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5Buisness analyst business analysis overview ppt 5
Buisness analyst business analysis overview ppt 5
 
SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables  SQL Introduction to displaying data from multiple tables
SQL Introduction to displaying data from multiple tables
 
SQL- Introduction to MySQL
SQL- Introduction to MySQLSQL- Introduction to MySQL
SQL- Introduction to MySQL
 
SQL- Introduction to SQL database
SQL- Introduction to SQL database SQL- Introduction to SQL database
SQL- Introduction to SQL database
 
ITIL - introduction to ITIL
ITIL - introduction to ITILITIL - introduction to ITIL
ITIL - introduction to ITIL
 
Salesforce - Introduction to Security & Access
Salesforce -  Introduction to Security & Access Salesforce -  Introduction to Security & Access
Salesforce - Introduction to Security & Access
 
Data ware housing- Introduction to olap .
Data ware housing- Introduction to  olap .Data ware housing- Introduction to  olap .
Data ware housing- Introduction to olap .
 
Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.Data ware housing - Introduction to data ware housing process.
Data ware housing - Introduction to data ware housing process.
 
Data ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housingData ware housing- Introduction to data ware housing
Data ware housing- Introduction to data ware housing
 
Salesforce - classification of cloud computing
Salesforce - classification of cloud computingSalesforce - classification of cloud computing
Salesforce - classification of cloud computing
 
Salesforce - cloud computing fundamental
Salesforce - cloud computing fundamentalSalesforce - cloud computing fundamental
Salesforce - cloud computing fundamental
 
SQL- Introduction to PL/SQL
SQL- Introduction to  PL/SQLSQL- Introduction to  PL/SQL
SQL- Introduction to PL/SQL
 
SQL- Introduction to advanced sql concepts
SQL- Introduction to  advanced sql conceptsSQL- Introduction to  advanced sql concepts
SQL- Introduction to advanced sql concepts
 
SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data   SQL Inteoduction to SQL manipulating of data
SQL Inteoduction to SQL manipulating of data
 
SQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set OperationsSQL- Introduction to SQL Set Operations
SQL- Introduction to SQL Set Operations
 
Sas - Introduction to designing the data mart
Sas - Introduction to designing the data martSas - Introduction to designing the data mart
Sas - Introduction to designing the data mart
 
Sas - Introduction to working under change management
Sas - Introduction to working under change managementSas - Introduction to working under change management
Sas - Introduction to working under change management
 
SAS - overview of SAS
SAS - overview of SASSAS - overview of SAS
SAS - overview of SAS
 
Teradata - Architecture of Teradata
Teradata - Architecture of TeradataTeradata - Architecture of Teradata
Teradata - Architecture of Teradata
 
Teradata - Restoring Data
Teradata - Restoring Data Teradata - Restoring Data
Teradata - Restoring Data
 

Recently uploaded

call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonJericReyAuditor
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 

Recently uploaded (20)

call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lesson
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

Android class provider in mumbai

  • 1. Android GUI Project BByy VViibbrraanntt TTeecchhnnoollooggiieess && CCoommppuutteerrss
  • 2. Android • 1. Android Basics • 2. Android Development • 3. Android UI • 4. Hello, World • 5. My Project
  • 3. Android Basics • Open source OS • Uses Linux kernel • Optimized for limited-resource environment • Apps typically written in Java • Apps run on the Dalvik Virtual Machine • Not a JVM, but works similarly from developer’s point of view • Usually one app per DVM • Each DVM runs under Linux as a separate user • App permissions set at install time • Possible to use C or C++ compiled to machine code, but still runs on VM. It’s not clear to me how this works. • Docs say it does not necessarily improve performance.
  • 4. Sams Teach Yourself Android™Application Development in 24 Hours (0321673352) FIGURE 5.6 Simplified Android platform architecture from a security perspective.
  • 5. Android Development • Well-defined framework for app development • Apps are typically coded using Java syntax, but other parts of the Java platform are missing • Some standard Java SE or ME APIs and class libraries are not included • I will give examples when I find out!
  • 6. Android Development • Standard development environment is Eclipse + Android Development Tools plugin + Android SDK • Development requires either an Android OS device or an emulator • Emulator has limitations: • Performance is poor • Camera, etc., simulated using your computer’s hardware • No real phone calls or texts • GPS data, battery readings, etc. must be simulated • Real device is affected by specific hardware and software configuration
  • 7. Android vs. Other Mobile OS I was able to choose what kind of smart phone to get according to which platform I wanted to use to try mobile development Android: •I had Java backend code ready to go for a first project •Interesting platform: • Familiar programming environment • Currently the market leader • Broad market, unlike more focused iOS, Blackberry, and (Palm) webOS • Development tools are open source and are free even for commercial use, unlike Visual Studio
  • 8. Android App vs. Mobile- Optimized RIA • Android Flash plugins available; Silverlight coming soon • Could develop in JavaScript and/or HTML5 • WWW App • Easier for users to run; no need to install • For a paid app, avoid the 30% App Store commission • Easier to write cross-platform apps • Android Apps • Fewer security hurdles • Use APIs for access to built in GPS, camera, etc. • Probably better performance; one layer less
  • 9. Android Apps: Marketing • Usually market apps through Android App Market • There are other markets, also • App store will dominate the market due to access through built in app • Can set up for download directly on a website • User must agree to “install apps from unknown sources”
  • 10. Android Apps: Marketing • Revenue from app sales prices and/or advertising • Conventional wisdom is that iOS users will pay for apps, but Android users won’t • 57% of Android App Store apps are free, vs. 28% for Apple App Store • Android Market takes 30% commission • Any purchase model other than one-time purchase must be homegrown, using Paypal or similar service • PPC ads • My guess is that response to these is extremely low • Probably need to be very aggressive with banner ads • Sell to companies?
  • 11. Android Deployment • Apps are packaged in .apk format, variant of .jar, then downloaded to device and installed • .apks contain .dex files (bytecode), manifest and various other files • Manifest contains security and link info, hardware access info, minimum OS release info, etc.
  • 12. Android UI • Activity: single screen with a UI, somewhat analogous to XAML / code behind pattern in .NET • Email app might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails • Implement by subclassing Activity class • View: drawable object • Android UI View ≠ MVC View • UI contains a hierarchy of Views • View is a class, subclassed by the drawable objects in the UI
  • 13. Android UI • Service: background operation • play music in the background while the user is in a different application • fetch data over the network without blocking user interaction with an activity • Content Provider: DB or other data access • Broadcast Receiver: responds to system messages • Battery low
  • 14. Android UI • UI construction can be done in three ways: • Programmatic, like hand-coded Java desktop GUI construction • Declarative hand-written, like Java web UI construction • XML • Declarative with a GUI builder, like .NET UI construction • GUI builder generates the XML
  • 15. Programmatic UI package cs454.demo; import android.app.Activity; import android.widget.TextView; import android.os.Bundle; public class AndroidDemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Activity is a subclass of context, so the TextView takes this as a parameter TextView tv = new TextView(this); tv.setText("Hello, CS454"); setContentView(tv); } }
  • 16. Manual Declarative UI main.xml Layout File: <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/> strings.xml resource file: <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello Again, CS454!</string> <string name="app_name">CS454 AndroidDemo</string> </resources>
  • 17. Manual Declarative UI Java class: package cs454.demo; import android.app.Activity; import android.os.Bundle; public class AndroidDemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
  • 18. What’s R? /* AUTO-GENERATED FILE. DO NOT MODIFY. This class was automatically generated by the * aapt tool from the resource data it found. It should not be modified by hand. */ package cs454.demo; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int textview=0x7f050000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }
  • 19. UI With GUI Builder
  • 20. Android Event Handlers From the code file for the activity: Button ok = (Button) findViewById(R.id.button1); ok.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { CharSequence s = et.getText(); tv.setText("Welcome, " + s); } });
  • 21. Sams Teach Yourself Android™Application Development in 24 Hours (0321673352) FIGURE 3.2 Important callback methods of the activity life cycle. Copyright ©2010 Lauren Darcey and Shane Conder
  • 22. APIs for Android built-ins • Android OS ships with many built in apps • Web Browser • Google Maps • Navigation • Camera apps • Built in access for these as well as TTS and Voice Recognition, etc.
  • 23. My Project • Goats and Tigers is a board game, which we implemented in Java in CS 460 last term. • The objective in CS460 was to implement the minmax / alpha beta pruning algorithm for the automatic player, not to create a good UI • My existing interface shows an ASCII art picture of the board and provides a JOptionPane menu of available moves • I will develop an Android UI and use my existing backend code as much as possible
  • 24. References • http://vibranttechnologies.co.in • http://vibranttechnologies.co.in/android-classes-in-mumbai.php • http://android-classes-in-mumbai.tumblr.com