SlideShare a Scribd company logo
26/1/2015 http://blog.kerul.net 1
Android Apps Development
(Hybrid approach using HTML5, jQuery,
Apache Cordova and Android SDK)
Khirulnizam Abd Rahman
blog.kerul.net
About Khirulnizam
 Lecturer of Computer Science, Faculty of
Information Science and Technology, Selangor
International Islamic University College (KUIS) –
since 2000.
 Certified HRDF Trainer
 Codes in blog.kerul.net
 Avid Android developer since 2010 – MDeC
ICONApp 2010.
 Grants MDeC ICON 2010,2011; MDeC
ICONdap 2013.
 Apps in Google Play
 M-Mathurat – 200K ( bit.ly/m-mathurat )
 Peribahasa Dictionary – 20K ( bit.ly/pbahasa)
 mDictionary – open-sourced ( bit.ly/m-dictionary )
26/1/2015 http://blog.kerul.net 2
Agenda Day 1
26/1/2015 ANDROID APP DEVELOPMENT (Hybrid) - blog.kerul.net 3
Agenda Day 2
26/1/2015 http://blog.kerul.net 4
Android Devices
26/1/2015 http://blog.kerul.net 5
Android Story
 http://www.techsavys.info/2011/07/the-
android-story-an-android-infographic-
discussing-about-its-beginning-on-
going-changes-and-worldwide-market-
shares.html
26/1/2015 http://blog.kerul.net 6
Faq1: What is Android?
 Android is a software stack for mobile devices
that includes an operating system,
middleware and key applications (platform).
The Android SDK provides the tools and APIs
necessary to begin developing applications on
the Android platform using the Java
programming language.
 The kernel of most Android version is based
on Linux 2.6 (3.0 for ICS).
 Android architecture;
26/1/2015 http://blog.kerul.net 7
Android Architecture
26/1/2015 http://blog.kerul.net 8
Faq2: Who develop
Android?
 Initially developed by Andrew
(Andy) Rubin and his team in
Android Inc.
 Google acquired Android Inc.
in 2005.
 Till Mac 2013, developed by
Google under Andy Rubin
(Senior Vice President of
Mobile)
26/1/2015 http://blog.kerul.net 9
Android
Global
Market
share
Source: Strategy Analytics -
http://blogs.strategyanalytics.c
om/WSS/post/2013/10/31/And
roid-Captures-Record-81-
Percent-Share-of-Global-
Smartphone-Shipments-in-Q3-
2013.aspx
26/1/2015 http://blog.kerul.net 10
Faq3: How many versions
(distributions) Android has?
26/1/2015 http://blog.kerul.net 11
 Source:
http://developer.android.com/resources/dashb
oard/platform-versions.html
26/1/2015 http://blog.kerul.net 12
Faq4: What is API Level?
 API Level is an integer value that uniquely
identifies the framework API revision offered
by a version of the Android platform.
 The Android platform provides a framework
API that applications can use to interact with
the underlying Android system.
26/1/2015 http://blog.kerul.net 13
Faq5: What is Android
app?
 Developer can develop application that runs
on top of Android.
 App is actually a simpler version of
application.
 Uses *.apk for the installer file extension.
26/1/2015 http://blog.kerul.net 14
Apps samples
26/1/2015 http://blog.kerul.net 15
Apps
26/1/2015 http://blog.kerul.net 16
Faq6: What is Dalvik Virtual
Machine, is it similar as JVM?
 Author - Dan Bornstein
 Dalvik VM implementing slightly different
architecture to JVM.
 Dalvik VM is a register-based
architecture.
 Being optimized for low memory and
slower processing speed.
 The VM was slimmed down to use less
space.
26/1/2015 http://blog.kerul.net 17
DVM (for below Android 5)
26/1/2015 http://blog.kerul.net 18
ART
 Android Runtime
26/1/2015 http://blog.kerul.net 19
Faq7: What is the language
used to develop Android app
Hybrid Approach?
 HTML
 CSS
 JavaScript
 Java
 XML
 SQL
26/1/2015 http://blog.kerul.net 20
Hybrid Approach
26/1/2015 http://blog.kerul.net 21
Hybrid Approach – consists
of
 HTML + jQuery (JavaScript, CSS)
 Apache Cordova (HTML to Android
Project)
 Eclipse ADT – to generate APK
26/1/2015 http://blog.kerul.net 22
Faq8: What are tools needed
to develop Android App
Hybrid? HTML knowledge
 jQuery (JavaScript + CSS framework)
 NodeJS
 Apache Ant
 Apache Cordova
 Latest JDK
 Eclipse ADT Bundle
 Android SDK
26/1/2015 http://blog.kerul.net 23
Apache ANT
 Apache Ant is a Java library and
command-line tool
 to drive processes described in build
files as targets and extension points
dependent upon each other.
 The main known usage of Ant is the
build of Java applications.
26/1/2015 http://blog.kerul.net 24
NodeJS
26/1/2015 http://blog.kerul.net 25
 Node.js contains a built-in library to
allow applications to act as a Web
server without software such as Apache
HTTP
Apache Cordova
 Previously known as PhoneGap
 use HTML5 and CSS3 for their rendering,
and JavaScript for logic
 HTML5 provides better support for GPS,
camera, video, etc.
 includes basic plugins that allow access to
the device's hardware’s.
 embeds HTML5 code inside a native
WebView on the device, using a foreign
function interface to access the native
resources of the device.
26/1/2015 http://blog.kerul.net 26
IDE - Eclipse
26/1/2015 http://blog.kerul.net 27
Emulator
26/1/2015 http://blog.kerul.net 28
Dalvik Debugger
26/1/2015 http://blog.kerul.net 29
Faq8: Where to distribute my
App?
 Play.google.com
 Sampung App Store
 Amazon AppStore
 Appzill.net
 GetJar.com
 Your own distribution channel
26/1/2015 http://blog.kerul.net 30
Android Project Structure
 Inside Android Project, there should be;
/src – the Java codes are here
/gen – generated automatically
/assets – put your fonts, videos, sounds here
/res – images, layout and global variables
/drawable-hdpi –for high spec phones
/drawable-ldpi –for low spec phones
/drawable-mdpi –for medium spec phones
/layout – all XML file for the screen(s) layout
/values – global constant variables
26/1/2015 http://blog.kerul.net 31
26/1/2015 http://blog.kerul.net 32
AndroidManifest
 AndroidManifest.xml – app’s
permissions need to be registered here
– (eg: app can access Internet, phone
contacts, camera, etc must be
mentioned here)
26/1/2015 http://blog.kerul.net 33
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="7"
android:versionName="1.7"
package="net.kerul.mMathurat">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:taskAffinity=".mMathuratActivity">
<activity android:name=".mMathuratActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Aboutus" class=".Aboutus"
android:label="Mengenai kami..." android:screenOrientation="portrait">
</activity>
<activity android:name=".Berterusan" class=".Berterusan"
android:label="Mod pemanduan..." android:screenOrientation="portrait">
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
<receiver android:name=".DetectIncomingCall">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
</manifest>
26/1/2015 http://blog.kerul.net 34
DEMOs
26/1/2015 http://blog.kerul.net 35
LESS plan, MORE do
- Mark Zuckerberg
Agenda Day 1
26/1/2015 ANDROID APP DEVELOPMENT (Hybrid) - blog.kerul.net 36
Installing Web Editor
 Use NotePad++
 Or any HTML editor (such as
DreamWeaver)
26/1/2015 http://blog.kerul.net 37
Web Client
 Any web browser could be the web
client
26/1/2015 http://blog.kerul.net 38
Install the Web Server
 Apache HTTPd – also available in
XAMPP
 Download at
https://www.apachefriends.org/
 localhost
26/1/2015 http://blog.kerul.net 39
Web root
26/1/2015 http://blog.kerul.net 40
What is HTML?
 HyperText Mark-up Language
 Marking up areas with angle brackets or
TAGs
26/1/2015 http://blog.kerul.net 41
HTML Basics Structure
 <!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
 Save as index.html
26/1/2015 http://blog.kerul.net 42
Hyperlinks
 <!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
<a href="http://kerul.net">This is a link</a>
</body>
</html>
26/1/2015 http://blog.kerul.net 43
Images
 <img src="w3schools.jpg" alt="W3Schoo
ls.com" width="104" height="142">
26/1/2015 http://blog.kerul.net 44
Layout using DIV
<div id="header">
<h1>City Gallery</h1>
</div>
<div id="nav">
London<br>
Paris<br>
Tokyo<br>
</div>
<div id="section">
<h1>London</h1>
<p>
London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.
</p>
<p>
Standing on the River Thames, London has been a major settlement for two millennia,
its history going back to its founding by the Romans, who named it Londinium.
</p>
</div>
<div id="footer">
Copyright © W3Schools.com
</div>
26/1/2015 http://blog.kerul.net 45
CSS?
 Cascading Style Sheet
 Added to HTML4 to provide styles in
HTML elements
26/1/2015 http://blog.kerul.net 46
CSS syntax
 p {
color: red;
text-align: center;
}
26/1/2015 http://blog.kerul.net 47
Simple CSS example - internal
 <head>
<style>
body {
background-color: linen;
}
h1 {
color: maroon;
margin-left: 40px;
}
</style>
</head>
26/1/2015 http://blog.kerul.net 48
CSS inline
 <h1 style="color:blue;margin-left:30px;">
This is a heading.</h1>
26/1/2015 http://blog.kerul.net 49
CSS example
<!DOCTYPE html>
<html>
<head>
<style>
body {
}
</style>
</head>
<body style=“background-color: #b0c4de;”>
<h1>My CSS web page!</h1>
<p>Hello world! This is a W3Schools.com example.</p>
</body>
</html>
26/1/2015 http://blog.kerul.net 50
JavaScript
 Script to add live interaction to HTML
<!DOCTYPE html>
<html>
<body>
<h1 onmouseover="style.color='red'"
onmouseout="style.color='black'">Mouse
over this text</h1>
</body>
</html>
26/1/2015 http://blog.kerul.net 51
JavaScript Example
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
}
</script>
</head>
<body>
Enter your name: <input type="text" id="fname" onblur="myFunction()">
<p>When you leave the input field, a function is triggered which transforms the
input text to upper case.</p>
</body>
</html>
26/1/2015 http://blog.kerul.net 52
Mobile Web Page
 Create folders in web root as below
26/1/2015 http://blog.kerul.net 53
Copy the template
 css/jquery.mobile.min.css
 js/jquery.min.js
 js/jquery.mobile.min.js
 index.html
The css and js files are available in the
jQuery.mobile
26/1/2015 http://blog.kerul.net 54
Mobile Web page structure
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/jquery.mobile-1.4.5.min.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Page Title</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<p>Page content goes here.</p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
26/1/2015 http://blog.kerul.net 55
http://demos.jquerymobile.com/1.4.5/pages/
Head segment
<head>
<title>Page Title</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-
width, initial-scale=1">
<link href="css/jquery.mobile-1.4.5.min.css"
rel="stylesheet" type="text/css" />
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/jquery.mobile-1.4.5.min.js"></script>
</head>
26/1/2015 http://blog.kerul.net 56
Ad

More Related Content

What's hot (20)

Android development 1july
Android development 1julyAndroid development 1july
Android development 1july
Edureka!
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Edureka!
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To Know
PixelCrayons
 
Getting Started With AngularJS
Getting Started With AngularJSGetting Started With AngularJS
Getting Started With AngularJS
Edureka!
 
Building android and i os apps with visual studio
Building android and i os apps with visual studioBuilding android and i os apps with visual studio
Building android and i os apps with visual studio
Lohith Goudagere Nagaraj
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
Haim Michael
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash Platform
Mihai Corlan
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
Yoav Niran
 
Facebook appsincloud
Facebook appsincloudFacebook appsincloud
Facebook appsincloud
Kirsten Hunter
 
21 web-developement-trends
21 web-developement-trends21 web-developement-trends
21 web-developement-trends
Khairul Aizat Kamarudzzaman
 
iOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingiOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group Meeting
Jim Tochterman
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
Anuchit Chalothorn
 
Web Development
Web DevelopmentWeb Development
Web Development
Wei Weng
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
Mihai Corlan
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
Katy Slemon
 
Flutter introduction
Flutter introductionFlutter introduction
Flutter introduction
Võ Duy Tuấn
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developing
Jawhar Ali
 
Getting started with flash mobile development
Getting started with flash mobile developmentGetting started with flash mobile development
Getting started with flash mobile development
Mihai Corlan
 
Developing ionic apps for android and ios
Developing ionic apps for android and iosDeveloping ionic apps for android and ios
Developing ionic apps for android and ios
gautham_m79
 
Android development 1july
Android development 1julyAndroid development 1july
Android development 1july
Edureka!
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Edureka!
 
Top Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To KnowTop Web Development Frameworks Comparison: All You Need To Know
Top Web Development Frameworks Comparison: All You Need To Know
PixelCrayons
 
Getting Started With AngularJS
Getting Started With AngularJSGetting Started With AngularJS
Getting Started With AngularJS
Edureka!
 
Building android and i os apps with visual studio
Building android and i os apps with visual studioBuilding android and i os apps with visual studio
Building android and i os apps with visual studio
Lohith Goudagere Nagaraj
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
Haim Michael
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash Platform
Mihai Corlan
 
Shining a light on performance (js meetup)
Shining a light on performance (js meetup)Shining a light on performance (js meetup)
Shining a light on performance (js meetup)
Yoav Niran
 
iOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingiOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group Meeting
Jim Tochterman
 
Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020Flutter workshop @ bang saen 2020
Flutter workshop @ bang saen 2020
Anuchit Chalothorn
 
Web Development
Web DevelopmentWeb Development
Web Development
Wei Weng
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
Mihai Corlan
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
Katy Slemon
 
Training report on web developing
Training report on web developingTraining report on web developing
Training report on web developing
Jawhar Ali
 
Getting started with flash mobile development
Getting started with flash mobile developmentGetting started with flash mobile development
Getting started with flash mobile development
Mihai Corlan
 
Developing ionic apps for android and ios
Developing ionic apps for android and iosDeveloping ionic apps for android and ios
Developing ionic apps for android and ios
gautham_m79
 

Viewers also liked (9)

Tips menyediakan slaid pembentangan berkesan - tiada template
Tips menyediakan slaid pembentangan berkesan - tiada templateTips menyediakan slaid pembentangan berkesan - tiada template
Tips menyediakan slaid pembentangan berkesan - tiada template
Khirulnizam Abd Rahman
 
Topik 3 Masyarakat Malaysia dan ICT
Topik 3   Masyarakat Malaysia dan ICTTopik 3   Masyarakat Malaysia dan ICT
Topik 3 Masyarakat Malaysia dan ICT
Khirulnizam Abd Rahman
 
Chapter 2 Method in Java OOP
Chapter 2   Method in Java OOPChapter 2   Method in Java OOP
Chapter 2 Method in Java OOP
Khirulnizam Abd Rahman
 
Chapter 5 Class File
Chapter 5 Class FileChapter 5 Class File
Chapter 5 Class File
Khirulnizam Abd Rahman
 
Chapter 6 Java IO File
Chapter 6 Java IO FileChapter 6 Java IO File
Chapter 6 Java IO File
Khirulnizam Abd Rahman
 
Chapter 4 - Classes in Java
Chapter 4 - Classes in JavaChapter 4 - Classes in Java
Chapter 4 - Classes in Java
Khirulnizam Abd Rahman
 
Chapter 3 Arrays in Java
Chapter 3 Arrays in JavaChapter 3 Arrays in Java
Chapter 3 Arrays in Java
Khirulnizam Abd Rahman
 
Topik 4 Teknologi Komputer: Hardware, Software dan Heartware
Topik 4 Teknologi Komputer: Hardware, Software dan HeartwareTopik 4 Teknologi Komputer: Hardware, Software dan Heartware
Topik 4 Teknologi Komputer: Hardware, Software dan Heartware
Khirulnizam Abd Rahman
 
Chapter 2 Java Methods
Chapter 2 Java MethodsChapter 2 Java Methods
Chapter 2 Java Methods
Khirulnizam Abd Rahman
 
Ad

Similar to Android app development Hybrid approach for beginners (20)

SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDESAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
Markus Van Kempen
 
Android development beginners faq
Android development  beginners faqAndroid development  beginners faq
Android development beginners faq
Khirulnizam Abd Rahman
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Wonsuk Lee
 
Jangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNYJangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNY
Frank Wienberg
 
Android app development
Android app developmentAndroid app development
Android app development
Tanmoy Roy
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
Sholto Maud
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Christian Heindel
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere Portal
Himanshu Mendiratta
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
SNEHAL MASNE
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
Gunjan Kumar
 
Portfolio - PROGmaatic Developer Network
Portfolio - PROGmaatic Developer NetworkPortfolio - PROGmaatic Developer Network
Portfolio - PROGmaatic Developer Network
Habib Ullah Bahar
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
Ashish Tanwer
 
Asp.net web application framework management system.pdf
Asp.net web application framework management system.pdfAsp.net web application framework management system.pdf
Asp.net web application framework management system.pdf
Kamal Acharya
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
Caridy Patino
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015
gjuljo
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
Michael Angelo Rivera
 
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Igalia
 
3d web
3d web3d web
3d web
Kevin Vandecar
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDESAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
SAPTechED 2015 UX114 -Building custom SAP Fiori Apps Using SAP Web IDE
Markus Van Kempen
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Wonsuk Lee
 
Jangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNYJangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNY
Frank Wienberg
 
Android app development
Android app developmentAndroid app development
Android app development
Tanmoy Roy
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
Sholto Maud
 
Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5Mobile applications for SharePoint using HTML5
Mobile applications for SharePoint using HTML5
Christian Heindel
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere Portal
Himanshu Mendiratta
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
SNEHAL MASNE
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
Gunjan Kumar
 
Portfolio - PROGmaatic Developer Network
Portfolio - PROGmaatic Developer NetworkPortfolio - PROGmaatic Developer Network
Portfolio - PROGmaatic Developer Network
Habib Ullah Bahar
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
Ashish Tanwer
 
Asp.net web application framework management system.pdf
Asp.net web application framework management system.pdfAsp.net web application framework management system.pdf
Asp.net web application framework management system.pdf
Kamal Acharya
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
Caridy Patino
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015
gjuljo
 
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Browsers and Web Runtimes for Automotive: Alternatives, Challenges, and Curre...
Igalia
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
Ad

More from Khirulnizam Abd Rahman (17)

Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Khirulnizam Abd Rahman
 
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan InsanPanduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
Topik 1 Islam dan Teknologi Maklumat
Topik 1 Islam dan Teknologi MaklumatTopik 1 Islam dan Teknologi Maklumat
Topik 1 Islam dan Teknologi Maklumat
Khirulnizam Abd Rahman
 
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Khirulnizam Abd Rahman
 
Chapter 1 Nested Control Structures
Chapter 1 Nested Control StructuresChapter 1 Nested Control Structures
Chapter 1 Nested Control Structures
Khirulnizam Abd Rahman
 
Chapter 1 nested control structures
Chapter 1 nested control structuresChapter 1 nested control structures
Chapter 1 nested control structures
Khirulnizam Abd Rahman
 
DTCP2023 Fundamentals of Programming
DTCP2023 Fundamentals of ProgrammingDTCP2023 Fundamentals of Programming
DTCP2023 Fundamentals of Programming
Khirulnizam Abd Rahman
 
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan InsanNpwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
Simple skeleton of a review paper
Simple skeleton of a review paperSimple skeleton of a review paper
Simple skeleton of a review paper
Khirulnizam Abd Rahman
 
Airs2014 brochure
Airs2014 brochureAirs2014 brochure
Airs2014 brochure
Khirulnizam Abd Rahman
 
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell   khirulnizamRangka kursus pembangunan aplikasi android kuiscell   khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Khirulnizam Abd Rahman
 
Khirulnizam malay proverb detection - mobilecase 19 sept 2012 - copy
Khirulnizam   malay proverb detection - mobilecase 19 sept 2012 - copyKhirulnizam   malay proverb detection - mobilecase 19 sept 2012 - copy
Khirulnizam malay proverb detection - mobilecase 19 sept 2012 - copy
Khirulnizam Abd Rahman
 
Senarai doa al-mathurat sughro - dengan terjemahan
Senarai doa al-mathurat sughro - dengan terjemahanSenarai doa al-mathurat sughro - dengan terjemahan
Senarai doa al-mathurat sughro - dengan terjemahan
Khirulnizam Abd Rahman
 
Al mathurat sughra - ringkas - m-mathurat
Al mathurat sughra - ringkas - m-mathuratAl mathurat sughra - ringkas - m-mathurat
Al mathurat sughra - ringkas - m-mathurat
Khirulnizam Abd Rahman
 
Khirulnizam - students experience in using blog as a learning tool - world co...
Khirulnizam - students experience in using blog as a learning tool - world co...Khirulnizam - students experience in using blog as a learning tool - world co...
Khirulnizam - students experience in using blog as a learning tool - world co...
Khirulnizam Abd Rahman
 
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Topik 2 Sejarah Perkembanggan Ilmu NBWU1072
Khirulnizam Abd Rahman
 
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan InsanPanduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Panduan tugasan Makmal Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Application of Ontology in Semantic Information Retrieval by Prof Shahrul Azm...
Khirulnizam Abd Rahman
 
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan InsanNpwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Npwu-mpu 3252 Teknologi Maklumat dalam Kehidupan Insan
Khirulnizam Abd Rahman
 
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell   khirulnizamRangka kursus pembangunan aplikasi android kuiscell   khirulnizam
Rangka kursus pembangunan aplikasi android kuiscell khirulnizam
Khirulnizam Abd Rahman
 
Khirulnizam malay proverb detection - mobilecase 19 sept 2012 - copy
Khirulnizam   malay proverb detection - mobilecase 19 sept 2012 - copyKhirulnizam   malay proverb detection - mobilecase 19 sept 2012 - copy
Khirulnizam malay proverb detection - mobilecase 19 sept 2012 - copy
Khirulnizam Abd Rahman
 
Senarai doa al-mathurat sughro - dengan terjemahan
Senarai doa al-mathurat sughro - dengan terjemahanSenarai doa al-mathurat sughro - dengan terjemahan
Senarai doa al-mathurat sughro - dengan terjemahan
Khirulnizam Abd Rahman
 
Al mathurat sughra - ringkas - m-mathurat
Al mathurat sughra - ringkas - m-mathuratAl mathurat sughra - ringkas - m-mathurat
Al mathurat sughra - ringkas - m-mathurat
Khirulnizam Abd Rahman
 
Khirulnizam - students experience in using blog as a learning tool - world co...
Khirulnizam - students experience in using blog as a learning tool - world co...Khirulnizam - students experience in using blog as a learning tool - world co...
Khirulnizam - students experience in using blog as a learning tool - world co...
Khirulnizam Abd Rahman
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 

Android app development Hybrid approach for beginners

  • 1. 26/1/2015 http://blog.kerul.net 1 Android Apps Development (Hybrid approach using HTML5, jQuery, Apache Cordova and Android SDK) Khirulnizam Abd Rahman blog.kerul.net
  • 2. About Khirulnizam  Lecturer of Computer Science, Faculty of Information Science and Technology, Selangor International Islamic University College (KUIS) – since 2000.  Certified HRDF Trainer  Codes in blog.kerul.net  Avid Android developer since 2010 – MDeC ICONApp 2010.  Grants MDeC ICON 2010,2011; MDeC ICONdap 2013.  Apps in Google Play  M-Mathurat – 200K ( bit.ly/m-mathurat )  Peribahasa Dictionary – 20K ( bit.ly/pbahasa)  mDictionary – open-sourced ( bit.ly/m-dictionary ) 26/1/2015 http://blog.kerul.net 2
  • 3. Agenda Day 1 26/1/2015 ANDROID APP DEVELOPMENT (Hybrid) - blog.kerul.net 3
  • 4. Agenda Day 2 26/1/2015 http://blog.kerul.net 4
  • 7. Faq1: What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware and key applications (platform). The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.  The kernel of most Android version is based on Linux 2.6 (3.0 for ICS).  Android architecture; 26/1/2015 http://blog.kerul.net 7
  • 9. Faq2: Who develop Android?  Initially developed by Andrew (Andy) Rubin and his team in Android Inc.  Google acquired Android Inc. in 2005.  Till Mac 2013, developed by Google under Andy Rubin (Senior Vice President of Mobile) 26/1/2015 http://blog.kerul.net 9
  • 10. Android Global Market share Source: Strategy Analytics - http://blogs.strategyanalytics.c om/WSS/post/2013/10/31/And roid-Captures-Record-81- Percent-Share-of-Global- Smartphone-Shipments-in-Q3- 2013.aspx 26/1/2015 http://blog.kerul.net 10
  • 11. Faq3: How many versions (distributions) Android has? 26/1/2015 http://blog.kerul.net 11
  • 13. Faq4: What is API Level?  API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform.  The Android platform provides a framework API that applications can use to interact with the underlying Android system. 26/1/2015 http://blog.kerul.net 13
  • 14. Faq5: What is Android app?  Developer can develop application that runs on top of Android.  App is actually a simpler version of application.  Uses *.apk for the installer file extension. 26/1/2015 http://blog.kerul.net 14
  • 17. Faq6: What is Dalvik Virtual Machine, is it similar as JVM?  Author - Dan Bornstein  Dalvik VM implementing slightly different architecture to JVM.  Dalvik VM is a register-based architecture.  Being optimized for low memory and slower processing speed.  The VM was slimmed down to use less space. 26/1/2015 http://blog.kerul.net 17
  • 18. DVM (for below Android 5) 26/1/2015 http://blog.kerul.net 18
  • 19. ART  Android Runtime 26/1/2015 http://blog.kerul.net 19
  • 20. Faq7: What is the language used to develop Android app Hybrid Approach?  HTML  CSS  JavaScript  Java  XML  SQL 26/1/2015 http://blog.kerul.net 20
  • 22. Hybrid Approach – consists of  HTML + jQuery (JavaScript, CSS)  Apache Cordova (HTML to Android Project)  Eclipse ADT – to generate APK 26/1/2015 http://blog.kerul.net 22
  • 23. Faq8: What are tools needed to develop Android App Hybrid? HTML knowledge  jQuery (JavaScript + CSS framework)  NodeJS  Apache Ant  Apache Cordova  Latest JDK  Eclipse ADT Bundle  Android SDK 26/1/2015 http://blog.kerul.net 23
  • 24. Apache ANT  Apache Ant is a Java library and command-line tool  to drive processes described in build files as targets and extension points dependent upon each other.  The main known usage of Ant is the build of Java applications. 26/1/2015 http://blog.kerul.net 24
  • 25. NodeJS 26/1/2015 http://blog.kerul.net 25  Node.js contains a built-in library to allow applications to act as a Web server without software such as Apache HTTP
  • 26. Apache Cordova  Previously known as PhoneGap  use HTML5 and CSS3 for their rendering, and JavaScript for logic  HTML5 provides better support for GPS, camera, video, etc.  includes basic plugins that allow access to the device's hardware’s.  embeds HTML5 code inside a native WebView on the device, using a foreign function interface to access the native resources of the device. 26/1/2015 http://blog.kerul.net 26
  • 27. IDE - Eclipse 26/1/2015 http://blog.kerul.net 27
  • 30. Faq8: Where to distribute my App?  Play.google.com  Sampung App Store  Amazon AppStore  Appzill.net  GetJar.com  Your own distribution channel 26/1/2015 http://blog.kerul.net 30
  • 31. Android Project Structure  Inside Android Project, there should be; /src – the Java codes are here /gen – generated automatically /assets – put your fonts, videos, sounds here /res – images, layout and global variables /drawable-hdpi –for high spec phones /drawable-ldpi –for low spec phones /drawable-mdpi –for medium spec phones /layout – all XML file for the screen(s) layout /values – global constant variables 26/1/2015 http://blog.kerul.net 31
  • 33. AndroidManifest  AndroidManifest.xml – app’s permissions need to be registered here – (eg: app can access Internet, phone contacts, camera, etc must be mentioned here) 26/1/2015 http://blog.kerul.net 33
  • 34. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="7" android:versionName="1.7" package="net.kerul.mMathurat"> <application android:icon="@drawable/icon" android:label="@string/app_name" android:taskAffinity=".mMathuratActivity"> <activity android:name=".mMathuratActivity" android:label="@string/app_name" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Aboutus" class=".Aboutus" android:label="Mengenai kami..." android:screenOrientation="portrait"> </activity> <activity android:name=".Berterusan" class=".Berterusan" android:label="Mod pemanduan..." android:screenOrientation="portrait"> </activity> </application> <uses-sdk android:minSdkVersion="7" /> <receiver android:name=".DetectIncomingCall"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.VIBRATE"></uses-permission> </manifest> 26/1/2015 http://blog.kerul.net 34
  • 36. Agenda Day 1 26/1/2015 ANDROID APP DEVELOPMENT (Hybrid) - blog.kerul.net 36
  • 37. Installing Web Editor  Use NotePad++  Or any HTML editor (such as DreamWeaver) 26/1/2015 http://blog.kerul.net 37
  • 38. Web Client  Any web browser could be the web client 26/1/2015 http://blog.kerul.net 38
  • 39. Install the Web Server  Apache HTTPd – also available in XAMPP  Download at https://www.apachefriends.org/  localhost 26/1/2015 http://blog.kerul.net 39
  • 41. What is HTML?  HyperText Mark-up Language  Marking up areas with angle brackets or TAGs 26/1/2015 http://blog.kerul.net 41
  • 42. HTML Basics Structure  <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <h1>This is a Heading</h1> <p>This is a paragraph.</p> </body> </html>  Save as index.html 26/1/2015 http://blog.kerul.net 42
  • 43. Hyperlinks  <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <h1>This is a Heading</h1> <p>This is a paragraph.</p> <a href="http://kerul.net">This is a link</a> </body> </html> 26/1/2015 http://blog.kerul.net 43
  • 44. Images  <img src="w3schools.jpg" alt="W3Schoo ls.com" width="104" height="142"> 26/1/2015 http://blog.kerul.net 44
  • 45. Layout using DIV <div id="header"> <h1>City Gallery</h1> </div> <div id="nav"> London<br> Paris<br> Tokyo<br> </div> <div id="section"> <h1>London</h1> <p> London is the capital city of England. It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants. </p> <p> Standing on the River Thames, London has been a major settlement for two millennia, its history going back to its founding by the Romans, who named it Londinium. </p> </div> <div id="footer"> Copyright © W3Schools.com </div> 26/1/2015 http://blog.kerul.net 45
  • 46. CSS?  Cascading Style Sheet  Added to HTML4 to provide styles in HTML elements 26/1/2015 http://blog.kerul.net 46
  • 47. CSS syntax  p { color: red; text-align: center; } 26/1/2015 http://blog.kerul.net 47
  • 48. Simple CSS example - internal  <head> <style> body { background-color: linen; } h1 { color: maroon; margin-left: 40px; } </style> </head> 26/1/2015 http://blog.kerul.net 48
  • 49. CSS inline  <h1 style="color:blue;margin-left:30px;"> This is a heading.</h1> 26/1/2015 http://blog.kerul.net 49
  • 50. CSS example <!DOCTYPE html> <html> <head> <style> body { } </style> </head> <body style=“background-color: #b0c4de;”> <h1>My CSS web page!</h1> <p>Hello world! This is a W3Schools.com example.</p> </body> </html> 26/1/2015 http://blog.kerul.net 50
  • 51. JavaScript  Script to add live interaction to HTML <!DOCTYPE html> <html> <body> <h1 onmouseover="style.color='red'" onmouseout="style.color='black'">Mouse over this text</h1> </body> </html> 26/1/2015 http://blog.kerul.net 51
  • 52. JavaScript Example <!DOCTYPE html> <html> <head> <script> function myFunction() { var x = document.getElementById("fname"); x.value = x.value.toUpperCase(); } </script> </head> <body> Enter your name: <input type="text" id="fname" onblur="myFunction()"> <p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p> </body> </html> 26/1/2015 http://blog.kerul.net 52
  • 53. Mobile Web Page  Create folders in web root as below 26/1/2015 http://blog.kerul.net 53
  • 54. Copy the template  css/jquery.mobile.min.css  js/jquery.min.js  js/jquery.mobile.min.js  index.html The css and js files are available in the jQuery.mobile 26/1/2015 http://blog.kerul.net 54
  • 55. Mobile Web page structure <!DOCTYPE html> <html> <head> <title>Page Title</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="css/jquery.mobile-1.4.5.min.css" rel="stylesheet" type="text/css" /> <script src="js/jquery-1.11.1.min.js"></script> <script src="js/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>Page Title</h1> </div><!-- /header --> <div role="main" class="ui-content"> <p>Page content goes here.</p> </div><!-- /content --> <div data-role="footer"> <h4>Page Footer</h4> </div><!-- /footer --> </div><!-- /page --> </body> </html> 26/1/2015 http://blog.kerul.net 55 http://demos.jquerymobile.com/1.4.5/pages/
  • 56. Head segment <head> <title>Page Title</title> <meta charset="utf-8"> <meta name="viewport" content="width=device- width, initial-scale=1"> <link href="css/jquery.mobile-1.4.5.min.css" rel="stylesheet" type="text/css" /> <script src="js/jquery-1.11.1.min.js"></script> <script src="js/jquery.mobile-1.4.5.min.js"></script> </head> 26/1/2015 http://blog.kerul.net 56