Skip to main content

Cara Membuat Spinner Android dengan Database MySQL


Lanjut lagi ke bagian tutorial Android, kali ini saya ingin share sedikit tentang bagaimana caranya membuat Spinner dari database MySQL. Artikel ini lanjutan dari artikel sebelumya yaitu Membuat Listview dari Database PhpMyAdmin di Android.

Sebenarnya bisa dibilang codingan/post ini melanjutkan postingan saya yang kemaren-kemaren yaitu Cara Membuat UUD'45 Dengan Android, jadi sekarang pada tutorial/post ini saya menambahkan sebuah spinner ke project tersebut. 
Kan di kamus itu ada dibuat masukkan nomor nya dan disini saya buat jadi spinner yang datanya di ambil dari database MySQL. Dengan tujuan supaya kita/user tidak perlu repot-repot mengetikkan nomor Undang-Undang yang ingin kita lihat. Jadi tinggal klik spinnernya dan akan muncul nomor Undang-Undang yang ada pada database kita.

UUD 1945
Okelah langsung kita mulai. Langkah pertama yang harus kita lakukan adalah membuat database MySQLnya. Disini saya buat database dengan nama 'test' kemudian buat tabel dengan nama 'form' yang fieldnya cuma 'id (int)'.

Tampilan phpMyAdmin
Setelah itu kita buat folder baru di folder xampp dengan nama NIEL trus di dalam inilah kita buat file PHP yang menangani koneksi ke MySQL.
File yang pertama kita buat adalah koneksi.php, file ini berfungsi untuk menangani koneksi ke database MySQL. 
koneksi.php
Selanjutnya kita buat file service.php, file ini berfungsi untuk mengambil data dari database tadi.

service.php
Selanjutnya kita ke beralih ke file Android. Sekarang kita perbaharui file xmlnya. EditText nya kita ganti menjadi Spinner.

main.xml yang baru
Setelah itu kita update file showKamus.java nya. Dimana disini saya menambahkan method baru yaitu fetch() yang menangani pengambilan data dari database melalui file PHP tadi. Full projectnya dapat di download disini.. Cara Membuat Spinner Android  dengan Database MySQL

package com.Booting;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

public class showKamus extends Activity {
    private SQLiteDatabase db = null;
    private Cursor kamusCursor = null;   
    private Spinner txtInggris;
    private TextView txtIndonesia;
    private DataKamus datakamus = null;
    public static final String INDONESIA = "indonesia";
    public static final String INGGRIS = "inggris";
	
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        datakamus = new DataKamus(this);
        db = datakamus.getWritableDatabase();
        datakamus.createTable(db);
        datakamus.generateData(db);
        
        setContentView(R.layout.main);
        txtInggris = (Spinner) findViewById(R.id.txtInggris);
        txtIndonesia = (TextView) findViewById(R.id.txtIndonesia);
        
        fetch();
    }
    
    public void getTerjemahan(View view) {
    	String result= "";
    	
    	String englishword = txtInggris.getSelectedItem().toString();
    	kamusCursor = db.rawQuery("SELECT ID, NO, ISI " + "FROM kamus where NO = '" + englishword + "'ORDER BY NO", null); 
    
    	// TODO Membaca data dari kamusCursor dan menampungnya di result
    	// TODO Membaca string di index 2 yaitu bahasa inggris
    	if (kamusCursor.moveToFirst()) {
    		result = kamusCursor.getString(2);
    		for (;!kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
    			result = kamusCursor.getString(2);
			}
    	}
    	
    	// TODO Menampilkan not found jika data tidak sesuai atau tidak ada di database
    	if (result.equals("")) {
    		result = "Terjemahan Not Found";
    	}
    	
    	// TODO Menampilkan datanya setelah ditampung
    	txtIndonesia.setText(result);
    }
    
    @Override
    public void onDestroy() {
    	super.onDestroy();
    	kamusCursor.close();
    	db.close();
    }
    
    public void fetch() {					
		String url = Referensi.url+"/service.php?ct=SEL_nama";
		HttpClient httpclient = new DefaultHttpClient();
		HttpRequestBase httpRequest = null;
		HttpResponse httpResponse = null;
		InputStream inputStream = null;
		String response = "";
		StringBuffer buffer = new StringBuffer();
		httpRequest = new HttpGet(url);
		try {
			httpResponse = httpclient.execute(httpRequest);
		} catch (ClientProtocolException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		
		try {
			inputStream = httpResponse.getEntity().getContent();
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}			
		
		byte[] data = new byte[512];
		int len = 0;
		
		try {
			while (-1 != (len = inputStream.read(data)) ) {
				buffer.append(new String(data, 0, len));
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		try {
			inputStream.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		response = buffer.toString();
		StringParser parser = new StringParser();		
		ArrayList output = parser.Parse(response);
		Object[] Output = output.toArray();
		String[] content = new String[Output.length];
		
		for (int i=0;i adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, content);
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);                   
		txtInggris.setAdapter(adapter);
	}
}

Sumber : http://www.booting09.com

Comments

  1. mau tanya..
    String url = Referensi.url+"/service.php?ct=SEL_nama";

    "Referensi" itu dapat darimana ya?
    Terimakasih

    ReplyDelete

Post a Comment

Popular posts from this blog

Cara Mengatasi Masalah System Doesn't Permit To Flash BIOS

Pernah mengalami hal seperti ini ? Berarti Kita Sama... :D tapi jangan cemas, masalah bukan berasal dari mainboar agan2 sekalian... beberapa hari yang lalu temen ane dengan laptop Asus x43u, datang bawa masalah kaya gini, pertama ane kira batre biosnya yang udah suak, terus ane bongkar dah tu laptop, sudah capek bongkar ternya tidak salah duga, bukan batrenya yang suak, ringkas cerita ane mulai pusing ngak tau mau ngomong apa sama temen ane udah jauh jauh datang masa nga ada hasil, ane sebagai alumnus IT meskipun konsentrasinya bukan perangkat keras tapi kan malu kalau masalah seperti ini ngak sanggup pecahin, trus ane pasang lagi tu laptop, sebelum ane pasang keyboard ane coba idupin tu laptop eh kok langsung bisa booting dengan normal, ternyata masalahnya ada di keyboard, untuk agan agan atau temen temen yang punya masalah seperti yang ane dapet, coba buka keyboard laptop agan yang bermasalah tersebut, kalau dalam keadaan tanpa keyboard laptop agan bisa berfungsi normal lag

Download Gratis Topaz Labs Terbaru + Crack + Serial Number

Topaz Photoshop Plugins Bundle 32 bit dan 64 bit Rilisan 05-10-2010 Sudah termasuk Topaz Adjust 4.1.0,Topaz Simplify 3.0.2 ,Topaz Detail 2.0.5,Topaz DeNoise 5.0.1,Topaz ReMask 2.0.5 ,Topaz Clean 3.0.2 ,Topaz DeJPEG 4.0.2 . Membuat Eksposur Foto anda, detail, dan Sesuaikan warna pop dengan Topaz Adjust Membuat Berbagai efek yang menakjubkan seni painterly dengan Topaz Simplify Dapatkan Halo-dan artifact-free detail enhancements dengan Topaz Detail Hilangkan Noise tapi tetap menjaga detail dengan Topaz DeNoise Cepat dan efisien masker dan ekstrak foto dengan Topaz ReMask Membuat Foto halus atau portrait smoothing dan stylized edges dengan Topaz Clean Memperbaiki JPEG yang pecah pecah dan mengoptimalkan Gambar atau foto web dengan Topaz DeJPEG Compatibility Windows Requires Windows XP, Windows Vista, or Windows 7 (32-bit and 64-bit) Requires at least 1GB RAM, preferably more. Compatible with Adobe Photoshop CS3-CS5 (32-bit and 64-bit), Adobe Photoshop Elements 6-

Cara Edit Template Login Hotspot Mikrotik

Cara Mengganti Halaman Login Hotspot Mikrotik  - Bagi anda yang sudah membuat Hotspot di Mikrotik nya pastinya tau kan gimana tampilan halaman login default Mikrotik nya. Tampilannya simple dan cenderung membosankan. Nah, sebenarnya  Halaman Login Hotspot Mikrotik  dapat kita edit, modifikasi, dan ganti sesuai keinginan kita loh. Jadi halaman login default Mikrotik yang simple itu bisa kita buat jadi keren abis. Gimana caranya? Gampang kok, konsepnya hampir sama kaya bikin web sederhana. Jadi anda paling tidak harus ngerti bahasa HTML sedikit-sedikit, dan sedikit sentuhan desain tentunya. Oke, sebelum mulai  Belajar Mikrotik  kali ini persiapkan dulu senjatanya : > HTML editor : Dreamweaver, Notepad++, dll > Picture editor : CorelDraw, Photoshop, dll Pastikan  Hotspot Mikrotik  anda sudah jalan, coba akses halaman login hotspot anda di Browser. Buka Winbox, masuk ke menu Files. Semua file halaman login hotspot ada di folder hotspot. Agar bisa mengedit