Monaca Docs
Search…
Hello World App
This sample app is a Core Cordova Plugins Demo showing several device functionalities.

Demo

Tested Environment
  • Android 11.0
  • iOS 14.3
    index.html
    phonegap-demo.html

File Components

File
Description
index.html
The Startup page
phonegap-demo.html
The Core Cordova Plugins Demo page
phonegap-demo/master.css
The style sheet for the Core Cordova Plugins Demo page
phonegap-demo/main.js
The JavaScript file handling implementation in the Core Cordova Plugins Demo page
css/style.css
The style Sheet for the whole application
img/icon/*.png
All icon files needed to use this template

Required JS/CSS Components

  • jQuery

HTML Explanation

index.html

index.html is the Startup page.
1
<body>
2
<h1>HelloWorld!</h1>
3
<a class="button--large" href="phonegap-demo.html">Start Demo</a>
4
</body>
Copied!
The above html code inside the <body> tag is showing a HelloWorld! phrase and a Start Demo button as shown below.

phonegap-demo.html

phonegap-demo.html shows a Core Cordova Plugins Demo with the basic phone information and a list of functions as below:
  • Get Location: Get current location of the phone.
  • Call 411: Call 411.
  • Vibrate: Vibrate the phone.
  • Get a Picture: Turn on the phone's camera.
  • Check Network: Check the current type of network the phone is
    using.
The JavaScript code corresponds to these functions will be explained in the next section.

JavaScript Explanation

The main.js is a JavaScript file handling the implementation of the Core Cordova Plugins Demo page. There are 5 main functions in this file:

Get Location

Get current location of the phone. Below is the JavaScript code of this function:
1
...
2
var getLocation = function() {
3
var suc = function(p) {
4
alert(p.coords.latitude + " " + p.coords.longitude);
5
};
6
var locFail = function() {
7
};
8
navigator.geolocation.getCurrentPosition(suc, locFail);
9
};
10
...
Copied!
When click on the button, a message showing the current location of phone will appear as below:

Call 411

Call 411. Below is the JavaScript code of this function:
1
...
2
<a href="tel:411" class="btn large">Call 411</a>
3
...
Copied!
In order to use the href="tel:411", the following setting is needed in config.xml file:
1
<allow-intent href="tel:*" />
Copied!
When click on the Call 411 button, a confirmed message of the call is appeared.

Vibrate

Vibrate the phone. Below is the JavaScript code of this function:
1
...
2
var vibrate = function() {
3
navigator.vibrate(500);
4
};
5
...
Copied!
When click on the Vibrate button, you will notice that your phone vibrates.

Get a Picture

Turn on the phone's camera. Below is the JavaScript code of this function:
1
...
2
function dump_pic(data) {
3
var viewport = document.getElementById('viewport');
4
console.log(data);
5
viewport.style.display = "";
6
viewport.style.position = "absolute";
7
viewport.style.top = "10px";
8
viewport.style.left = "10px";
9
document.getElementById("test_img").src = data;
10
}
11
12
function fail(msg) {
13
alert(msg);
14
}
15
16
function show_pic() {
17
navigator.camera.getPicture(dump_pic, fail, {
18
quality : 50
19
});
20
}
21
...
Copied!
When click on the Get a Picture button, the phone camera is turned on. If you take a picture and use it, it will be displayed in the page as shown below otherwise a message will be displayed (see below):

Check Network

Check the current type of network the phone is using. Below is the JavaScript code of this function:
1
...
2
function check_network() {
3
var networkState = navigator.network.connection.type;
4
5
var states = {};
6
states[Connection.UNKNOWN] = 'Unknown connection';
7
states[Connection.ETHERNET] = 'Ethernet connection';
8
states[Connection.WIFI] = 'WiFi connection';
9
states[Connection.CELL_2G] = 'Cell 2G connection';
10
states[Connection.CELL_3G] = 'Cell 3G connection';
11
states[Connection.CELL_4G] = 'Cell 4G connection';
12
states[Connection.NONE] = 'No network connection';
13
14
confirm('Connection type:\n ' + states[networkState]);
15
}
16
...
Copied!
When click on the Check Network button, the current network type information will be displayed.
Last modified 4mo ago