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