سلام دوستان
من با استفاده از اموزش اقای ادیبی در سایت سورس باران این لینک یک کتاب اندرویدی ساختم ولی متاسفانه وقتی حجم دیتابیس زیاد میشه و مطالب بالا میره برنامه هنگ میکنه و مخصوصا قسمت جستجو به کلی کار نمینه مشکل رو باید چجوری حل کنم لطفا اگر کسی از دوستان میتونه کمک کنه چون حسابی کلافم کرده با تشکر از همتون
سورس :
من با استفاده از اموزش اقای ادیبی در سایت سورس باران این لینک یک کتاب اندرویدی ساختم ولی متاسفانه وقتی حجم دیتابیس زیاد میشه و مطالب بالا میره برنامه هنگ میکنه و مخصوصا قسمت جستجو به کلی کار نمینه مشکل رو باید چجوری حل کنم لطفا اگر کسی از دوستان میتونه کمک کنه چون حسابی کلافم کرده با تشکر از همتون
سورس :
کد پیاچپی:
package com.amin.app.book;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
public class search extends ListActivity {
private database db;
private String[] Name;
private String[] Tedad;
private String[] season;
private String[] cpage;
private String[] page;
private EditText edt_searchbox;
private RadioButton rdo_search_name;
private RadioButton rdo_search_text;
private TextView status;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
db=new database(this);
edt_searchbox = (EditText) findViewById(R.id.edt_searchbox);
rdo_search_name = (RadioButton) findViewById(R.id.rdo_search_name);
rdo_search_text = (RadioButton) findViewById(R.id.rdo_search_text);
status = (TextView) findViewById(R.id.txt_status);
refresh(edt_searchbox.getText().toString(), "name");
edt_searchbox.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
if(rdo_search_name.isChecked()){
refresh(edt_searchbox.getText().toString(), "name");
}
else if (rdo_search_text.isChecked()) {
refresh(edt_searchbox.getText().toString(), "text");
}
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent i=new Intent(search.this,matn_asli_dastan.class);
i.putExtra("season", season[position]);
i.putExtra("name",Name[position]);
i.putExtra("page", cpage[position]);
search.this.startActivity(i);
}
class AA extends ArrayAdapter<String>{
public AA(){
super(search.this,R.layout.raw_seasone,Name);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater in=getLayoutInflater();
View row=in.inflate(R.layout.raw_seasone, parent,false);
//----------------------------------------------------------
TextView name=(TextView) row.findViewById(R.id.name_season);
TextView r=(TextView) row.findViewById(R.id.teedad_dastan);
name.setText(season[position]+": "+Name[position]+page[position]);
name.setTypeface(MainActivity.font);
r.setText("");
//-----------------------------------------------------------------
return (row);
}
}
private void refresh(String text1 , String field){
db.open();
int s = db.shmaresh_jostojoo(text1, field);
if (edt_searchbox.getText().toString().equals("")) {
s = 0;
status.setText(" لطفا کلمه مورد نطرتان را وارد کنید");
}else {
status.setText(" تعداد "+s+" یافت شد ");
}
Name=new String[s];
season=new String[s];
cpage=new String[s];
page=new String[s];
for(int i=0;i<s;i++){
Name[i]=db.jostojoo(i, 1, text1, field);
season[i]=db.jostojoo(i, 4, text1, field);
cpage[i] = db.shomaresh_safhe_dastan("datastorys", season[i], Name[i])+"";
if (field.equals("name")) {
page[i] = "";
}else {
page[i] = "--->"+db.jostojoo(i, 3, text1, field);
}
}
setListAdapter(new AA());
db.close();
}
}