Cara Mengambil Data Dari Database atau Server Dengan Android. Usahawan-maju - Hadew,,, kemaren saya mencoba membuat passing data dan ternyata alhamdulillah lancar,, tentunya setelah utek punya utek script yang saya cari di internet. Passing data ini maksudnya adalah aplikasi kita mengambil data dari server atau hosting yang kemudian akan ditampilkan pada layar handphone kita. Jadi kita bisa memantau data-data yang di inputkan pada database cukup dengan sebuah handphone android, itu tujuan dan fungsi utamanya dari kembangan contoh pasing data yang akan saya share. Namun script ini hanya bisa jalan normal pada android 2,3 dan 2,2 untuk yang ICS saya sendiri masih menari gan hehehhehe silahkan mencoba,,, untuk pemula selamat belajar sama2 :)
ini script untuk tampilan pertama atau class activity utama yang saya namakan AndroidUtama.java :import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class AndroidUtama extends ListActivity
{
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
String[] menu = new String[] { "Tambah Data", "Tampilkan Data", "Exit" };
this.setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, menu));
}
protected void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
Object o = this.getListAdapter().getItem(position);
String pilihan = o.toString();
tampilkanPilihan(pilihan);
}
protected void tampilkanPilihan(String pilihan)
{
try {
Intent i = null;
if (pilihan.equals("Tambah Data"))
{
i = new Intent(this, MasukanData.class);
}
else if (pilihan.equals("Tampilkan Data"))
{
i = new Intent(this, Tampilkan.class);
}
else if (pilihan.equals("Exit"))
{ finish(); }
else
{
Toast.makeText(this,"Anda Memilih: " + pilihan + " , " +
"Actionnya belum dibuat", Toast.LENGTH_LONG).show();
}
startActivity(i);
}
catch (Exception e)
{ e.printStackTrace(); }
}
}
ini bagian from layar hp untuk input data anda saya namakan MasukanData.java :
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class InsertActivity extends Activity {
private EditText txtID_PERALATAN;
private EditText txtKODE_LOKASI;
private EditText txtDENDA;
private Button btnSimpan;
private String url = "http://10.0.2.2/android/tambahperalatan.php";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.tambah);
txtID_PERALATAN = (EditText) findViewById(R.id.txtID_PERALATAN_);
txtKODE_LOKASI = (EditText) findViewById(R.id.txtKODE_LOKASI);
txtDENDA = (EditText) findViewById(R.id.txtDENDA);
btnSimpan = (Button) findViewById(R.id.btnSimpan);
btnSimpan.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
try {
String id_peralatan = URLEncoder.encode(txtID_PERALATAN.getText()
.toString(), "utf-8");
String kode_lokasi = URLEncoder.encode(txtKODE_LOKASI.getText()
.toString(), "utf-8");
String denda = URLEncoder.encode(txtDENDA.getText()
.toString(), "utf-8");
url += "?id_peralatan=" + id_peralatan + "&kode_lokasi=" + kode_lokasi +
"&denda=" + denda;
getRequest(url);
}
catch (UnsupportedEncodingException e)
{ e.printStackTrace(); }
}
});
}
public void getRequest(String Url)
{
Toast.makeText(this, "Tambah Data " + Url + " ", Toast.LENGTH_SHORT)
.show();
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
try
{
HttpResponse response = client.execute(request);
Toast.makeText(this, "Tambah Data " + request(response) + " ",
Toast.LENGTH_SHORT).show();
}
catch (Exception ex)
{
Toast.makeText(this, "Tambah Data Gagal !", Toast.LENGTH_SHORT)
.show();
}
}
public static String request(HttpResponse response)
{
String result = "";
try {
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{ str.append(line + "\n");
}
in.close();
result = str.toString();
}
catch (Exception ex)
{ result = "Error"; }
return result;
}
}
ini bagian from layar hp untuk menampilakan data dari database anda yang saya namakan Tampilkan.java :
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class PHPActivity extends Activity {
private JSONObject jObject;
private String xResult ="";
private String url = "http://10.0.2.2/android/tampilkan_data_peralatan_lain.php";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.daftarperalatan);
TextView txtResult = (TextView)findViewById(R.id.TextViewResult);
xResult = getRequest(url);
try {
parse(txtResult);
} catch (Exception e)
{
e.printStackTrace();
}
}
private void parse(TextView txtResult) throws Exception
{
jObject = new JSONObject(xResult);
JSONArray menuitemArray = jObject.getJSONArray("peralatan");
String sret="";
for (int i = 0; i < menuitemArray.length(); i++)
{
sret +=menuitemArray.getJSONObject(i).getString("id_peralatan").toString()+" : ";
System.out.println(menuitemArray.getJSONObject(i).getString("id_peralatan").toString());
sret +=menuitemArray.getJSONObject(i).getString("kode_lokasi").toString()+" : ";
System.out.println(menuitemArray.getJSONObject(i).getString("kode_lokasi").toString());
sret +=menuitemArray.getJSONObject(i).getString("denda").toString()+" \n";
System.out.println(menuitemArray.getJSONObject(i).getString("denda").toString());
}
txtResult.setText(sret);
}
public String getRequest(String Url)
{
String sret="";
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(Url);
try {
HttpResponse response = client.execute(request);
sret =request(response);
}catch(Exception ex)
{
Toast.makeText(this,"Gagal Coy"+sret, Toast.LENGTH_SHORT).show();
}
return sret;
}
public static String request(HttpResponse response)
{
String result = "";
try {
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
str.append(line + "\n");
}
in.close();
result = str.toString();
}
catch(Exception ex)
{
result = "Error";
}
return result;
}
}
untuk tampilan atau XML nya silakan bikin seperti ini :
saya kasih nama daftarperalatan.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="Ambil Dari Data Server" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="Daftar Peralatan" />
<TextView android:layout_width="fill_parent" android:id="@+id/TextViewResult"
android:layout_height="wrap_content" android:text="Hasil" />
</LinearLayout>
dan untuk form input data saya design seperti ini :
saya kasih nama tambah.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="ID_PERALATAN:" android:id="@+id/TextView01"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<EditText android:text="" android:id="@+id/txtID_PERALATAN:"
android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<TextView android:text="KODE_LOKASI:" android:id="@+id/TextView02"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<EditText android:text="" android:id="@+id/txtKODE_LOKASI"
android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<TextView android:text="DENDA :" android:id="@+id/TextView02"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
<EditText android:text="" android:id="@+id/txtDENDA"
android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
<Button android:text="Simpan" android:id="@+id/btnSimpan"
android:layout_width="fill_parent" android:layout_height="wrap_content"></Button>
</LinearLayout>
jangan lupa berikan permission pada manifest layout nya gan,,,
<uses-permission android:name="android.permission.INTERNET">
Ini baru pembuatan pada tampilan android kita dan masih ada kelanjutanya untuk membuat aplikasi ini. yaitu bikin databasenya sebagai penampung data dan script PHP, Json, dan Query language untuk jembatan dari data yang kita kelola,,, Silahkan Klik disini