Animasi gambar jps dan mysql

Dapatkan materi terbaru di www.omayib.com 107 maka marker akan berpindah ke lokasi baru, diikuti animasi sederhana map bergeser mengikuti marker sekaligus melakukan zoom. Perhatikan Gambar 15.1. a b Gambar 15.1. Kombinasi map, marker dan GPS ,a DDMS untuk emulator GPS, b Map dan markernya 1. Bikin project baru lagi Project name mapMarkerGps Build Target Android 2.2 Aplication name Google Map Package name Com.map.marker Create Activity MapMarker Min SDK version 8 2. Masukkan gambar markerpin ke drawable 3. Main.xml 1: ? xml version = 1.0 encoding = utf-8 ? 2: RelativeLayout 3: xmlns:android = http:schemas.android.comapkresandroid 4: android:orientation = vertical 5: android:layout_width = fill_parent 6: android:layout_height = fill_parent 7: 8: com.google.android.maps.MapView 9: xmlns:android = http:schemas.android.comapkresandroid 10: android:id = +idmap_view 11: android:layout_width = fill_parent 12: android:layout_height = fill_parent 13: android:clickable = true 14: android:enabled = true 15: android:apiKey = 0CyuBP8zNhMbsh0kiDX7go- 37s8g81rYQQoldrQ 16: RelativeLayout 17: Dapatkan materi terbaru di www.omayib.com 108 4. userPosition 1: package com.map.marker; 2: 3: public class userPosition { 4: static double latitude ; 5: static double longitude ; 6: 7: public double getLatitude { 8: return latitude ; 9: } 10: 11: public double getLongitude { 12: return longitude ; 13: } 14: public void setLatitude double latitude { 15: userPosition. latitude = latitude; 16: } 17: public void setLongitude double longitude { 18: userPosition. longitude = longitude; 19: } 20: } 21: 5. Bikin dulu class baru CustomItemizedOverlay.java 1: package com.map.marker; 2: 3: import java.util.ArrayList; 4: 5: import android.app.AlertDialog; 6: import android.content.Context; 7: import android.graphics.drawable.Drawable; 8: 9: import com.google.android.maps.ItemizedOverlay; 10: import com.google.android.maps.OverlayItem; 11: 12: public class CustomItemizedOverlay extends 13: ItemizedOverlayOverlayItem { 14: 15: private ArrayListOverlayItem mapOverlays = new 16: ArrayListOverlayItem; 17: 18: private Context context ; 19: 20: public CustomItemizedOverlayDrawable defaultMarker { 21: super boundCenterBottomdefaultMarker; 22: TODO Auto-generated constructor stub 23: } 24: 25: public CustomItemizedOverlayDrawable defaultMarker, Context 26: context { 27: this defaultMarker; 28: this . context = context; 29: } 30: 31: Override Dapatkan materi terbaru di www.omayib.com 109 32: protected OverlayItem createItem int i { 33: TODO Auto-generated method stub 34: return mapOverlays .geti; 35: } 36: 37: Override 38: public int size { 39: TODO Auto-generated method stub 40: return mapOverlays .size; 41: } 42: 43: Override 44: protected boolean onTap int index { 45: OverlayItem item = mapOverlays .getindex; 46: AlertDialog.Builder ad = new AlertDialog.Builder context ; 47: ad.setTitleitem.getTitle; 48: ad.setMessageitem.getSnippet; 49: ad.show; 50: return true ; 51: } 52: 53: public void addOverlayOverlayItem overlay { 54: mapOverlays .addoverlay; 55: this .populate; 56: } 57: } 58: 6. Tulis kode Activity MapMarker seperti ini 1: package com.map.marker; 2: 3: import java.util.List; 4: 5: import com.google.android.maps.GeoPoint; 6: import com.google.android.maps.MapActivity; 7: import com.google.android.maps.MapController; 8: import com.google.android.maps.MapView; 9: import com.google.android.maps.Overlay; 10: import com.google.android.maps.OverlayItem; 11: import android.content.Context; 12: import android.location.Location; 13: import android.location.LocationListener; 14: import android.location.LocationManager; 15: import android.os.Bundle; 16: import android.widget.Toast; 17: 18: public class MapMarker extends MapActivity { 19: 20: private MapView mapView ; 21: MapController mapController ; 22: LocationListener locationListener ; 23: CustomItemizedOverlay itemizedOverlay ; 24: ListOverlay mapOverlays ; 25: userPosition pos ; 26: 27: Called when the activity is first created. 28: Override Dapatkan materi terbaru di www.omayib.com 110 29: public void onCreateBundle savedInstanceState { 30: super .onCreatesavedInstanceState; 31: setContentViewR.layout. main ; 32: 33: mapView = MapView findViewByIdR.id. map_view ; 34: mapView .setBuiltInZoomControls true ; 35: mapOverlays = mapView .getOverlays; 36: mapController = mapView .getController; 37: pos = new userPosition; 38: 39: LocationManager mLocationManager = LocationManager 40: getSystemServiceContext. LOCATION_SERVICE ; 41: locationListener = new MyLocationListener; 42: mLocationManager.requestLocationUpdates 43: LocationManager. GPS_PROVIDER ,0, 44: 0, locationListener ; 45: 46: if pos .getLatitude 0 { 47: getGeoPointUser pos .getLatitude, 48: pos .getLongitude; 49: 50: } else { 51: getGeoPointUser-7.801307, 110.364756; yogya 52: } 53: } 54: 55: Override 56: protected boolean isRouteDisplayed { 57: TODO Auto-generated method stub 58: return false ; 59: } 60: 61: private void getGeoPointUser double lat, double lon { 62: TODO Auto-generated method stub 63: GeoPoint point = new GeoPoint int lat 1E6, 64: int lon 1E6; 65: OverlayItem overlayitem = new OverlayItempoint, Hai.. , 66: Saya omayib ; 67: itemizedOverlay = new 68: CustomItemizedOverlay this .getResources 69: .getDrawableR.drawable. marker , MapMarker. this ; 70: itemizedOverlay .addOverlayoverlayitem; 71: mapOverlays .add itemizedOverlay ; 72: mapController .animateTopoint; 73: mapController .setZoom6; 74: } 75: 76: public class MyLocationListener 77: implements LocationListener { 78: 79: Override 80: public void onLocationChangedLocation loc { 81: TODO Auto-generated method stub 82: if loc = null { 83: mapOverlays .remove itemizedOverlay ; 84: Toast.makeTextgetBaseContext, Location 85: changed : Lat: + loc.getLatitude+ Lng: 86: +loc.getLongitude, Dapatkan materi terbaru di www.omayib.com 111 87: Toast. LENGTH_SHORT .show; 88: double lat = loc.getLatitude; 89: double longi = loc.getLongitude; 90: pos .setLatitudelat 1E6; 91: pos .setLongitudelongi 1E6; 92: getGeoPointUserlat, longi; 93: } 94: } 95: 96: Override 97: public void onProviderDisabledString arg0 { 98: TODO Auto-generated method stub 99: } 100: Override 101: public void onProviderEnabledString arg0 { 102: TODO Auto-generated method stub 103: } 104: 105: Override 106: public void onStatusChangedString arg0, int arg1, Bundle 107: arg2 { 108: TODO Auto-generated method stub 109: 110: } 111: } 112: 113: } Seteleah tidak ada error, coba di run. Wow Android memang luar biasa  PEMBAHASAN PROGRAM NOT YET AVAILABLE Apabila Ebook ini bermanfaat buat Kamu, Bantu penulis menyempurnakan ebook ini dengan cara DONASI. Dapatkan materi terbaru di www.omayib.com 112 BAB 7 ANDROID Client Server Dapatkan materi terbaru di www.omayib.com 113 JAM 17 | ANDROID dan PHP Pada bagian ini, Kamu akan mempelajari mengenai  Login menggunakan php  Login menggunakan mySQL server  Android dan mySQL server NOT YET AVAILABLE  JSOIN WebService coming soon  Facebook-Twitter API coming soon

A. Login menggunakan php

Pada bagian ini, Kamu akan membuat project sederhana berupa halaman login yang autentifikasinya melalui PHP di server. Skenarionya seperti pada gambar 16.1. PHP di server Android Gambar 16.1. Skenario client server Dalam hal ini, Android bertindak sebagai client. Teks masukan berupa username dan password pada halaman login dikemas sedemikian rupa kemudian dikirim keserver. Pada bagian server, data yang dikirim android ditangkap oleh file PHP kemudian diolah apakah datanya cocok atau tidak. Selanjutnya PHP mengeluarkan jawaban yang selanjutnya akan ditangkap oleh android. Langkah Client Server 1 Mengambil teks username dan password - 2 Megirim data username dan password ke server Data ditangkap oleh PHP Dapatkan materi terbaru di www.omayib.com 114 3 - PHP mengeluarkan jawaban berhasil login atau tidak 4 Jawaban dari server ditangkap oleh android kemudian ditampilkan Project ini diselesaikan melalui 3 tahap, 1. Instalasi XAMPP untuk mengaktifkan server local localhost 2. Membuat file PHP 3. Membuat project di Android Nah, saatnya kita mulai  Instalasi XAMPP 1. Download xampp di website resminya 2. Cari file XAMPP-Control, start APACHE dan MYSQL Gambar 16.2 Gambar 16.2 Saat xampp control aktif 3. Masuklah ke direktori c:xampphtdocs , bikin folder baru bernama android Membuat file PHP

1. Ketik file login.php berikut bisa menggunakan notepad

1: ?php 2: user = _POST [ auser ]; 3: pass = _POST [ apass ]; 4: 5: if user == omayib pass = 1234 { 6: ket = Login sukses ; 7: } else { 8: ket = gagal login ; 9: } 10: echo ket ; 11: ?