//
archives

Android

This category contains 4 posts

Mengganti Theme Default Aplikasi pada Android


Jika Anda membuat aplikasi di Android, maka secara default aplikasi yang Anda buat akan berwarna hitam. Seperti misalkan gambar berikut:

Anda bisa mengganti theme tersebut, dengan cara:

  1. Buka file AndroidManifest.xml
  2. Buatlah kode menjadi seperti berikut:

    <activity android:name=".Main"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Light">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    

Hasilnya menjadi seperti berikut.

 

Selesai.

Terima Kasih.

Semoga Bermanfaat. J

Iklan

Membuat Marker pada Google Maps di Android


Pada tulisan sebelumnya Google Maps #1 dan Google Maps #2, telah dipaparkan bagaimana awal mula memuat Google Maps di Android. Sekarang saya akan menjelaskan cara membuat marker pada Android seperti gambar berikut.

Langkah-langkahnya sebagai berikut:

  1. Tambahkan baris kode berikut pada AndroidManifest.xml diluar tag Application

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    
  2. Buatlah main.xml menjadi:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:orientation="vertical" android:layout_width="fill_parent"
    	android:layout_height="fill_parent">
    	<com.google.android.maps.MapView
    		android:id="@+id/mapView" android:layout_width="fill_parent"
    		android:layout_height="fill_parent" android:enabled="true"
    		android:clickable="true" android:apiKey="0h8DOFp0FpPnnHBq0EZspqK9q2Kn0JwQc4v-JNQ" />
    
    	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    		android:orientation="vertical" android:layout_width="wrap_content"
    		android:layout_height="wrap_content" android:layout_alignParentBottom="true"
    		android:layout_alignParentRight="true">
    		<Button android:id="@+id/btnSatelit" android:layout_width="wrap_content"
    			android:layout_height="wrap_content" android:text="Satelit"
    			android:layout_x="258px" android:layout_y="5px" android:onClick="btnSatelitClick" />
    
    		<Button android:id="@+id/btnJalan" android:layout_width="wrap_content"
    			android:layout_height="wrap_content" android:text="Street"
    			android:layout_x="258px" android:layout_y="3px" android:onClick="btnJalanClick" />
    
    	</LinearLayout>
    </RelativeLayout>
    
  3. Isikan Main.java, sehingga kodenya seperti berikut:

    import java.util.ArrayList;
    import java.util.List;
    
    import android.graphics.Canvas;
    import android.graphics.drawable.Drawable;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.view.View;
    import android.widget.Toast;
    
    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.ItemizedOverlay;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapView;
    import com.google.android.maps.MyLocationOverlay;
    import com.google.android.maps.OverlayItem;
    
    public class Main extends MapActivity {
        /** Called when the activity is first created. */
    	private MapView mapView = null;
    	private MyLocationOverlay me = null;
    	
    	@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            mapView = (MapView) findViewById(R.id.mapView);
            mapView.setBuiltInZoomControls(true);
            
            mapView.getController().setCenter(getPoint(-6.974681,107.56531));
            mapView.getController().setZoom(17);
            
            Drawable marker = getResources().getDrawable(R.drawable.marker1);
            marker.setBounds(0,0,marker.getIntrinsicWidth(),marker.getIntrinsicHeight());
            mapView.getOverlays().add(new SitesOverlay(marker));
            
            me = new MyLocationOverlay(this, mapView);
            mapView.getOverlays().add(me);
        }
        
        protected boolean isRouteDisplayed() {
            // TODO Auto-generated method stub
            return false;
        }
        
        public void btnSatelitClick(View v){
        	mapView.setStreetView(false);
        	mapView.setSatellite(true);
        }
        
        public void btnJalanClick(View v){
        	mapView.setStreetView(true);
        	mapView.setSatellite(false);
        }
        
        public void onResume() {
        	super.onResume();
        	
        	me.enableCompass();
        }
        
        public void onPause() {
        	super.onPause();
        	
        	me.disableCompass();
        }
        
        public boolean onKeyDown(int keyCode, KeyEvent event) {
        	if(keyCode == KeyEvent.KEYCODE_S) {
        		mapView.setSatellite(!mapView.isSatellite());
        		return true;
        	} else if(keyCode == KeyEvent.KEYCODE_Z) {
        		mapView.displayZoomControls(true);
        		return true;
        	}
        	
        	return (super.onKeyDown(keyCode, event));
        }
        
        private GeoPoint getPoint(double lat, double lon) {
        	return (new GeoPoint((int)(lat*1000000.0), (int)(lon*1000000.0)));
        }
        
        private class SitesOverlay extends ItemizedOverlay<OverlayItem>{
        	private List<OverlayItem> items = new ArrayList<OverlayItem>();
        	private Drawable marker = null;
        	
        	public SitesOverlay(Drawable marker) {
        		super (marker);
        		this.marker = marker;
        		
        		items.add(new OverlayItem(getPoint(-6.974681,107.56531),"Jln. Kopo Sayati","Bandung"));
            	populate();
        	}
        	
        	
        	protected OverlayItem createItem(int i) {
            	return (items.get(i));
            }
            
            public void draw(Canvas canvas, MapView mapView, boolean shadow) {
            	super.draw(canvas,mapView,shadow);
            	
            	boundCenterBottom(marker);
            }
            
            protected boolean onTap(int i) {
            	Toast.makeText(getBaseContext(), items.get(i).getSnippet(), Toast.LENGTH_SHORT).show();
            	return true;
            }
            
            public int size() {
            	return(items.size());
            }
        }
    }
    
  4. Tambahkan gambar pada res/drawable-hdpi dengan nama marker1, atau bisa Anda cari sendiri ingin gambar/marker seperti apa.

Terima Kasih.

Happy Coding. J

Menampilkan Google Maps pada Android (bagian 2)


Setelah Anda membaca tulisan saya pada postingan sebelumnya, sekarang saya akan tunjukkan bagaimana Google Maps dapat muncul pada aplikasi Android Anda. Saya asumsikan bahwa Anda telah menginstal Android SDK, berikut Eclipse sebagai IDE untuk mengembangkan aplikasi ini. Sebelumnya silahkan Anda buat terlebih dahulu Virtual Device Android dengan Target Name “Google API – API Level 8” atau versi terbaru.

Sekarang saatnya Anda untuk:

  1. Bukalah Eclipse. Saya menggunakan Eclipse Helios SR1.
  2. Buatlah Android Project baru. Setelah selesai klik Finish.

  3. Lalu masuklah ke dalam AndroidManifest.xml. Tambahkan sedikit kode, sehingga menjadi seperti berikut:

  4. Sekarang beralih ke res/layout/main.xml. Tambahkan pula seperti berikut:

  5. Terakhir pada maps.java, buatlah kode menjadi seperti berikut:

  6. Selesai dan hasilnya kurang lebih seperti berikut.

Sebagai referensi bisa Anda lihat di Situs Developer Android.

Semoga Bermanfaat.

Happy Coding, guys! J

Menampilkan Google Maps pada Android (bagian 1)


Halo Rekan Developer, sekarang saya akan sedikit berbagi kepada kalian, khususnya rekan-rekan yang sedang mengembangkan aplikasi mobile berbasis Android. Sebenernya sih, Google Maps sudah tersedia pada handset Android. Namun, pada tulisan ini saya akan memberikan sedikit cara untuk menampilkan Google Maps pada aplikasi Android Anda yang kemudian kita bisa manfaatkan Google Maps ini untuk keperluan lain J.

Sebelum memulai “ngoding”, hal pertama yang rekan developer perlu miliki adalah Maps API Key dari Google. Caranya:

  1. Carilah file debug.keystore. File ini saya bisa ditemukan di C:\Users\<username>\.android. Jika Anda pengguna XP, carilah di C:\Documents and Settings\<username>\Local Settings\Application Data\Android.
  2. Agar lebih mudah, coba pindahkan file tersebut ke direktori yang mudah diakses. Dalam hal ini, saya pindahkan ke drive E:\.
  3. Jalankan Command Prompt. Lalu masuklah Anda ke direktori Java SDK yang dipakai oleh Android SDK.

  4. Lalu lakukanlah code berikut untuk mendapatkan MD5 Fingerprint yang kemudian akan di Generate sebagai Maps API Key Anda.

  5. Tercatat pada komputer saya Certificate Fingerprint (MD5): 4E:53:A2:76:17:EC:21:DB:AF:A0:BF:EE:E3:69:51:68. Silahkan Anda buka http://code.google.com/android/maps-api-signup.html.
  6. Setelah itu, Anda akan mendapatkan Android Maps API key. Selamat. J

Semoga Bermanfaat, guys!

%d blogger menyukai ini: