diff --git a/AndroidClient/.classpath b/AndroidClient/.classpath
new file mode 100644
index 0000000..7bc01d9
--- /dev/null
+++ b/AndroidClient/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/AndroidClient/.project b/AndroidClient/.project
new file mode 100644
index 0000000..1bcdf43
--- /dev/null
+++ b/AndroidClient/.project
@@ -0,0 +1,33 @@
+
+
+ Web2App
+
+
+
+
+
+ com.android.ide.eclipse.adt.ResourceManagerBuilder
+
+
+
+
+ com.android.ide.eclipse.adt.PreCompilerBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.android.ide.eclipse.adt.ApkBuilder
+
+
+
+
+
+ com.android.ide.eclipse.adt.AndroidNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/AndroidClient/.settings/org.eclipse.jdt.core.prefs b/AndroidClient/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b080d2d
--- /dev/null
+++ b/AndroidClient/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/AndroidClient/AndroidManifest.xml b/AndroidClient/AndroidManifest.xml
new file mode 100644
index 0000000..da6d4f4
--- /dev/null
+++ b/AndroidClient/AndroidManifest.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AndroidClient/assets/simple-map.html b/AndroidClient/assets/simple-map.html
new file mode 100644
index 0000000..7086c3d
--- /dev/null
+++ b/AndroidClient/assets/simple-map.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AndroidClient/assets/simple_map.js b/AndroidClient/assets/simple_map.js
new file mode 100644
index 0000000..f4b99c6
--- /dev/null
+++ b/AndroidClient/assets/simple_map.js
@@ -0,0 +1,35 @@
+
+var map;
+var src = 'https://developers.google.com/maps/tutorials/kml/westcampus.kml';
+
+/**
+ * Initializes the map and calls the function that creates polylines.
+ */
+function initialize() {
+ map = new google.maps.Map(document.getElementById('map-canvas'), {
+ center: new google.maps.LatLng(-19.257753, 146.823688),
+ zoom: 2,
+ mapTypeId: google.maps.MapTypeId.TERRAIN
+ });
+ loadKmlLayer(src, map);
+}
+
+/**
+ * Adds a KMLLayer based on the URL passed. Clicking on a marker
+ * results in the balloon content being loaded into the right-hand div.
+ * @param {string} src A URL for a KML file.
+ */
+function loadKmlLayer(src, map) {
+ var kmlLayer = new google.maps.KmlLayer(src, {
+ suppressInfoWindows: true,
+ preserveViewport: false,
+ map: map
+ });
+ google.maps.event.addListener(kmlLayer, 'click', function(event) {
+ var content = event.featureData.infoWindowHtml;
+ var testimonial = document.getElementById('capture');
+ testimonial.innerHTML = content;
+ });
+}
+
+google.maps.event.addDomListener(window, 'load', initialize);
\ No newline at end of file
diff --git a/AndroidClient/bin/AndroidManifest.xml b/AndroidClient/bin/AndroidManifest.xml
new file mode 100644
index 0000000..da6d4f4
--- /dev/null
+++ b/AndroidClient/bin/AndroidManifest.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AndroidClient/bin/Web2App.apk b/AndroidClient/bin/Web2App.apk
new file mode 100644
index 0000000..e49baf0
Binary files /dev/null and b/AndroidClient/bin/Web2App.apk differ
diff --git a/AndroidClient/bin/classes.dex b/AndroidClient/bin/classes.dex
new file mode 100644
index 0000000..24df135
Binary files /dev/null and b/AndroidClient/bin/classes.dex differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/BuildConfig.class b/AndroidClient/bin/classes/com/example/web2app/BuildConfig.class
new file mode 100644
index 0000000..e37faf4
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/BuildConfig.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/MainActivity$1.class b/AndroidClient/bin/classes/com/example/web2app/MainActivity$1.class
new file mode 100644
index 0000000..d5502ee
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/MainActivity$1.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/MainActivity$MyWebViewClient.class b/AndroidClient/bin/classes/com/example/web2app/MainActivity$MyWebViewClient.class
new file mode 100644
index 0000000..f0f4adb
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/MainActivity$MyWebViewClient.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/MainActivity.class b/AndroidClient/bin/classes/com/example/web2app/MainActivity.class
new file mode 100644
index 0000000..b85a6dc
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/MainActivity.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$attr.class b/AndroidClient/bin/classes/com/example/web2app/R$attr.class
new file mode 100644
index 0000000..ba1768e
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$attr.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$dimen.class b/AndroidClient/bin/classes/com/example/web2app/R$dimen.class
new file mode 100644
index 0000000..8a262a8
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$dimen.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$drawable.class b/AndroidClient/bin/classes/com/example/web2app/R$drawable.class
new file mode 100644
index 0000000..f6fdf86
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$drawable.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$id.class b/AndroidClient/bin/classes/com/example/web2app/R$id.class
new file mode 100644
index 0000000..1611d12
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$id.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$layout.class b/AndroidClient/bin/classes/com/example/web2app/R$layout.class
new file mode 100644
index 0000000..e475707
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$layout.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$menu.class b/AndroidClient/bin/classes/com/example/web2app/R$menu.class
new file mode 100644
index 0000000..9f1b58f
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$menu.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$string.class b/AndroidClient/bin/classes/com/example/web2app/R$string.class
new file mode 100644
index 0000000..8f3d412
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$string.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R$style.class b/AndroidClient/bin/classes/com/example/web2app/R$style.class
new file mode 100644
index 0000000..dbe7d59
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R$style.class differ
diff --git a/AndroidClient/bin/classes/com/example/web2app/R.class b/AndroidClient/bin/classes/com/example/web2app/R.class
new file mode 100644
index 0000000..83febe5
Binary files /dev/null and b/AndroidClient/bin/classes/com/example/web2app/R.class differ
diff --git a/AndroidClient/bin/dexedLibs/android-support-v4-130a1a4875a556c93297af748b57194c.jar b/AndroidClient/bin/dexedLibs/android-support-v4-130a1a4875a556c93297af748b57194c.jar
new file mode 100644
index 0000000..187207c
Binary files /dev/null and b/AndroidClient/bin/dexedLibs/android-support-v4-130a1a4875a556c93297af748b57194c.jar differ
diff --git a/AndroidClient/bin/jarlist.cache b/AndroidClient/bin/jarlist.cache
new file mode 100644
index 0000000..0565465
--- /dev/null
+++ b/AndroidClient/bin/jarlist.cache
@@ -0,0 +1,3 @@
+# cache for current jar dependency. DO NOT EDIT.
+# format is
+# Encoding is UTF-8
diff --git a/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_back.png b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_back.png
new file mode 100644
index 0000000..62f6c7f
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_back.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_forward.png b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_forward.png
new file mode 100644
index 0000000..943057b
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_forward.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_home.png b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_home.png
new file mode 100644
index 0000000..d22b54d
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_action_home.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-hdpi/ic_launcher.png b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..efa7c5f
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-hdpi/ic_launcher.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-mdpi/ic_action_back.png b/AndroidClient/bin/res/crunch/drawable-mdpi/ic_action_back.png
new file mode 100644
index 0000000..22e35fa
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-mdpi/ic_action_back.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-mdpi/ic_action_forward.png b/AndroidClient/bin/res/crunch/drawable-mdpi/ic_action_forward.png
new file mode 100644
index 0000000..354bb5c
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-mdpi/ic_action_forward.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-mdpi/ic_launcher.png b/AndroidClient/bin/res/crunch/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..ec27f2e
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-mdpi/ic_launcher.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_action_back.png b/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_action_back.png
new file mode 100644
index 0000000..b2c6c04
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_action_back.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_action_forward.png b/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_action_forward.png
new file mode 100644
index 0000000..19537f3
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_action_forward.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_launcher.png b/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..92fc57d
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-xhdpi/ic_launcher.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_action_back.png b/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_action_back.png
new file mode 100644
index 0000000..03cf2e0
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_action_back.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_action_forward.png b/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_action_forward.png
new file mode 100644
index 0000000..a8f54b5
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_action_forward.png differ
diff --git a/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_launcher.png b/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..b6f8f4e
Binary files /dev/null and b/AndroidClient/bin/res/crunch/drawable-xxhdpi/ic_launcher.png differ
diff --git a/AndroidClient/bin/resources.ap_ b/AndroidClient/bin/resources.ap_
new file mode 100644
index 0000000..175a3d7
Binary files /dev/null and b/AndroidClient/bin/resources.ap_ differ
diff --git a/AndroidClient/gen/com/example/web2app/BuildConfig.java b/AndroidClient/gen/com/example/web2app/BuildConfig.java
new file mode 100644
index 0000000..481440e
--- /dev/null
+++ b/AndroidClient/gen/com/example/web2app/BuildConfig.java
@@ -0,0 +1,6 @@
+/** Automatically generated file. DO NOT MODIFY */
+package com.example.web2app;
+
+public final class BuildConfig {
+ public final static boolean DEBUG = true;
+}
\ No newline at end of file
diff --git a/AndroidClient/gen/com/example/web2app/R.java b/AndroidClient/gen/com/example/web2app/R.java
new file mode 100644
index 0000000..39bec1b
--- /dev/null
+++ b/AndroidClient/gen/com/example/web2app/R.java
@@ -0,0 +1,76 @@
+/* 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 com.example.web2app;
+
+public final class R {
+ public static final class attr {
+ }
+ public static final class dimen {
+ /** Default screen margins, per the Android Design guidelines.
+
+ Example customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available width. This
+ would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively).
+
+ */
+ public static final int activity_horizontal_margin=0x7f040000;
+ public static final int activity_vertical_margin=0x7f040001;
+ }
+ public static final class drawable {
+ public static final int ic_action_back=0x7f020000;
+ public static final int ic_action_forward=0x7f020001;
+ public static final int ic_action_home=0x7f020002;
+ public static final int ic_launcher=0x7f020003;
+ }
+ public static final class id {
+ public static final int action_back=0x7f080001;
+ public static final int action_forward=0x7f080002;
+ public static final int action_home=0x7f080000;
+ }
+ public static final class layout {
+ public static final int activity_main=0x7f030000;
+ }
+ public static final class menu {
+ public static final int main=0x7f070000;
+ }
+ public static final class string {
+ public static final int app_name=0x7f050000;
+ public static final int back=0x7f050004;
+ public static final int forward=0x7f050003;
+ public static final int home=0x7f050002;
+ public static final int web_url=0x7f050001;
+ }
+ public static final class style {
+ /**
+ Base application theme, dependent on API level. This theme is replaced
+ by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
+
+
+ Theme customizations available in newer API levels can go in
+ res/values-vXX/styles.xml, while customizations related to
+ backward-compatibility can go here.
+
+
+ Base application theme for API 11+. This theme completely replaces
+ AppBaseTheme from res/values/styles.xml on API 11+ devices.
+
+ API 11 theme customizations can go here.
+
+ Base application theme for API 14+. This theme completely replaces
+ AppBaseTheme from BOTH res/values/styles.xml and
+ res/values-v11/styles.xml on API 14+ devices.
+
+ API 14 theme customizations can go here.
+ */
+ public static final int AppBaseTheme=0x7f060000;
+ /** Application theme.
+ All customizations that are NOT specific to a particular API-level can go here.
+ */
+ public static final int AppTheme=0x7f060001;
+ }
+}
diff --git a/AndroidClient/ic_launcher-web.png b/AndroidClient/ic_launcher-web.png
new file mode 100644
index 0000000..a18cbb4
Binary files /dev/null and b/AndroidClient/ic_launcher-web.png differ
diff --git a/AndroidClient/libs/android-support-v4.jar b/AndroidClient/libs/android-support-v4.jar
new file mode 100644
index 0000000..f48d0da
Binary files /dev/null and b/AndroidClient/libs/android-support-v4.jar differ
diff --git a/AndroidClient/proguard-project.txt b/AndroidClient/proguard-project.txt
new file mode 100644
index 0000000..f2fe155
--- /dev/null
+++ b/AndroidClient/proguard-project.txt
@@ -0,0 +1,20 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/AndroidClient/project.properties b/AndroidClient/project.properties
new file mode 100644
index 0000000..4ab1256
--- /dev/null
+++ b/AndroidClient/project.properties
@@ -0,0 +1,14 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system edit
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+#
+# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
+#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
+
+# Project target.
+target=android-19
diff --git a/AndroidClient/res/drawable-hdpi/ic_action_back.png b/AndroidClient/res/drawable-hdpi/ic_action_back.png
new file mode 100644
index 0000000..bff21fb
Binary files /dev/null and b/AndroidClient/res/drawable-hdpi/ic_action_back.png differ
diff --git a/AndroidClient/res/drawable-hdpi/ic_action_forward.png b/AndroidClient/res/drawable-hdpi/ic_action_forward.png
new file mode 100644
index 0000000..347e2e2
Binary files /dev/null and b/AndroidClient/res/drawable-hdpi/ic_action_forward.png differ
diff --git a/AndroidClient/res/drawable-hdpi/ic_action_home.png b/AndroidClient/res/drawable-hdpi/ic_action_home.png
new file mode 100644
index 0000000..73f95d1
Binary files /dev/null and b/AndroidClient/res/drawable-hdpi/ic_action_home.png differ
diff --git a/AndroidClient/res/drawable-hdpi/ic_launcher.png b/AndroidClient/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..288b665
Binary files /dev/null and b/AndroidClient/res/drawable-hdpi/ic_launcher.png differ
diff --git a/AndroidClient/res/drawable-mdpi/ic_action_back.png b/AndroidClient/res/drawable-mdpi/ic_action_back.png
new file mode 100644
index 0000000..de49971
Binary files /dev/null and b/AndroidClient/res/drawable-mdpi/ic_action_back.png differ
diff --git a/AndroidClient/res/drawable-mdpi/ic_action_forward.png b/AndroidClient/res/drawable-mdpi/ic_action_forward.png
new file mode 100644
index 0000000..74aad50
Binary files /dev/null and b/AndroidClient/res/drawable-mdpi/ic_action_forward.png differ
diff --git a/AndroidClient/res/drawable-mdpi/ic_launcher.png b/AndroidClient/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..6ae570b
Binary files /dev/null and b/AndroidClient/res/drawable-mdpi/ic_launcher.png differ
diff --git a/AndroidClient/res/drawable-xhdpi/ic_action_back.png b/AndroidClient/res/drawable-xhdpi/ic_action_back.png
new file mode 100644
index 0000000..28432f1
Binary files /dev/null and b/AndroidClient/res/drawable-xhdpi/ic_action_back.png differ
diff --git a/AndroidClient/res/drawable-xhdpi/ic_action_forward.png b/AndroidClient/res/drawable-xhdpi/ic_action_forward.png
new file mode 100644
index 0000000..1a158c1
Binary files /dev/null and b/AndroidClient/res/drawable-xhdpi/ic_action_forward.png differ
diff --git a/AndroidClient/res/drawable-xhdpi/ic_launcher.png b/AndroidClient/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..d4fb7cd
Binary files /dev/null and b/AndroidClient/res/drawable-xhdpi/ic_launcher.png differ
diff --git a/AndroidClient/res/drawable-xxhdpi/ic_action_back.png b/AndroidClient/res/drawable-xxhdpi/ic_action_back.png
new file mode 100644
index 0000000..46184bd
Binary files /dev/null and b/AndroidClient/res/drawable-xxhdpi/ic_action_back.png differ
diff --git a/AndroidClient/res/drawable-xxhdpi/ic_action_forward.png b/AndroidClient/res/drawable-xxhdpi/ic_action_forward.png
new file mode 100644
index 0000000..fe1d67c
Binary files /dev/null and b/AndroidClient/res/drawable-xxhdpi/ic_action_forward.png differ
diff --git a/AndroidClient/res/drawable-xxhdpi/ic_launcher.png b/AndroidClient/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..85a6081
Binary files /dev/null and b/AndroidClient/res/drawable-xxhdpi/ic_launcher.png differ
diff --git a/AndroidClient/res/layout/activity_main.xml b/AndroidClient/res/layout/activity_main.xml
new file mode 100644
index 0000000..fc30470
--- /dev/null
+++ b/AndroidClient/res/layout/activity_main.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/AndroidClient/res/menu/main.xml b/AndroidClient/res/menu/main.xml
new file mode 100644
index 0000000..9848479
--- /dev/null
+++ b/AndroidClient/res/menu/main.xml
@@ -0,0 +1,21 @@
+
diff --git a/AndroidClient/res/values-v11/styles.xml b/AndroidClient/res/values-v11/styles.xml
new file mode 100644
index 0000000..3c02242
--- /dev/null
+++ b/AndroidClient/res/values-v11/styles.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/AndroidClient/res/values-v14/styles.xml b/AndroidClient/res/values-v14/styles.xml
new file mode 100644
index 0000000..a91fd03
--- /dev/null
+++ b/AndroidClient/res/values-v14/styles.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/AndroidClient/res/values-w820dp/dimens.xml b/AndroidClient/res/values-w820dp/dimens.xml
new file mode 100644
index 0000000..f3e7020
--- /dev/null
+++ b/AndroidClient/res/values-w820dp/dimens.xml
@@ -0,0 +1,10 @@
+
+
+
+ 64dp
+
+
diff --git a/AndroidClient/res/values/dimens.xml b/AndroidClient/res/values/dimens.xml
new file mode 100644
index 0000000..55c1e59
--- /dev/null
+++ b/AndroidClient/res/values/dimens.xml
@@ -0,0 +1,7 @@
+
+
+
+ 16dp
+ 16dp
+
+
diff --git a/AndroidClient/res/values/strings.xml b/AndroidClient/res/values/strings.xml
new file mode 100644
index 0000000..a838367
--- /dev/null
+++ b/AndroidClient/res/values/strings.xml
@@ -0,0 +1,10 @@
+
+
+
+ Web2App
+ file:///android_asset/simple-map.html
+ Home
+ Forward
+ Back
+
+
diff --git a/AndroidClient/res/values/styles.xml b/AndroidClient/res/values/styles.xml
new file mode 100644
index 0000000..0309de5
--- /dev/null
+++ b/AndroidClient/res/values/styles.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/AndroidClient/src/com/example/web2app/MainActivity.java b/AndroidClient/src/com/example/web2app/MainActivity.java
new file mode 100644
index 0000000..29905c7
--- /dev/null
+++ b/AndroidClient/src/com/example/web2app/MainActivity.java
@@ -0,0 +1,165 @@
+package com.example.web2app;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.net.http.SslError;
+import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.Window;
+import android.webkit.HttpAuthHandler;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebChromeClient;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.Toast;
+
+
+public class MainActivity extends Activity {
+
+ private Activity activity;
+ private WebView webview;
+ private ActionBar actionbar;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ /**
+ * Display the progress in the activity title bar.
+ */
+ getWindow().requestFeature(Window.FEATURE_PROGRESS);
+
+ setContentView(R.layout.activity_main);
+
+ /**
+ * Get actionbar which would have items such as home/forward/back
+ */
+ actionbar = getActionBar();
+
+ /**
+ * Instantiate a WebView object programmatically
+ * instead of using XML layout.
+ */
+ webview = new WebView(this);
+ setContentView(webview);
+
+ WebSettings webSettings = webview.getSettings();
+
+ /**
+ * Enable JavaScript functionality in the webview.
+ */
+ webSettings.setJavaScriptEnabled(true);
+
+
+
+ final Activity activity = this;
+
+ /**
+ * WebChromeClient helps to handle Javascript dialogs,
+ * favicons, titles, and the progress.
+ * We use it for displaying progress
+ */
+ webview.setWebChromeClient(new WebChromeClient() {
+ public void onProgressChanged(WebView view, int progress) {
+ // Activities and WebViews measure progress with different scales.
+ // The progress meter will automatically disappear when we reach 100%
+ activity.setProgress(progress * 1000);
+ }
+ });
+
+ /**
+ * Set the webview client to a customized webview client.
+ * See MyWebViewClient defined below.
+ */
+ webview.setWebViewClient( new MyWebViewClient() );
+
+ /**
+ * Load the web site URL specified in values/strings/web_url.
+ */
+ webview.loadUrl(getString(R.string.web_url));
+
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ // Inflate the menu items for use in the action bar
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.main, menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+
+ /*
+ * Handle presses on the action bar items.
+ * Menu items are defined in res/menu/main.xml
+ */
+ switch (item.getItemId()) {
+ case R.id.action_home:
+ /*
+ * Reload the home page
+ */
+ webview.loadUrl(getString(R.string.web_url));
+ return true;
+ case R.id.action_back:
+ if( webview.canGoBack() )
+ {
+ webview.goBack();
+ }
+ return true;
+ case R.id.action_forward:
+ if( webview.canGoForward() )
+ {
+ webview.goForward();
+ }
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ /*
+ * Define a customized WebviewClient class
+ * so that we can override some methods such as authentication request handler.
+ */
+ private class MyWebViewClient extends WebViewClient {
+ @Override
+ public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm)
+ {
+ /*
+ * We could handler authentication request as follow:
+ * handler.proceed(user_name, password);
+ *
+ * Notice that the above way is not safe since password
+ * is revealed in source code.
+ */
+
+ }
+
+ public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
+ {
+ handler.proceed();
+ }
+
+ public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
+ Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ @Override
+ public void onBackPressed()
+ {
+ if(webview.canGoBack())
+ {
+ webview.goBack();
+ }
+ else
+ {
+ super.onBackPressed();
+ }
+ }
+}
diff --git a/Website/simple-map.html b/Website/simple-map.html
new file mode 100644
index 0000000..7086c3d
--- /dev/null
+++ b/Website/simple-map.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Website/simple_map.js b/Website/simple_map.js
new file mode 100644
index 0000000..f4b99c6
--- /dev/null
+++ b/Website/simple_map.js
@@ -0,0 +1,35 @@
+
+var map;
+var src = 'https://developers.google.com/maps/tutorials/kml/westcampus.kml';
+
+/**
+ * Initializes the map and calls the function that creates polylines.
+ */
+function initialize() {
+ map = new google.maps.Map(document.getElementById('map-canvas'), {
+ center: new google.maps.LatLng(-19.257753, 146.823688),
+ zoom: 2,
+ mapTypeId: google.maps.MapTypeId.TERRAIN
+ });
+ loadKmlLayer(src, map);
+}
+
+/**
+ * Adds a KMLLayer based on the URL passed. Clicking on a marker
+ * results in the balloon content being loaded into the right-hand div.
+ * @param {string} src A URL for a KML file.
+ */
+function loadKmlLayer(src, map) {
+ var kmlLayer = new google.maps.KmlLayer(src, {
+ suppressInfoWindows: true,
+ preserveViewport: false,
+ map: map
+ });
+ google.maps.event.addListener(kmlLayer, 'click', function(event) {
+ var content = event.featureData.infoWindowHtml;
+ var testimonial = document.getElementById('capture');
+ testimonial.innerHTML = content;
+ });
+}
+
+google.maps.event.addDomListener(window, 'load', initialize);
\ No newline at end of file