04/04/14
Membuat Aplikasi Peta Android dengan Google Map V2
Kemudian pastikan juga sudah menginstall Google Play Services
Kemudian buka Eclipse, buka Window-Preferences-Android-Debug, lihat dahulu lokasi file debug.keystore.
Kemudian buka Command Prompt, kita generate Google API Key dari debug.keystore menggunakan keytool bawaan JDK, caranya ketikkan perintah berikut :
> cd "C:\Program Files\Java\jdk1.7.0_02\bin"\
> keytool.exe -list -v -keystore "C:\Users\PC\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Kemudian copy Key SHA1. Setelah itu kita buka Google API Console di URL https://code.google.com/apis/console, klik Services, aktifkan Google Maps Android API v2
Kemudian klik API Access, klik Android Key, masukkan Key SHA1 yang telah didapatkan diikuti tanda ; dan diikuti nama namespace package, misalnya :
59:56:X8:A0:2C:12:XA:1D:52:0F:3C:XB:41:A6:C7:35:FA:95:1E:E5;com.amijaya.googlemapv2
Klik Create, hasilnya didapatkan Key untuk Project tersebut. Copy API Key-nya.
Kemudian pada Eclipse kita Import dahulu Project Library bawaan SDK Google Play Services, Klik File Import, pilih Android-Existing Android Code Into Workspace :
Kemudian pilih direktori <Android SDK>/extras/google/google_play_services/libproject/google_play_services_lib.
Klik OK, hasilnya akan dimasukkan Project baru bertipe library bernama google_play_services_lib. Project ini akan kita include kan di Project Utama kita.
Kemudian buat Project Utama, klik File-New-Android Project. Jangan lupa memilih Compile With Google APIs.
Setelah Project baru selesai dibuat Klik kanan Project - Properties - Android, klik Add untuk menambahkan Project Library google_play_services_lib :
Kemudian pada activity_main.xml buat tampilan seperti ini :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
/>
</RelativeLayout>
Kemudian pada MainActivity.java kita ketikkan program berikut :
package com.amijaya.googlemapv2;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.Menu;
//http://cariprogram.blogspot.com
//nuramijaya@gmail.com
public class MainActivity extends FragmentActivity {
final int RQS_GooglePlayServices = 1;
private GoogleMap myMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager myFragmentManager = getSupportFragmentManager();
SupportMapFragment mySupportMapFragment = (SupportMapFragment)myFragmentManager.findFragmentById(R.id.map);
myMap = mySupportMapFragment.getMap();
LatLng jogja = new LatLng(-7.782939, 110.367050);
MarkerOptions markerJogja = new MarkerOptions();
markerJogja.position(jogja);
markerJogja.title("Tugu Yogyakarta");
markerJogja.snippet("Tugu Pusat Kota Yogyakarta");
markerJogja.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
myMap.addMarker(markerJogja);
myMap.getUiSettings().setCompassEnabled(true);
myMap.getUiSettings().setZoomControlsEnabled(true);
myMap.animateCamera(CameraUpdateFactory.newLatLngZoom(jogja, 15));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Terakhir pada AndroidManifest.xml tambahkan permission, setting dan API Key yang telah didapatkan tadi sehingga seperti ini :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amijaya.googlemapv2"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<permission
android:name="com.amijaya.googlemapv2.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="<GANTI-DGN-ANDROID-API-KEY>" />
<activity
android:name="com.amijaya.googlemapv2.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Hasilnya :
sumber : http://cariprogram.blogspot.com/2013/03/android-googlemapv2-aplikasi-peta-android-google-map-v2.html
31/03/14
Belajar Android : Mengakses Posisi Saat Ini dengan GPS
Membuat Project Baru
Langkah pertama yang dilakukan adalah membuat project baru di Eclipse. Deskripsi project dapat dilihat di Gambar 1.Menambah permission di AndroidManifest.xml
Untuk dapat mengakses GPS, kita perlu menambahkan permission di AndroidManifest.xml. Jika permission tidak dicantumkan, aplikasi yang akan dibuat tidak bisa berjalan. Berikut adalah kode AndroidManifest.xml yang telah dimodifikasi.File : AndroidManifest.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <?xml version="1.0" encoding="utf-8"?>package="com.example.gpssample"android:versionCode="1"android:versionName="1.0"><uses-sdk android:minSdkVersion="8" /><application android:icon="@drawable/icon" android:label="@string/app_name"><activity android:name=".GPSSample"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /></manifest> |
Menambahkan LocationListener
Agar aplikasi yang kita buat dapat berhubungan dengan GPS, kita memerlukan LocationManager dan LocationListener. LocationManager menyediakan akses ke layanan lokasi di Android. Salah satu layanan yang tersedia adalah update lokasi geografis dari perangkat yang digunakan. LocationManager akan mengabarkan setiap perubahan lokasi geografis kepada LocationListener. LocationListener inilah yang nantinya akan kita ubah sesuai dengan kebutuhan kita.Hal di atas dapat diimplementasikan dalam dua langkah. Pertama, kita buat sebuah class yang mengimplementasikan LocationListener (LocationListener adalah sebuah interface). Ada empat buah method yang harus diimplementasikan, yaitu :
- onLocationChanged dipanggil saat posisi geografis pengguna mengalami perubahan,
- onProviderDisabled dipanggil saat provider dinon-aktifkan oleh pengguna,
- onProviderEnabled dipanggil saat provider diaktifkan oleh pengguna,
- onStatusChange dipanggil saat ada perubahan status pada provider.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| /*** MyLocationListener*/public class MyLocationListener implements LocationListener{// Dipanggil saat ada perubahan lokasi geografis pengguna@Overridepublic void onLocationChanged(Location location) {// Mendapatkan nilai latitude dari lokasi terbarudouble latitude = location.getLatitude();// Mendapatkan nilai longitude dari lokasi terbarudouble longitude = location.getLongitude();// Menampilkan lokasi terbaru menggunakan ToastString message = "Lokasi saat ini :\n" +"Latitude = " + latitude + "\n" +"Longitude = " + longitude;Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show();}// Dipanggil saat provider dinon-aktifkan oleh pengguna@Overridepublic void onProviderDisabled(String provider) {String message = "GPS disabled";Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show();}// dipanggil saat provider diaktifkan oleh pengguna@Overridepublic void onProviderEnabled(String provider) {String message = "GPS enabled";Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show();}// dipanggil saat ada perubahan status pada provider@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {// TODO Auto-generated method stub} |
1
2
3
4
5
6
| // Inisiasi LocationManager dan LocationListenerLocationManager myLocationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);LocationListener myLocationListener = new MyLocationListener();myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0, 0, myLocationListener); |
File : GPSSample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| <pre>package com.example.gpssample;import android.app.Activity;import android.content.Context;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.widget.Toast;public class GPSSample extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// Inisiasi LocationManager dan LocationListenerLocationManager myLocationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);LocationListener myLocationListener = new MyLocationListener();myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0, 0, myLocationListener);}/*** MyLocationListener*/public class MyLocationListener implements LocationListener{// Dipanggil saat ada perubahan lokasi geografis pengguna@Overridepublic void onLocationChanged(Location location) {// Mendapatkan nilai latitude dari lokasi terbarudouble latitude = location.getLatitude();// Mendapatkan nilai longitude dari lokasi terbarudouble longitude = location.getLongitude();// Menampilkan lokasi terbaru menggunakan ToastString message = "Lokasi saat ini :\n" +"Latitude = " + latitude + "\n" +"Longitude = " + longitude;Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show();}// Dipanggil saat provider dinon-aktifkan oleh pengguna@Overridepublic void onProviderDisabled(String provider) {String message = "GPS disabled";Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show();}// dipanggil saat provider diaktifkan oleh pengguna@Overridepublic void onProviderEnabled(String provider) {String message = "GPS enabled";Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show();}// dipanggil saat ada perubahan status pada provider@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {// TODO Auto-generated method stub}}} |
Menjalankan Program
Tahap selanjutnya adalah menjalankan program yang kita buat. Jika anda akan menjalankan program langsung di smartphone, pastikan GPS diaktifkan dan telah terkunci. Selamat bersabar menanti :mrgreen:. Setelah terkunci, aplikasi akan terus menerus menampilkan perubahan lokasi pengguna.Jika anda akan menjalankan program di emulator, masalah yang harus dihadapi adalah tidak tersedianya GPS di komputer yang kita gunakan. Alhasil kalau applikasi kita jalankan, tidak ada lokasi geografis yang ditampilkan.
Solusinya : beli smartphone Android :mrgreen:. Kalau budget anda terbatas, ada fitur Eclipse yang dapat kita gunakan untuk mengirimkan data GPS ke emulator. Pertama-tama, kita masuk ke DDMS. (Pilih Window – Open Perspective – DDMS). Kemedian kita debug aplikasi yang kita buat. Kemudian, pilih tab Emulation Control. Di bagian ini terdapat bagian Location Controls.
Di bagian Location Controls inilah kita dapat memasukkan data longitude dan latitude secara manual. Masukkan nilai longitude dan latitude yang akan dikirimkan ke emulator, kemudian tekan tombol send. Sekarang, aplikasi GPSSample yang telah kita buat akan menampilkan posisi geografis pengguna yang telah dikirimkan.
11/03/14
Pesan pizza favorit melalui meja restoran canggih
San Francisco - Pizza Hut memperkenalkan prototipe meja restoran dengan teknologi layar sentuh untuk menghadirkan layanan interaktif. Melalui meja ini, pelanggan bisa merancang pizza sesuai keinginan dan langsung memesannya lewat meja tersebut.
Mengutip PhoneArena, syarat utama pelanggan dapat menggunakan meja canggih ini adalah memiliki perangkat iPhone. Dengan meletakkan iPhone di atas meja, teknologi yang tertanam di meja langsung mengenali pelanggan. Layar pada meja akan menampilkan proses merancang pizza.
Proses dimulai dari menentukan ukuran pizza (small, medium, large), hingga memilih toppingfavorit. Setelah pelanggan selesai merancang pizza yang mereka inginkan, meja canggih ini akan menampilkan pilihan cara pembayaran, bisa dengan kartu kredit, debit, atau tunai.
Sambil menunggu pesanan datang, pelanggan pun bisa memainkan game di iPhone yang ditampilkan di layar meja.
Meski terkesan menghilangkan interaksi antar manusia, namun konsep ini cukup menarik untuk dicoba. Pelanggan jelas akan lebih mudah dalam menentukan seperti apa pizza yang ingin mereka nikmati, serta mempercepat proses pembayaran yang bisa diproses secara instan.
Untuk lebih jelasnya, langsung saja simak video berikut ini:
Mengutip PhoneArena, syarat utama pelanggan dapat menggunakan meja canggih ini adalah memiliki perangkat iPhone. Dengan meletakkan iPhone di atas meja, teknologi yang tertanam di meja langsung mengenali pelanggan. Layar pada meja akan menampilkan proses merancang pizza.
Proses dimulai dari menentukan ukuran pizza (small, medium, large), hingga memilih toppingfavorit. Setelah pelanggan selesai merancang pizza yang mereka inginkan, meja canggih ini akan menampilkan pilihan cara pembayaran, bisa dengan kartu kredit, debit, atau tunai.
Sambil menunggu pesanan datang, pelanggan pun bisa memainkan game di iPhone yang ditampilkan di layar meja.
Meski terkesan menghilangkan interaksi antar manusia, namun konsep ini cukup menarik untuk dicoba. Pelanggan jelas akan lebih mudah dalam menentukan seperti apa pizza yang ingin mereka nikmati, serta mempercepat proses pembayaran yang bisa diproses secara instan.
Untuk lebih jelasnya, langsung saja simak video berikut ini:
sumber : www.inilah.com

















