Friday, November 9, 2012

Membuat form penjualan aplikasi android

Pada posting Costum menu untuk list outlet kita mendapatkann menu untuk Cek stock, Penjualan, Penagihan, Batal Call, Gagal Call dan Selesai...

Pada form tersebut, diantara semua menunya yang berfungsi adalah menu Penjualan, Batal Call, Gagal Call, dan selesai... Untuk menu Cek Stock, Penagihan serta Retur ane simpan untuk aplikasi versi pro :p... Sekarang yang mau kita buat adalah form lanjutan apabila Penjualan di click...



Buat tampilan nya seperti ini :




Bagaimana caranya? copas aja dah coding berikut :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
   
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
       
        <TextView
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:text="KODE OUTLET :"
            />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="KODE OUTLET"
            android:id="@+id/fp_kode_outlet"
            />
       
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
       
        <TextView
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:text="NAMA BARANG :"
            />
        <EditText
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="KODE BARANG"
            android:singleLine="true"
            android:inputType="text"
            android:id="@+id/fp_nama_barang"
            />
       
    </LinearLayout>
      
            <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
       
        <TextView
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:text="CASH :"
            />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="1"
            android:inputType="number"
            android:id="@+id/fp_cash"
            />
    </LinearLayout>
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="PREVIEW PENJUALAN"
        android:id="@+id/fp_preview_jual"
        />
   
    <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/fp_list_barang"
        ></ListView>
   
</LinearLayout>


Beri nama form_penjualan.xml
Kemudian juga bikin form view_penjualan.xml dengan code :

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
  
    <TableRow>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="KODE BARANG :"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/vp_kode_barang"
        android:text="KODE BARANG"
        />
  
    </TableRow>
  
    <TableRow>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="NAMA BARANG :"
        />
      
        <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/vp_nama_barang"
        android:text="NAMA BARANG"
        />
  
    </TableRow>
  
    <TableRow>
      
        <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="SATUAN BARANG :"
        />
      
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/vp_satuan_barang"
        android:text="SATUAN BARANG"
        />
  
    </TableRow>
  
    <TableRow>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="HARGA BARANG :"
        />
      
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/vp_harga_barang"
        android:text="HARGA BARANG"
        />
    </TableRow>
</TableLayout>
 Ntar liat ndiri lah gmana tampilannya... capek juga sih kalo mesti di screenshot smuanya... hehehehe

Kemudian untuk coding programnya sebagai berikut :
package com.esa.demo;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;



public class C_form_penjualan extends Activity{
mySqlHelper dbHelper;
protected Cursor cursor;
protected ListAdapter adapter;

   
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.form_penjualan);
       
        final TextView fp_kode_outlet = (TextView) findViewById(R.id.fp_kode_outlet);
        EditText fp_nama_barang = (EditText) findViewById(R.id.fp_nama_barang);
        final TextView fp_cash = (TextView) findViewById(R.id.fp_cash);
        ListView fp_list_barang = (ListView) findViewById(R.id.fp_list_barang);

        Intent myIntent = this.getIntent();
        fp_kode_outlet.setText(myIntent.getStringExtra("xkode_outlet"));
        fp_nama_barang.setText("");
        fp_cash.setText("1");
       
        fp_nama_barang.addTextChangedListener(new TextWatcher() {
           
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
            method_view_penjualan();   
            }
           
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub
                method_view_penjualan();
            }
           
            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                method_view_penjualan();
            }
        });
       
       
        dbHelper = new mySqlHelper(this);
        fp_list_barang.setSelected(true);       
        fp_list_barang.setOnItemClickListener(new OnItemClickListener()
        {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3)
            {
                // TODO Auto-generated method stub
                method_view_penjualan();
                cursor.moveToPosition(arg2);
               
                final Dialog dialog = new Dialog(C_form_penjualan.this);
                dialog.setContentView(R.layout.cm_penjualan);
                dialog.setTitle("EndqR Sales Admin");
                dialog.setCancelable(true);
                dialog.show();
               
                final EditText cmp_jumlah = (EditText) dialog.findViewById(R.id.cmp_jumlah);
                final EditText cmp_diskon = (EditText) dialog.findViewById(R.id.cmp_diskon);
                final EditText cmp_diskon_program = (EditText) dialog.findViewById(R.id.cmp_diskon_program);
               
                final TextView cmp_kode_outlet = (TextView) dialog.findViewById(R.id.cmp_kode_outlet);
                final TextView cmp_kode_barang = (TextView) dialog.findViewById(R.id.cmp_kode_barang);
               
                cmp_kode_outlet.setText(fp_kode_outlet.getText().toString());
                cmp_kode_barang.setText(cursor.getString(1));
                cmp_jumlah.setText("");
                cmp_diskon.setText("");
                cmp_diskon_program.setText("");
               
                Button cmp_simpan_jual = (Button) dialog.findViewById(R.id.cmp_simpan_jual);
                cmp_simpan_jual.setOnClickListener(new OnClickListener() {
                   
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub

                        simpan_jual(cmp_kode_outlet.getText().toString(), cmp_kode_barang.getText().toString(), cmp_jumlah.getText().toString(), cmp_diskon.getText().toString(), cmp_diskon_program.getText().toString());
                        dialog.dismiss();
                    }
                });
               
            }
        });
       
        Button fp_preview_jual = (Button) findViewById(R.id.fp_preview_jual);
        fp_preview_jual.setOnClickListener(new OnClickListener() {
           
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent myIntent =new Intent(C_form_penjualan.this, C_preview_penjualan.class);
                myIntent.putExtra("xkode_outlet", fp_kode_outlet.getText().toString());
                startActivity(myIntent);
            }
        });
       
        method_view_penjualan();
    }
    public void method_view_penjualan() {
        EditText fp_nama_barang = (EditText) findViewById(R.id.fp_nama_barang);
        ListView fp_list_barang = (ListView) findViewById(R.id.fp_list_barang);
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        try{
           
            cursor = db.rawQuery("SELECT * FROM t_barang where nama_barang like '%"+fp_nama_barang.getText().toString()+"%' ORDER BY nama_barang", null);
            adapter = new SimpleCursorAdapter(
                    this,
                    R.layout.view_penjualan,
                    cursor,
                    new String[] {"kode_barang","nama_barang","satuan_barang","harga_barang"},
                    new int[] {R.id.vp_kode_barang, R.id.vp_nama_barang, R.id.vp_satuan_barang, R.id.vp_harga_barang});
            fp_list_barang.setAdapter(adapter);
            }
        catch(Exception e)
        {
            Log.e("error", e.toString());
        }   

    }
   
    public void simpan_jual(String kode_outlet, String kode_barang, String jumlah, String diskon, String diskon_program) {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        try{
            db.execSQL("INSERT INTO t_jual(kode_outlet, kode_barang, jumlah, diskon, diskon_program) VALUES('"+kode_outlet+"','"+kode_barang+"','"+jumlah+"','"+diskon+"','"+diskon_program+"')");
        }catch(Exception e){
            Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
        }
    }

    public boolean onCreateOptionsMenu(Menu menu){
        menu.add(0,1,0,"Tambah Barang");
        menu.add(0,2,0,"Keluar");
        return true;
    }
   
    public boolean onOptionsItemSelected(MenuItem item){
        switch (item.getItemId()) {
        case 1:
            tambah();
            return true;
           
        case 2:
            finish();
            return true;
        }
        return false;
    }
   
    public void tambah(){
        Intent myIntent =new Intent(C_form_penjualan.this, C_form_tambah_barang.class);                   
        startActivity(myIntent);

    }

}
 Oke... siap untuk melakukan debuging lagi... silahkan comment bila ada pertanyaan serta masukan biar suasana menjadi semakin hidup...

dan terakhir, jangan lupa ama iklannya :)

11 comments:

  1. gan share ilmunya bikin gis pke eclipse donk..

    ReplyDelete
    Replies
    1. Insya ALLAH tutorial ini juga akan mengikutsertakan ttg bagaimana cara menentukan posisi dari GPS... semoga dalam waktu dekat ini bisa segera ane tuntaskan...

      Mohon sabar ya gan :)

      Delete
  2. mas...., kl misalnya aplikasi tersebut mau dikonekin ke aplikasi ERP berbasis Web Base dengan menggunakan PostgreSQL caranya gmn ?

    thanks

    ReplyDelete
    Replies
    1. PHP dari android adalah posting ane juga di kaskus yang berisikan koding untuk menggabung php dan android yang intinya adalah gmana mengirim variable dari android ke PHP...

      Untuk PostgreSQL, jujur aja ane belum pernah menggunakan... Silahkan agan kembangkan sendiri...

      Salam android dari padang :)

      Delete
  3. layout cm_penjualan nya mana gan ?

    ReplyDelete
  4. bro klo buat aplikasi penjualan gmn ya bro? yang bisa dengan scaner barcede nya kita tahu harga barangnya.... mohon pencerahan

    ReplyDelete
  5. bro klo buat program penjualan scaner barcode bagimana caranya ya? mohon pencerahannya..

    ReplyDelete
  6. cacat post boleh kopas

    ReplyDelete
  7. salam sukses, saya masih awam soal pembuatan aplikasi di android.. tolong penjelasannya pak... trimakasih

    ReplyDelete
  8. kalau buat program SPBU gimana seperti harga bensin, inputannya gimana, mohon pencerahannya, kirim email ke teguh29cong@gmail.com . terima kasih

    ReplyDelete

iklan melayang