Você está na página 1de 51

Tema

Empreendedorismo e
Inovao na Sociedade da
Informao
Palestra ou Minicurso

Desenvolvendo para
Android com
PhoneGap
Palestrante ou Professor
(Profissional)

Petterson Ferreira de Paula


Kaio Cezar Miranda G. Araujo
Anderson Malagutti

quarta-feira, 23 de janeiro de 13

quarta-feira, 23 de janeiro de 13

quarta-feira, 23 de janeiro de 13

+
quarta-feira, 23 de janeiro de 13

+
quarta-feira, 23 de janeiro de 13

Exemplo de Layouts

+
quarta-feira, 23 de janeiro de 13

Exemplo de Layouts

+
quarta-feira, 23 de janeiro de 13

Exemplo de Layouts

+
quarta-feira, 23 de janeiro de 13

Criando um novo projeto

+
quarta-feira, 23 de janeiro de 13

Criando um novo projeto

+
quarta-feira, 23 de janeiro de 13

Criando um novo projeto

+
quarta-feira, 23 de janeiro de 13

Criando um novo projeto

+
quarta-feira, 23 de janeiro de 13

Criando um novo projeto

+
quarta-feira, 23 de janeiro de 13

Criando um novo projeto

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto
...phonegap-phonegap-2dbbdab\lib\android\cordova-2.2.0.jar
Copie para
...workspace\JqueryMobile_PhoneGap\libs

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto
...phonegap-phonegap-2dbbdab\lib\android\cordova-2.2.0.js
Copie para
...workspace\JqueryMobile_PhoneGap\assets\www

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto
...phonegap-phonegap-2dbbdab\lib\android\cordova-2.2.0.jar
Copie para
...workspace\JqueryMobile_PhoneGap\assets\www

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto
...jquery-1.8.3.min.js
Copie para
...workspace\JqueryMobile_PhoneGap\assets\www

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto
...phonegap-phonegap-2dbbdab\lib\android\xml
Copie para
...workspace\JqueryMobile_PhoneGap\res

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto

+
quarta-feira, 23 de janeiro de 13

<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_LOCATION_EXTRA_COMM
ANDS" />
<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.RECEIVE_SMS" />
<uses-permission
android:name="android.permission.RECORD_AUDIO" />
<uses-permission
android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission
quarta-feira, 23 de janeiro de 13

Configurando o projeto
MainActivity.java
package com.example.jquerymobile_phonegap;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/hello.html");
}
}

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto

+
quarta-feira, 23 de janeiro de 13

Configurando o projeto

+
quarta-feira, 23 de janeiro de 13

Exemplo 1 - Hello World - JqueryMobile


hello.html
<!DOCTYPE HTML>
<html>
<head>
<title>jQuery Mobile Demo</title>
<link rel="stylesheet" type="text/css"
href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript"
src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>
<body>
<!-- Page Start-->
<div data-role="page">
<!-- Page Header Start -->

+
quarta-feira, 23 de janeiro de 13

Exemplo 1 - Hello World - JqueryMobile


hello.html
<div data-role="header">
<h1>Page Title</h1>
</div>
<!-- Page Header End -->
<!-- Page Body Start -->
<div data-role="content">
<p>Hello World!</p>
</div>
<!-- Page Body End -->
<!-- Page Footer Start -->
<div data-role="footer">
<h4>Page Footer</h4>
</div>
<!-- Page Footer End -->
</div>
<!-- Page End -->
</body>
</html>

+
quarta-feira, 23 de janeiro de 13

Exemplo 1 - Hello World - JqueryMobile

+
quarta-feira, 23 de janeiro de 13

Exemplo 2 - Page Nav and Dialog Example


- JqueryMobile
MainActivity.java
package com.example.jquerymobile_phonegap;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/
NavAndDialog.html");
}
}

+
quarta-feira, 23 de janeiro de 13

Exemplo 2 - Page Nav and Dialog Example


- JqueryMobile

+
quarta-feira, 23 de janeiro de 13

Exemplo 2 - Page Nav and Dialog Example


- JqueryMobile

NavAndDialog.html

<!DOCTYPE HTML>
<html>
<head>
<title>jQuery Mobile Demo</title>
<link rel="stylesheet" type="text/css"
href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript"
src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>
<body>
<!-- Main Page-->
<div data-role="page" id="main">
<div data-role="header">
<h1>Main Page</h1>
</div>
<div data-role="content">
<h1>Page Nav and Dialog Example</h1>
quarta-feira, 23 de janeiro de 13

Exemplo 2 - Page Nav and Dialog Example


- JqueryMobile

NavAndDialog.html

<a data-role="button" href="#page2">Page Navigation</a> <a


data-role="button" href="#dialog1" data-rel="dialog"
datatransition="
pop">Open Dialog </a>
</div>
<div data-role="footer">
<h4>Main Page Footer</h4>
</div>
</div>
<!-- First Page End -->
<!-- Second Page-->
<div data-role="page" id="page2" data-add-back-btn=true>
<div data-role="header">
<h1>Second Page</h1>
</div>
<div data-role="content">
<h1>Second Page</h1>
</div>
quarta-feira, 23 de janeiro de 13

Exemplo 2 - Page Nav and Dialog Example


- JqueryMobile
NavAndDialog.html
<div data-role="footer">
<h4>Click back to go back to main page</h4>
</div>
</div>
<!-- Second Page End -->
<!-- Dialog -->
<div data-role="page" id="dialog1">
<div data-role="header">
<h1>Dialog Title</h1>
</div>
<div data-role="content">
<h1>Dialog body</h1>
</div>
<div data-role="footer">
<h4>Click close button to go back to main page</h4>
</div>
</div>
<!-- Dialog End -->
</body>
</html>

quarta-feira, 23 de janeiro de 13

Exemplo 2 - Page Nav and Dialog Example


- JqueryMobile

+
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile


MainActivity.java
package com.example.jquerymobile_phonegap;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/
ToolbarsAndButtons.html");
}
}

+
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

ToolbarsAndButtons.html

<!DOCTYPE HTML>
<html>
<head>
<title>jQuery Mobile Demo</title>
<link rel="stylesheet" type="text/css"
href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript"
src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>
<body>
<!-- Main Page-->
<div data-role="page" id="main">
<div data-role="header" data-position="inline">
<a href="index.html" data-icon="delete">Cancel</a>
<h1>Edit Contact</h1>
<a href="index.html" data-icon="check">Save</a>
</div>
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

ToolbarsAndButtons.html

<div data-role="content">
<h1>Header Footer Toolbar Example</h1>
</div>
<div data-role="footer" class="ui-bar">
<a href="index.html" data-role="button" data- icon="delete">Remove</a>
<a href="index.html" data-role="button" data-icon="plus">Add</a>
<a href="index.html" data-role="button" data-icon="arrowu"> Up</a>
<a href="index.html" data-role="button" data-icon="arrowd"> Down</a>
</div>
</div>
<!-- First Page End -->
</body>
</html>

quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

+
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile


MainActivity.java
package com.example.jquerymobile_phonegap;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/
FormElement.html");
}
}

+
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

+
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

FormElement.html

<!DOCTYPE HTML>
<html>
<head>
<title>jQuery Mobile Demo</title>
<link rel="stylesheet" type="text/css"
href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript"
src="jquery.mobile-1.2.0/jquery.mobile-1.2.0.js"></script>
</head>
<body>
<!-- Main Page-->
<div data-role="page" id="main">
<div data-role="header" data-position="inline">
<a href="index.html" data-icon="delete">Cancel</a>
<h1>Edit Contact</h1>
<a href="index.html" data-icon="check">Save</a>
</div>
quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

FormElement.html

<div data-role="content">
<form action="#" method="get">
<h2>Simple Form Elements</h2>
<div data-role="fieldcontain">
<label for="name"> Text Input: </label> <input type="text"
name="name" id="name" value="" />
</div>
<div data-role="fieldcontain">
<label for="textarea"> Textarea: </label>
<textarea cols="40" rows="8" name="textarea" id="textarea"></textarea>
</div>
<div data-role="fieldcontain">
<label for="search"> Search Input: </label> <input type="search"
name="password" id="search" value="" />
</div>
</form>
</div>

quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

FormElement.html

<div data-role="footer" class="ui-bar">


<a href="index.html" data-role="button" data- icon="delete">Remove</a>
<a href="index.html" data-role="button" data-icon="plus">Add</a> <a
href="index.html" data-role="button" data-icon="arrowu"> Up</a> <a
href="index.html" data-role="button" data-icon="arrowd"> Down</a>
</div>
</div>
<!-- First Page End -->
</body>
</html>

quarta-feira, 23 de janeiro de 13

Exemplo 3 - Toolbars and ButtonsJqueryMobile

+
quarta-feira, 23 de janeiro de 13

Exemplo 4 - Read and Write Text File


- JqueryMobile
MainActivity.java
package com.example.jquerymobile_phonegap;
import org.apache.cordova.DroidGap;
import android.os.Bundle;
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/
ReadWriteFileJQueryMobile.html");
}
}

+
quarta-feira, 23 de janeiro de 13

Exemplo 4 - Read and Write Text File


- JqueryMobile

ReadWriteFileJQueryMobile.ht
ml
<!DOCTYPE HTML>
<html>
<head>
<title>jQuery Mobile Demo</title>
<link rel="stylesheet" type="text/css"
href="jquery.mobile-1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript"src="jquery.mobile-1.2.0/
jquery.mobile-1.2.0.js"></script>
<script type="text/javascript" src="cordova-2.2.0.js"></script>
<script type="text/javascript" src="ReadWriterFile.js"></script>
</head>
<body>
<!-- Main Page-->
<div data-role="page" id="main">
<div data-role="header" data-position="inline">
<h1>Read Write File</h1>
</div>
quarta-feira, 23 de janeiro de 13

Exemplo 4 - Read and Write Text File


- JqueryMobile

ReadWriteFileJQueryMobile.ht
ml
<div data-role="content">
<form action="#" method="get">
<h2>/sdcard/read-write.txt</h2>
<div data-role="fieldcontain">
<label for="textarea"> Textarea: </label>
<textarea cols="40" rows="30" name="textarea" id="textarea"></textarea>
</div>
<a id="read" href="#" data-role="button" data-inline="true">Read</a>
<a id="write" href="#" data-role="button" data-inline="true" datatheme="b">Write</a>
</form>
</div>
</div>
<!-- First Page End -->
</body>
</html>

quarta-feira, 23 de janeiro de 13

Exemplo 4 - Read and Write Text File


- JqueryMobile

ReadWriteFile.js

document.addEventListener("deviceready", onDeviceReady, false);


var filename = "read-write.txt";
var filePath = "file:///sdcard/read-write.txt";
var textarea = document.getElementById("#textarea");
function onDeviceReady() {
$(document).ready(function() {
var readButton = document.getElementById("read");
var writeButton = document.getElementById("write");
readButton.addEventListener("click", readFile, false);
writeButton.addEventListener("click", saveFile, false);
});
}

quarta-feira, 23 de janeiro de 13

Exemplo 4 - Read and Write Text File


- JqueryMobile

+
quarta-feira, 23 de janeiro de 13

FIM.

+
quarta-feira, 23 de janeiro de 13

51

Você também pode gostar