Android The WebKit Browser Notes are based on: Android Developers Google Maps Javascript API V3 Basics

Slides:



Advertisements
Similar presentations
Android Application Development Tutorial. Topics Lecture 4 Overview Overview of Sensors Programming Tutorial 1: Tracking location with GPS and Google.
Advertisements

GV: Nguyễn Thị Thúy Hiền PHÒNG GD&ĐT PHÚ VANG TRƯỜNG THCS PHÚ THƯỢNG.
5.
Giáo viên thực hiện: Bùi Thị Hồng Diệu Trung Tâm GDTX Quảng Điền.
Giáo viên d ¹y : Tr­êng THPT V¨n Quan NhiÖt liÖt chµo mõng c¸c thÇy, c« gi¸o vÒ th¨m líp dù giê v ỚI LỚP 12A4 h×nh 12.
KIỂM TRA BÀI CŨ: CÂU 1: Chuột là thiết bị dùng để làm gì? a.Nhập dữ liệu b.Xuất dữ liệu c.Xử lý và lưu trữ d.Tất cả đều sai.
Cài đặt Moodle Cài đặt Moodle trên môi trường Windows Cục CNTT-Bộ GD&ĐT.
3.3 Static analysis by tools. Contents The objective of static analysisCompare static and dynamic testingBenefits of using static analysis Recall typical.
EXPRESSION LANGUAGE Msc : Lê Gia Minh. EL Language : Cơ Bản  Cho phép JSP developers truy cập các đối tượng Java thông qua tag. Được dùng hiển thị nội.
LOGO JOOMLA & PHP See How easy it is! Trung tâm đào tạo lập trình viên quốc tế Aprotrain -Aptech Làm web trong 10 phút Diễn giả : Đặng Tuấn Tú.
TortoiseSVN Mục tiêu Nội dung - Giúp bạn có 1 cái nhìn rõ hơn về TortoiseSVN - Hướng bạn thao tác với các chức năng của TortoiseSVN theo cách đơn giản,
Kỹ năng Trích dẫn và Lập danh mục tài liệu tham khảo
BÀI 3. ĐƯỜNG THẲNG VÀ MẶT PHẲNG SONG SONG SỞ GD&ĐT ĐIỆN BIÊN TRƯỜNG THCS-THPT TẢ SÌN THÀNG BÀI DỰ THI SOẠN GIẢNG E-LEARNING Chương II ĐƯỜNG THẲNG VÀ MẶT.
Rèn luyện nghiệp vụ sư phạm 3
Javascript Giáo viên: TS. Trương Diệu Linh Bộ môn Truyền thông & Mạng
Orientation Các vấn đề về IT.
Android The WebKit Browser Victor Matos Cleveland State University Notes are based on: Android Developers Google.
Giáo viên: Nguyễn Ngọc Thúy Hằng Đơn vị: Trường THPT Lê Quý Đôn
CƠ CHẾ QUẢN LÝ KINH TẾ TRƯỚC THỜI KÌ ĐỔI MỚI (1975 – 1986)
37 Lê Quốc Hưng, Quận 4, Tp. Hồ Chí Minh ​ (08) ĐỀ XUẤT POC CÁC GIẢI PHÁP GIÁM SÁT HẠ TẦNG TRÊN NỀN TẢNG CÔNG.
1 BÀI 6 BẤM CÁP VÀ CHIA SẺ DỮ LIỆU MẠNG. 2 Nội Dung  Bấm cáp xoắn đôi đúng chuẩn Phương pháp bấm cáp chuẩn A Phương pháp bấm cáp chuẩn B  Kết nối máy.
TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C/C++
Thị trường mới ThS. Nguyễn Văn Thoan
Chương 1: mạng máy tính và Internet
UBND TỈNH ĐIỆN BIỆN SỞ GIÁO DỤC VÀ ĐÀO TẠO Cuộc thi thiết kế bài giảng điện tử e- Learning Bài giảng Bài 21: MẠNG THÔNG TIN TOÀN CẦU.
1. Quyền Admistrator, quyền Standard hoặc Limited 2. Kiểm tra kết nối mạng nội bộ, Internet 3. Một số nội dung của Quy nội bộ số 72/QyĐ-KTNB 4. L ư u ý.
Internet & E-Commerce
GIÁO TRÌNH ĐÀO TẠO TRƯỜNG ĐẠI HỌC SÀI GÒN
SỬ DỤNG EXCEL ĐỂ TRÍCH KHẤU HAO TSCĐ
Đầu tiên chỉ là 1 giao thức đơn giản
Bảo mật - Mã hóa dữ liệu Nội dung trình bày :
CHƯƠNG 9 PHẦN MỀM POWERPOINT
BÀI 4 CÔNG NGHỆ THÔNG TIN VÀ CHUỖI CUNG ỨNG
© 2007 Thomson South-Western
Chương 8 KẾT NỐI VỚI SQL SERVER & ỨNG DỤNG TRÊN C#
Vấn đề ngôn ngữ lập trình
DOM & SAX XML & ADO.NET GVTH: Phạm Anh Phương
MỘT SỐ HƯỚNG DẪN KHI SOẠN CÂU HỎI TRẮC NGHIỆM
BÀI THUYẾT TRÌNH NGÔN NGŨ LẬP TRÌNH
Hệ quản trị Cơ sở dữ liệu Giới thiệu
CÔNG NGHỆ THƯƠNG MẠI ĐIỆN TỬ
Chương 1: Khái quát về dự án đầu tư.
Ra quyết định kinh doanh
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN Trường THCS – THPT Tả Sìn Thàng
Theo mặc định toàn bộ dung lượng dùng lưu trữ, các thư mục hiện có trong các Partition , các dịch vụ hệ thống đã được chia sẽ cho mọi người được phép sử.
Policy Analysis Tools of the Trade NMDUC 2009.
Cấu hình đơn giản cho Router
Ring ? Bus ? ? Mesh ? Start ?. Ring ? Bus ? ? Mesh ? Start ?
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
TÀI LIỆU GIẢNG DẠY IC3 GS4 SPARK
GIÁO TRÌNH ĐÀO TẠO TRƯỜNG ĐẠI HỌC SÀI GÒN
Bài 8 (6 tiết): CÂY (TREE) A. CÂY VÀ CÂY NHỊ PHÂN (2 tiết)
HỆ ĐIỀU HÀNH MẠNG.
ỨNG DỤNG HIV INFO 3.0 QUẢN LÝ SỐ LIỆU NGƯỜI NHIỄM HIV/AIDS
File Transfer Protocol (FTP) là cơ chế truyền tin dưới dạng tập tin (file). Thông qua giao thức TCP/IP FTP là dịch vụ đặc biệt vì nó dùng tới 2 port Port.
NHÓM 2 XÃ HỘI TIN HỌC HOÁ Cơ sở của nền kinh tế tri thức
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
ÔN TẬP Chuyển các số sau từ hệ thập phân sang nhị phân, bát phân, thập lục phân: Chuyển các số sau từ hệ nhị phân.
BÀI 29: LỌC DỮ LIỆU TỪ DANH SÁCH DỮ LIỆU
Chương 4 - CÁC MÔ ĐUN ĐiỀU KHIỂN TRONG HỆ THỐNG CƠ ĐiỆN TỬ
Chương 1: Giới thiệu về Database
Lớp DH05LN GIÁO VIÊN PHỤ TRÁCH ThS. NGUYỄN QUỐC BÌNH
Please click through slides at your leisure
Chương 3. Lập trình trong SQL Server TRIGGER
AUDIO DROPBOX - TUTORIALS
Module 2 – CSR & Corporate Strategy
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN TRƯỜNG THPT MÙN CHUNG
Company LOGO CĂN BẢN VỀ MẠNG NGUYEN TAN THANH Xem lại bài học tại
Quản trị rủi ro Những vấn đề căn bản Nguyễn Hưng Quang 07/11/2015 NHẬT HOA IC&T.
I II III Sinh hoạt kinh tế Chỉ huy, quyết định Nhà Nước cộng sản I. KHÁI NIỆM.
Presentation transcript:

Android The WebKit Browser Notes are based on: Android Developers Google Maps Javascript API V3 Basics The Busy Coder's Guide to Android Development by Mark L. Murphy Copyright © CommonsWare, LLC. ISBN:

2 10. Android – UI – The WebKit Browser WebKit Browser 2 Với Android, ta có thể nhúng trình duyệt web có sẵn dưới dạng một widget vào trong các activity để hiển thị các nội dung HTML hoặc để duyệt Internet. Android browser dựa trên WebKit, engine được dùng cho trình duyệt Safari Web của Apple. Android dùng widget WebView để làm chỗ trú cho các trang của trình duyệt Ứng dụng dùng WebView phải yêu cầu INTERNET permission.

3 10. Android – UI – The WebKit Browser WebKit Browser 3 Browsing Power Browser sẽ truy nhập Internet bằng bất cứ cách nào mà từng thiết bị cụ thể cho phép (WiFi, mạng điện thoại,...). WebKit bao gồm các phương thức để 1.navigate forward and backward through a history, 2.zoom in and out, 3.perform text searches, 4.load data 5.stop loading and 6.more.

4 10. Android – UI – The WebKit Browser WebKit Browser 4 Permission Để Activity truy nhập được Internet và tải các trang web vào một WebView, ta phải bổ sung INTERNET permission và file Android Manifest: Dòng này phải là con của phần tử. (see next example)

5 10. Android – UI – The WebKit Browser WebKit Browser 5 Example: A simple browsing experience Let’s go e-shopping <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <WebView android:layout_width="fill_parent" android:layout_height="fill_parent" />

package cis493.demoui; import android.os.Bundle; import android.app.Activity; import android.webkit.WebView; public class AndDemoUI extends Activity { WebView public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); browser=(WebView)findViewById(R.id.webkit); browser.loadUrl(" browser.getSettings().setJavaScriptEnabled(true); } Android – UI – The WebKit Browser WebKit Browser 6 Example: A simple browsing experience Let’s go e-shopping Ứng dụng này nối cứng với eBay

<manifest xmlns:android=" package="cis493.demoui" android:versionCode="1" android:versionName="1.0"> Android – UI – The WebKit Browser WebKit Browser 7 Example: A simple browsing experience Let’s go e-shopping - Manifest

8 10. Android – UI – The WebKit Browser WebKit Browser 8 Warning – cảnh báo Nếu vào URL của một trang dùng Javascript, ta có thể thấy trang trắng trống không. Trong các widget WebView, Javascript mặc định ở chế độ off. Để bật Javascript, gọi : myWebView.setSettings().setJavaScriptEnabled(true); đối với đối tượng WebView. To be discussed later in this chapter.

9 10. Android – UI – The WebKit Browser WebKit Browser 9 Warning Với SDK 1.5, WebView có một Option Menu dựng sẵn Using Go optionUsing More option

Android – UI – The WebKit Browser WebKit Browser 10 Loading Data.loadData(…) Ta có thể cung cấp thẳng mã HTML để trình duyệt hiển thị ( chẳng hạn một hướng dẫn sử dụng, hoặc giao diện của ứng dụng thực chất được viết bằng HTML thay vì dùng giao diện native Android ). package cis493.demoui; import android.os.Bundle; import android.app.Activity; import android.webkit.WebView; public class AndDemoUI extends Activity { WebView public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); browser=(WebView)findViewById(R.id.webkit); browser.loadData(" Hello, world! ", "text/html", "UTF-8"); } Dùng chính layout và manifest của ví dụ trước

Android – UI – The WebKit Browser WebKit Browser 11 Browser Commands Không có navigation toolbar đi kèm mỗi WebView widget (tiết kiệm không gian). Ta có thể cung cấp UI – chẳng hạn tại menu – để phục vụ các thao tác sau: reload() to refresh the currently-viewed Web page goBack() to go back one step in the browser history, and canGoBack() to determine if there is any history to trace back goForward() to go forward one step in the browser history, and canGoForward() to determine if there is any history to go forward to goBackOrForward() to go backwards or forwards in the browser history, where negative/positive numbers represent a count of steps to go canGoBackOrForward() to see if the browser can go backwards or forwards the stated number of steps (following the same positive/negative convention as goBackOrForward()) clearCache() to clear the browser resource cache and clearHistory() to clear the browsing history

Android – UI – The WebKit Browser WebKit Browser 12 Using our running example: browser.goBack(); browser.goForward(); browser.goBackOrForward(-2); browser.goBackOrForward(+2); browser.canGoBack(); browser.canGoForward(); browser.canGoBackOrForward(-2); browser.canGoBackOrForward(+2); browser.clearCache(true); browser.clearHistory(); browser.stopLoading();

Android – UI – The WebKit Browser WebKit Browser 13 Combining HTML + JAVASCRIPT + ANDROID Ưu điểm mà Android Development mang lại 1.Truy nhập các dịch vụ native trên điện thoại, trong đó có các dịch vụ địa điểm (location services) 2.Vị trí tại Android Market 3.Phát triển ứng dụng nhanh bằng Android SDK và Eclipse. Lợi thế của Google Maps API 1.Ứng dụng tồn tại ở một server chứ không phải bên trong một thiết bị. 2.Nhanh chóng nâng cấp phiên bản, không cần yêu cầu người dùng tải về và cài đặt phiên bản mới. 3.Google thường xuyên có bổ sung tính năng mới và sửa lỗi. 4.Tương thích giữa các platform compatibility: Dùng Maps API cho phép ta tạo một map duy nhất nhưng chạy trên nhiều platform. 5.Được thiết kế để nạp nhanh tại các thiết bị Android và iPhone.

Android – UI – The WebKit Browser WebKit Browser 14 Combining HTML + JAVASCRIPT + ANDROID Learning Strategy WebView2: Truyền các Object giữa Android và JS (goal: create interconnectivity) WebView3: Mapping a fixed location using Google Maps V3 (Pure HTML + JS, just update the server -no need to upgrade ALL devices carrying the application, portability, homogeneous design) WebView4: Passing a real location object to JS – draw a map centered at given location (mapping current location, combines two above).

Android – UI – The WebKit Browser WebKit Browser 15 HTML + JAVASCRIPT + ANDROID Trao đổi các object giữa Android & JS Android OS locater object HTML You pass an object whose methods you want to expose to JavaScript (class vars not visible)

Android – UI – The WebKit Browser WebKit Browser 16 Part1. WebView2: Passing Objects between Android and JS

Android – UI – The WebKit Browser WebKit Browser 17 Part1. WebView2: Passing Objects between Android and JS <LinearLayout xmlns:android=" /android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <WebView android:layout_width="fill_parent" android:layout_height="fill_parent"/> Putting the pieces together: 1.Place a WebView in the main.xml file 2.Place html page in the assets folder 3.Create the Java object to share with JS Warning: tested on Android 2.2

Android – UI – The WebKit Browser WebKit Browser 18 Part1. WebView2: Passing Objects between Android and JS Android_Passing_HTML_JS function whereami() { // html asks android to provide data using object's GET methods document.getElementById("lat").innerHTML=locater.getLatitude(); document.getElementById("lon").innerHTML=locater.getLongitude(); document.getElementById("myText").value = locater.getCommonData(); } function talkBack2Android() { // bridge object used to send local (html) data to android app locater.setCommonData("Greetings from html"); var spyHtml = "Spy data coming from HTML\n" + "\n" + document.getElementById("myText").value + "\n" + document.getElementById("lat").innerHTML + "\n" + document.getElementById("lon").innerHTML; locater.htmlPassing2Android(spyHtml); } You are at Latitude (unknown) Longitude (unknown) Click to Get Location Enter some data here

Android – UI – The WebKit Browser WebKit Browser 19 Part1. WebView2: Passing Objects between Android and JS public class Main extends Activity { private WebView browser; MyLocater locater = new MyLocater(); Location public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); // get a location fix (lat, lon) mostRecentLocation = fakeGetLocation(); // set up the webview to show location results browser = (WebView) findViewById(R.id.webview); browser.getSettings().setJavaScriptEnabled(true); browser.addJavascriptInterface(locater, "locater"); browser.loadUrl("file:///android_asset/my_local_page1.html"); } private Location fakeGetLocation() { // faking the obtaining of a location object (discussed later!) Location fake = new Location("fake"); fake.setLatitude( ); fake.setLongitude( ); return fake; }

Android – UI – The WebKit Browser WebKit Browser 20 Part1. WebView2: Passing Objects between Android and JS // "MyLocater" dùng để gửi dữ liệu qua lại giữa Android và mã JS public class MyLocater { private String commonData = "XYZ"; public double getLatitude() { if (mostRecentLocation == null) return (0); else return mostRecentLocation.getLatitude(); } public double getLongitude() { if (mostRecentLocation == null) return (0); else return mostRecentLocation.getLongitude(); } public void htmlPassing2Android(String dataFromHtml) { Toast.makeText(getApplicationContext(), "1\n" + commonData, 1).show(); commonData = dataFromHtml; Toast.makeText(getApplicationContext(), "2\n" + commonData, 1).show(); } public String getCommonData(){ return commonData; } public void setCommonData(String actualData){ commonData = actualData; } }//MyLocater }

Android – UI – The WebKit Browser WebKit Browser 21 Part2. WebView3: Using Google Maps V3 Webpage “webview_map.html” showing a Google map centered around Cleveland State University, Ohio (seen with IExplorer running in a Windows machine) Link:

html { height: 100% } body { height: 100%; margin: 0px; padding: 0px } #map_canvas { height: 100% } <script type="text/javascript" src=" function initialize() { var latlng = new google.maps.LatLng( , ); var myOptions = { zoom: 15, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } Android – UI – The WebKit Browser WebKit Browser 22 Part2. WebView3: Passing Objects between Android and JS This is the web page: webview_map.html

Android – UI – The WebKit Browser WebKit Browser 23 Part2. WebView3: Porting to Android the Google Map V3 App. <LinearLayout xmlns:android=" /android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <WebView android:layout_width="fill_parent" android:layout_height="fill_parent"/> Putting the pieces together: 1.Place a WebView in the main.xml file 2.Place html page in the assets folder 3.Add permission requests to manifest 4.Connect to Java code Warning: tested on Android 2.2

Android – UI – The WebKit Browser WebKit Browser 24 Part2. WebView3: Porting to Android the Google Map V3 App. Add the following permission requests to the AndroidManifest.xml file Map image shown on an Android device

Android – UI – The WebKit Browser WebKit Browser 25 Part2. WebView3: Porting to Android the Google Map V3 App. public class Main extends Activity { WebView public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // connect browser to local html file showing map browser = (WebView) findViewById(R.id.webview); browser.getSettings().setJavaScriptEnabled(true); browser.loadUrl("file:///android_asset/webview_map.html"); }

Android – UI – The WebKit Browser WebKit Browser 26 Part3. WebView4: Android & Google Map V3 App (real locations) Ví dụ này kết hợp hai ví dụ trước: Mục tiêu là dùng một đối tượng Android để truyền dữ liệu ‘vị trí thực’ cho một trang html. Trang html chứa một đoạn mã JavaScript vẽ bản đồ có tâm là tọa độ đã cho. Warning: Make sure your target is: Google APIs (API Level 8) or higher. Vĩ độ (Latitude) và kinh độ (longitude) do thiết bị xác định. Ảnh chụp từ điện thoại Android.

Android – UI – The WebKit Browser WebKit Browser 27 Part2. WebView3: Porting to Android the Google Map V3 App. <LinearLayout xmlns:android=" /android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <WebView android:layout_width="fill_parent" android:layout_height="fill_parent"/> Putting the pieces together: 1.Place a WebView in the main.xml file 2.Place html page in the assets folder 3.Add permission requests to manifest 4.Connect to Java code Warning: tested on Android 2.2

Android – UI – The WebKit Browser WebKit Browser 28 Part3. WebView4: Android & Google Map V3 App (real locations) Google Maps JavaScript API v3 Example: Marker Simple html { height: 100% } body { height: 100%; margin: 0px; padding: 0px } #map_canvas { height: 100% } function initialize() { //var myLatlng = new google.maps.LatLng( , ); var myLatlng = new google.maps.LatLng(locater.getLatitude(), locater.getLongitude()); var myOptions = { zoom: 17, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var marker = new google.maps.Marker({ position: myLatlng, map: map }); } Html page creates a map using ‘real’ coordinates passed in the ‘locater’ object

Android – UI – The WebKit Browser WebKit Browser 29 Part3. WebView4: Android & Google Map V3 App (real locations) public class Main extends Activity implements LocationListener { private static final String MAP_URL = " samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html"; private WebView browser; //Location mostRecentLocation; LocationManager locationManager; MyLocater locater = new protected void onDestroy() { super.onDestroy(); // cut location service requests locationManager.removeUpdates(this); } private void getLocation() { locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); // use GPS (you must be outside) //criteria.setAccuracy(Criteria.ACCURACY_COARSE); // towers, wifi String provider = locationManager.getBestProvider(criteria, true); // In order to make sure the device is getting the location, request // updates [wakeup after changes of: 1 sec. or 0 meter] locationManager.requestLocationUpdates(provider, 1, 0, this); locater.setNewLocation(locationManager.getLastKnownLocation(provider)); }

Android – UI – The WebKit Browser WebKit Browser 30 Part3. WebView4: Android & Google Map V3 App (real public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getLocation(); setupbrowser(); this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } /** Sets up the browser object and loads the URL of the page **/ private void setupbrowser() { final String centerURL = "javascript:centerAt(" + locater.getLatitude() + "," + locater.getLongitude() + ")"; // set up the browser to show location results browser = (WebView) findViewById(R.id.webview); browser.getSettings().setJavaScriptEnabled(true); browser.addJavascriptInterface(locater, "locater"); browser.loadUrl("file:///android_asset/webview_map.html");

Android – UI – The WebKit Browser WebKit Browser 31 Part3. WebView4: Android & Google Map V3 App (real locations) // Wait for the page to load then send the location information browser.setWebViewClient(new WebViewClient() public void onPageFinished(WebView view, String url) { browser.loadUrl(centerURL); } }); public void onLocationChanged(Location location) { String lat = String.valueOf(location.getLatitude()); String lon = String.valueOf(location.getLongitude()); Toast.makeText(getApplicationContext(), lat + "\n" + lon, 1).show(); locater.setNewLocation(location); public void onProviderDisabled(String provider) { // needed by Interface. Not used public void onProviderEnabled(String provider) { // needed by Interface. Not used public void onStatusChanged(String provider, int status, Bundle extras) { // needed by Interface. Not used }

Android – UI – The WebKit Browser WebKit Browser 32 Part3. WebView4: Android & Google Map V3 App (real locations) // /////////////////////////////////////////////////////////////////// // An object of type "MyLocater" will be used to pass data back and // forth between the Android app and the JS code behind the html page. // /////////////////////////////////////////////////////////////////// public class MyLocater { private Location mostRecentLocation; public void setNewLocation(Location newCoordinates){ mostRecentLocation = newCoordinates; } public double getLatitude() { if (mostRecentLocation == null) return (0); else return mostRecentLocation.getLatitude(); } public double getLongitude() { if (mostRecentLocation == null) return (0); else return mostRecentLocation.getLongitude(); } }// MyLocater }//class

Android – UI – The WebKit Browser WebKit Browser 33 Questions ?