PDA

View Full Version : خواندن ID های انتخابی از دیتابیس sqlite



Apriliyaa
پنج شنبه 11 دی 1393, 20:18 عصر
سلام
یک لیست ویو داریم که تمامی ستون های جدول رو از دیتابس می خونه و نمایش میده

حالا باید کاری کنیم که فقط ستون هایی که ما تعیین می کنیم رو بخونه ، به چه صورت دستور بدم بهتره ؟ اینکه مشخص کنم مثلا بیا ID های مورد نظر منو بخون و یا یه کولمن به تیبل اضافه کنم و بهش مقدار بدم و دستور بدم که ID هایی رو بخون که مقدار کلومن اونا برابر با 1 یا 2 یا 3 و .. غیره هست؟

این اکتیویتیی هست که لیست ویو داخلش قرار گرفته و تمام ID ها رو می خونه و لیست می کنه :
ممنون میشم بگید کدوم روش بهتره و بهینه تره و دستوراتی که باید جایگزین بشه چیه و به جای کدم دستور فعلی :تشویق:


package ir.apy.book;


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;


import ir.apy.database.DBAdapter;
import ir.apy.database.Dastan;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.app.ListActivity;
import android.content.Intent;


public class Rasht extends ListActivity {
DBAdapter db;
List<Dastan> dastanha;
ListView lst;


boolean isAll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rasht);

Button btn_about = (Button) findViewById(R.id.main_about);
ImageButton btn_sett = (ImageButton) findViewById(R.id.main_setting);


isAll =true;
lst = getListView();
db = new DBAdapter(getBaseContext());
db.open();
dastanha = db.getAllContacts();

if (dastanha.size() == 0) {

String destPath = "/data/data/" + getPackageName() + "/databases";

try {
CopyDB(getBaseContext().getAssets().open("mydb"),
new FileOutputStream(destPath + "/dastanha"));

dastanha = db.getAllContacts();

refreshDisplay();




} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


} else {
refreshDisplay();
}


{


btn_about.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
Intent next = new Intent(getBaseContext(), About.class);
startActivity(next);


}
});

btn_sett.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
Intent next = new Intent(getBaseContext(), Setting.class);
startActivity(next);


}
});

}

}


@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);


Dastan dastan = dastanha.get(position);
Intent next = new Intent(this, ShowData.class);
next.putExtra("thisdastan", dastan);
startActivity(next);


}




public void CopyDB(InputStream inputStream, OutputStream outputStream)
throws IOException {

byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
inputStream.close();
outputStream.close();
}





public void refreshDisplay() {




ArrayAdapter<Dastan> adapter = new DastanAdapter(this, dastanha);
setListAdapter(adapter);
}










}