Customer.java
CustomerListAdapter.java
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckedTextView;
import android.widget.TextView;
ArrayList<Customer> cust;
Context context;
@Override
@Override
@Override
public long getItemId(int position)
{
return position;
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
View vi = convertView;
if (null == convertView)
{
LayoutInflater infalInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vi = infalInflater.inflate(R.layout.listitem, null);
holder = new ViewHolder();
holder.nameView = (CheckedTextView) vi.findViewById(R.id.txt_name);
holder.idView = (TextView) vi.findViewById(R.id.txt_id);
vi.setTag(holder);
}
else
holder = (ViewHolder) vi.getTag();
holder.nameView.setText(txtName);
holder.nameView.setChecked(check);
holder.idView.setText(txtId);
return vi;
}
}
cust.removeAll(completedTasks);
notifyDataSetChanged();
return completedIds.toArray(new Long[]{});
return newCust;
CustomerSQLHelper.java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
createTable(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
DatabaseApps.java
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
ArrayList<Customer> currentData;
SQLiteDatabase database;
CustomerListAdapter adapter;
ListView list;
CustomerSQLHelper helper;
Customer cust;
TextView txtTitle;
Utils util;
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
database = helper.getWritableDatabase();
currentData = util.loadData();
list.setAdapter(adapter);
list.setEmptyView(findViewById(R.id.list_empty));
list.setOnItemClickListener(new OnItemClickListener()
{
adapter.toggleDataCompleteAtPosition(position);
});
list.setOnItemLongClickListener(new OnItemLongClickListener()
{
util.onShowData(c, DatabaseApps.this);
return false;
}
});
onButtonClick();
@Override
adapter.forceReload();
// -----------------------------------------------
btnAdd.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
onCreateWidgetData(1, new Customer());
});
btnUpdate.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
onCreateWidgetData(2, adapter.getCheckedCustomer());
}
});
btnDelete.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
onDeleteData();
});
btnExit.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
finish();
android.os.Process.killProcess(android.os.Process.myPid());
});
switch(param)
{
// add data new
case 1:
widgetAdd();
break;
widgetUpdate(getCust);
break;
txtTitle.setText("Add Data");
btnSubmit.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
dtName = (EditText) findViewById(R.id.data_name);
if (dtName.getText().length()<1
|| dtAddress.getText().length()<1
|| dtPhone.getText().length()<1)
{
Toast.makeText(DatabaseApps.this, "Check your input...",
Toast.LENGTH_SHORT);
else
{
cust = new Customer();
cust.setName(dtName.getText().toString());
cust.setAddress(dtAddress.getText().toString());
cust.setPhone(dtPhone.getText().toString());
cust.setComplete(false);
util.onSaveData(cust);
onCancel();
}
}
});
btnCancel.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
onCancel();
}
});
}
public void widgetUpdate(final Customer getCust)
{
setContentView(R.layout.inputdata);
txtTitle = (TextView) findViewById(R.id.txt_title);
txtTitle.setText("Update Data");
dtName = (EditText) findViewById(R.id.data_name);
dtName.setText(getCust.getName());
dtAddress = (EditText) findViewById(R.id.data_address);
dtAddress.setText(getCust.getAddress());
dtPhone = (EditText) findViewById(R.id.data_phone);
dtPhone.setText(getCust.getPhone());
btnSubmit = (Button) findViewById(R.id.submit_button);
btnSubmit.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
dtName = (EditText) findViewById(R.id.data_name);
if (dtName.getText().length()<1
|| dtAddress.getText().length()<1
|| dtPhone.getText().length()<1)
{
Toast.makeText(DatabaseApps.this, "Check your input...",
Toast.LENGTH_SHORT);
}
else
{
getCust.setName(dtName.getText().toString());
getCust.setAddress(dtAddress.getText().toString());
getCust.setPhone(dtPhone.getText().toString());
util.onUpdateData(getCust);
onCancel();
}
}
});
btnCancel.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
onCancel();
}
});
}
deleteData(ids);
}
@SuppressWarnings("static-access")
public void deleteData(Long[] ids)
{
StringBuffer idList = new StringBuffer();
if (i < ids.length -1 )
{
idList.append(",");
}
public void onCancel()
{
Intent newIntent = new Intent().setClass(DatabaseApps.this,
DatabaseApps.class);
startActivity(newIntent);
finish();
}
}
Utils.java
import java.util.ArrayList;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
@SuppressWarnings("static-access")
public ArrayList<Customer> loadData() {
ArrayList<Customer> currentData = new ArrayList<Customer>();
Cursor dataCursor = database.query(helper.TASKS_TABLE,
new String[] {helper.TASK_ID, helper.TASK_NAME,
helper.TASK_ADDRESS,
helper.TASK_PHONE, helper.TASK_COMPLETE},
null, null, null, null,
String.format("%s, %s", helper.TASK_COMPLETE,
helper.TASK_NAME));
dataCursor.moveToFirst(); Customer t;
if ( !dataCursor.isAfterLast() ) {
do {
int id = dataCursor.getInt(0);
String name = dataCursor.getString(1); String addr =
dataCursor.getString(2);
String phon = dataCursor.getString(3); String boolValue =
dataCursor.getString(4);
boolean complete = Boolean.parseBoolean(boolValue);
@SuppressWarnings("static-access")
public void onSaveData(Customer getCust) {
assert (null != getCust);
@SuppressWarnings("static-access")
public void onUpdateData(Customer getCust) {
assert (null != getCust);
long id = getCust.getId();
String where = String.format("%s = %d", helper.TASK_ID, id);
database.update(helper.TASKS_TABLE, values, where, null);
}
AlertDialog alert;
public void onShowData(Customer cust, Context ctx) {
final Customer thisCust = cust;
inputdata.xml
listitem.java
<CheckedTextView android:id="@+id/txt_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="Name Customer"
android:checkMark="?android:attr/listChoiceIndicatorMultiple" />
<TextView android:id="@+id/txt_id"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:visibility="gone" />
</LinearLayout>
listview.xml