aplikasi penjualan
Pertama-tama siapkan database dan tabel untuk m-resto kita.
create databases m-resto; use m-resto; CREATE TABLE `kategori` ( `id` int(6) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8_unicode_ci NOT NULL, `contains` int(6) NOT NULL, PRIMARY KEY (`id`) );
*note : untuk part 1 ini kita fokuskan hanya satu tabel saja…intinya ntar kita akan meload kategori apa yang disajikan.
kalau anda tidak terbiasa dengan sintaks sql…silahkan buat dengan visual phpmyadmin or sqlyog, mysqlfront atau soft visual database mysql lainnya.
Untuk kategori produks dalam restoran kita misalkan Makanan,Minuman dan snack..masukkan data-data tersebut dengan perintah berikut :
insert into `kategori`(`id`,`name`,`contains`) values (1,'Makanan',3),(2,'Minuman',4),(3,'Snack',4);
seperti yang disampaikan.. untuk kali ini kita akan menampilkan jenis kategori produks resto kita dalam bentuk spinner.. buatlah desain layout xml kita seperti gambar berikut :
note : gunakan teknik visual alias drag en drop apabila anda tidak hapal betul dengan codingan.
berikut adalah codingan utk desain main.xml gambar diatas.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout android:id="@+id/AbsoluteLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="28dp"
android:layout_y="10dp"
android:text="SELAMAT DATANG DI M-RESTO" />
<Spinner
android:id="@+id/Spinner01"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:layout_x="33dp"
android:layout_y="80dp" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="37dp"
android:layout_y="55dp"
android:text="SILAHKAN PILIH KATEGORI" />
</AbsoluteLayout>
kita memerlukan 2 file java sebagai berikut :
GetData.java
package wilis.resto;
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.widget.ArrayAdapter;
import android.widget.Spinner;
public class GetData extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
fetch();
}
public void fetch()
{
http://10.0.2.2/m-resto/resto.php?ct=SEL_kategori";
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<Object> output = parser.Parse(response);
Object[] Output = output.toArray();
String[] content = new String[Output.length];
for (int i=0;i<content.length;i++)
{
content[i] = Output[i].toString();
}
Spinner spinner = (Spinner)findViewById(R.id.Spinner01);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, content);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
}
}
StringParser.java
package wilis.resto;
import java.util.ArrayList;
public class StringParser
{
public StringParser()
{
}
public ArrayList<Object> Parse(String input)
{
ArrayList<Object> output = new ArrayList<Object>();
int pointer = 0;
String data = "";
while (pointer <= input.length()-1)
{
if (input.charAt(pointer) == '#')
{
output.add(data);
data = "";
pointer++;
}
if (pointer < input.length())
{
data+= input.charAt(pointer);
}
pointer++;
}
return output;
}
}
Jangan lupa menambahkan permission INTERNET di file Manifestnya seperti berikut
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wilis.resto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".GetData" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
sedangkan file php resto.php adalah seperti berikut :
<!--?php <br ?-->
$db_host = "localhost";
$db_name = "m-resto";
$db_user = "root";
$db_password = "";
extract($_REQUEST, EXTR_OVERWRITE);
mysql_connect($db_host, $db_user, $db_password) or die ("fail connect.");
mysql_select_db($db_name);
if ($ct == "SEL_Kategori") {
$sqlSEL = " SELECT * FROM kategori ";
$hasil = mysql_query($sqlSEL);
$kirim = "";
while ($data = mysql_fetch_array($hasil))
{
$id = stripslashes($data[id]);
$nama= stripslashes($data[name]);
$jml = stripslashes($data[contains]);
$kirim .= $id. "." .$nama . "#";
}
echo $kirim;
}
// proc lainnya...
// ??
Komentar
Posting Komentar