package com.romen.CancerAdvice;
public class search_activity extends ListActivity {
public SQLiteDatabase db;
public Cursor cursor;
public SimpleCursorAdapter Adapter=null;
public SimpleCursorAdapter Adapterseoul=null;
public SimpleCursorAdapter Adaptergyeonggi=null;
public SimpleCursorAdapter Adaptergangwon=null;
public SimpleCursorAdapter Adapterjeolla=null;
public SimpleCursorAdapter Adaptergyeongsang=null;
public static final String ROOT_DIR = "/data/data/com.romen.CancerAdvice/databases/";
ProductDBHelper mHelper;
private String searchKeyword;
public void setDB() {
File folder = new File(ROOT_DIR);
if(folder.exists()) {
}
else {
folder.mkdirs();
}
AssetManager assetManager = getResources().getAssets();
File outfile = new File(ROOT_DIR+"kmdc.db");
InputStream is = null;
FileOutputStream fo = null;
long filesize = 0;
try {
is = assetManager.open("kmdc.db", AssetManager.ACCESS_BUFFER);
filesize = is.available();
if (outfile.length() <= 0) {
byte[] tempdata = new byte[(int) filesize];
is.read(tempdata);
is.close();
outfile.createNewFile();
fo = new FileOutputStream(outfile);
fo.write(tempdata);
fo.close();
}
else
{
}
} catch (IOException e) {
Toast.makeText(this, "db이동실패", Toast.LENGTH_LONG).show();
}
}
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_activity);
EditText searchBox = (EditText) findViewById(R.id.EditText01);
try {
searchBox.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable arg0) {
// ignore
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
// ignore
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
try {
searchKeyword = s.toString();
displayList();
} catch (Exception e) {
Log.e("", e.getMessage(), e);
}
}
});
displayList();
} catch (Exception e) {
Log.e("", e.getMessage(), e);
}
}
private List<Contact> getContactsList() throws Exception {
List<Contact> contactsList = new ArrayList<Contact>();
String[] projection = new String[] { Contacts.People._ID,
Contacts.People.NAME, Contacts.People.NUMBER };
Cursor cursor = managedQuery(Contacts.People.CONTENT_URI, projection,
null, null, null);
while (cursor.moveToNext()) {
addContact(contactsList, cursor.getString(1), cursor.getString(2));
}
return contactsList;
}
private void addContact(List<Contact> contactsList, String name,
String number) throws Exception {
if (contactsList == null) {
throw new NullPointerException("contactList가 null 입니다.");
}
boolean isAdd = false;
if (searchKeyword != null && "".equals(searchKeyword.trim()) == false) {
String iniName = HangulUtils.getHangulInitialSound(name,
searchKeyword);
if (iniName.indexOf(searchKeyword) >= 0) {
isAdd = true;
}
} else {
isAdd = true;
}
if (isAdd) {
contactsList.add(new Contact(name, number));
}
}
private void displayList() throws Exception {
List<Contact> contactsList = null;
contactsList = getContactsList();
ContactsListAdapter<Contact> adapter = new ContactsListAdapter<Contact>(
this, R.layout.searchlist_row, contactsList);
setListAdapter(adapter);
}
private class ContactsListAdapter<T extends Contact> extends
ArrayAdapter<T> {
private List<T> contactsList;
public ContactsListAdapter(Context context, int textViewResourceId,
List<T> items) {
super(context, textViewResourceId, items);
contactsList = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(R.layout.searchlist_row, null);
}
T contacts = contactsList.get(position);
if (contacts != null) {
TextView viewName = (TextView) view.findViewById(R.id.toptext);
if (viewName != null) {
viewName.setText(contacts.getName());
}
TextView viewNumber = (TextView) view
.findViewById(R.id.bottomtext);
if (viewNumber != null) {
viewNumber.setText("전화번호 : " + contacts.getNumber());
}
}
return view;
}
} // TODO Auto-generated method stub
}
안드로이드 펍 게시글중 초성검색 어플을 보고 edittext에 검색어를 쓰고 listview에 뿌려주는것을 만들고싶습니다
게시글에 올라온것은 연락처를 검색할수 있게 한거였는데, 저는 assets에 있는 db를 이용해 그 db안에 있는 내용을 검색하게 하고싶습니다.
무지한 지식에 도전하려니 많이 어렵습니다. 하지만 시간이 급해 이렇게 고수님들게 문의 드립니다.
제가 가지고 있는 db를가지고 사용하려면 어떤부분을 수정해야할지 잘 모르겠습니다.
답변 부탁드립니다!!