Tampilkan postingan dengan label cursor adapter. Tampilkan semua postingan
Tampilkan postingan dengan label cursor adapter. Tampilkan semua postingan

Januari 31, 2013

autocomplete


autocomplete adalah fitur yang bagus di android bahkan sangat bagus
kita bisa menemukan sesuatu dengan cepat



package com.dokuku.pos;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FilterQueryProvider;
import android.widget.Filterable;
import android.widget.TextView;

public class AutoCompleteCursorAd extends CursorAdapter implements Filterable{

String[] projection = { "nama", "harga", "kode", "_id" };
ContentResolver content;

part1 @Override
public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
FilterQueryProvider filter = getFilterQueryProvider();
if(filter!=null){
return filter.runQuery(constraint);
}
Uri url = Uri.parse("content://com.dokuku.products.contentprovider/products/filter");
Uri uri = Uri.withAppendedPath(url,Uri.encode(constraint.toString()));
return content.query(uri, projection, null, null, null);
}

part2 @SuppressWarnings("deprecation")
public AutoCompleteCursorAd(Context context, Cursor c) {
super(context, c);
content = context.getContentResolver();
}

part3 @Override
public void bindView(View view, Context context, Cursor cursor) {
((TextView)view).setText(cursor.getString(cursor.getColumnIndex("nama")));
view.setTag(cursor.getString(cursor.getColumnIndex("_id")));


}

part4 @Override
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
LayoutInflater inflater = LayoutInflater.from(arg0);

TextView view = (TextView)inflater.inflate(android.R.layout.simple_dropdown_item_1line,arg2,false);
view.setText(arg1.getString(arg1.getColumnIndex("nama")));
return view;
}

part5 @Override
public CharSequence convertToString(Cursor cursor) {
return cursor.getString(cursor.getColumnIndex("nama"));
}

}

part 1 digunakan untuk menemukan filter berdasarkan text yang diketikkan
dibagian part 3 ada settag digunakan untuk mengambil data, part5 digunakan untuk mengubah cursor menjadi string part 2-4 udah dijelaskan di source code kemarin

Januari 28, 2013

custom cursor adapter

membuat custom cursor adapter  sebenernya kita bisa menggunakan simple cursor adapter cuman kelemahan simple cursor adapter adalah kita tak bisa membuat harga mengikuti locale seting sebuah negara
ok ini dia cara membuatnya

public class MyCursorAdapter extends CursorAdapter {

/*part 1*/ @SuppressWarnings("deprecation")
public MyCursorAdapter(Context context, Cursor c) {
super(context, c);
}

/*part 2*/ @Override
 public void bindView(View view, Context context, Cursor cursor) {
TextView nama_produk = (TextView)view.findViewById(R.id.nama_produk);
TextView harga =(TextView)view.findViewById(R.id.harga_prod);
nama_produk.setText(cursor.getString(cursor.getColumnIndex("nama")));
harga.setText(NumberFormat.getInstance().format(cursor.getDouble(cursor.getColumnIndex("harga"))));
}

/* part 3 */ @Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.row_custom,parent,false);
bindView(v,context,cursor);
return v;
}

}
part 1 adalah sebuah constructor
part 2 adalah bindView ini digunakan untuk mengcustom dari view untuk memasukan nilai dari sebuah view
part 3 adalah layoutnya

mencoba menggunakan zram di raspberry pi

saya beberapa hari yang lalu mencoba mengaktifkan zram untuk membuat cadangan jika ram udah hampir penuh untuk dipindah ke zram, sejauh ini...