بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
بچه ها اشکال کجاست؟؟؟!!!
سلام دوستان
من این کلاس رو برای علاقه مندی نوشتم
package esi.tbook;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class list_stars extends ListActivity {
private database db;
private String[] Name;
private String[] Teedad;
private String[] Star;
private String[] Season;
private String season;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.storys);
db = new database(this);
refresher();
setListAdapter(new AA());
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent = new Intent(list_stars.this, matn_asli_dastan.class);
intent.putExtra("seasone", season);
intent.putExtra("name", Name[position]);
intent.putExtra("page", Teedad[position]);
list_stars.this.startActivity(intent);
}
class AA extends ArrayAdapter<String> {
public AA() {
super(list_stars.this, R.layout.row_stars, Name);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater in = getLayoutInflater();
View row = in.inflate(R.layout.row_stars, parent, false);
TextView name = (TextView) row.findViewById(R.id.txt_name_story);
TextView page = (TextView) row.findViewById(R.id.txt_number_story);
final ImageView star_del = (ImageView) row.findViewById(R.id.star_del);
star_del.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
db.open();
db.beroozresani_doostdashtaniha("database", Season[position], Name[position], "0");
db.close();
refresher();
}
});
name.setText(Name[position]);
page.setText(Teedad[position] + " صفحه ");
return (row);
}
}
private void refresher() {
db.open();
int save = db.shomaresh_doosrdashtaniha("database");
if (save == 0) {
finish();
Toast.makeText(getApplicationContext(), " لیست علاقه مندی های شما خالی است!", Toast.LENGTH_SHORT).show();
}
Name = new String[save];
Teedad = new String[save];
Star = new String[save];
Season = new String[save];
for (int i = 0; i < save; i++) {
Name[i] = db.namayesh_doosrdashtaniha("database", i, 1);
Star[i] = db.namayesh_doosrdashtaniha("database", i, 5);
Season[i] = db.namayesh_doosrdashtaniha("database", i, 4);
Teedad[i] = db.shomaresh_safhe_dastan("database", Season[i], Name[i].toString()) + "";
}
setListAdapter(new AA());
db.close();
}
}
همه چی خوب کار می کنه فقط وقتی می خوام وارد بشم به متن علاقه مندی اپلیکشن کرش می کنه؟؟!!!
+1
0
تصویر که میگه مشکل از دیتابیس هست و در قسمت cursor . آقا اسماعیل شما قسمت کد های دیتابیس رو بعد هر کد یه Log بزارین ببینین کجا دیگه Log چاپ نمیشه اون موقع مشکل ریز تر میشه و راحت تر میشه دربارش فکر کرد. (10 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
esiii
10 سال پیش
0
0
متن متوجه نشدم کجا مشکل داره
ممنون میشم کمک کنید
کلاسdatabase
package esi.tbook;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Environment;
import android.util.Log;
public class database extends SQLiteOpenHelper {
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath(); //این مسیر جدید رو بهش بدید
public static final String DIR_DATABASE = DIR_SDCARD + "/database-test4/";
public final String path = "data/data/esi.tbook/databases/";
public final String Name = "database.db"; //نام دیتا بیس
public SQLiteDatabase mydb;
private final Context mycontext;
public database(Context context) {
super(context, "database", null, 1);
mycontext = context;
Log.i("LOG", "mmmmmmmmmmmmmmmmmmmm");
}
@Override
public void onCreate(SQLiteDatabase arg0) {
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
}
public void useable() {
boolean checkdb = checkdb();
if (checkdb) {
} else {
this.getReadableDatabase();
try {
copyDatabase();
}
catch (IOException e) {
}
}
Log.i("LOG", "cccccccccccccccccccccccccccccc");
}
public void open() {
mydb = SQLiteDatabase.openDatabase(DIR_DATABASE + Name, null, SQLiteDatabase.OPEN_READWRITE);
}
{
}
@Override
public void close() {
mydb.close();
}
{
Log.i("LOG", "bbbbbbbbbbbbbbbbbbbbbbb");
}
public boolean checkdb() {
SQLiteDatabase db = null;
try {
db = SQLiteDatabase.openDatabase(DIR_DATABASE + Name, null, SQLiteDatabase.OPEN_READONLY);
}
catch (SQLException e) {
}
return db != null ? true : false;
}
{
Log.i("LOG", "6666666666666666666666666");
}
public void copyDatabase() throws IOException {
new File(DIR_DATABASE).mkdirs();
OutputStream myOutput = new FileOutputStream(DIR_DATABASE + Name);
byte[] buffer = new byte[1024];
int lenght;
InputStream myInput = mycontext.getAssets().open(Name);
while ((lenght = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, lenght);
}
myInput.close();
myOutput.flush();
myOutput.close();
}
{
Log.i("LOG", "00000000000000000000000000000000");
}
public String namayesh(int row, int field, String table) {
android.database.Cursor Cursor = mydb.rawQuery("SELECT * FROM " + table, null);
Cursor.moveToPosition(row);
String str = Cursor.getString(field);
return str;
}
{
}
public Integer shomaresh_field(String table, String field) {
Cursor Cursor = mydb.rawQuery("SELECT * FROM " + table + " group by " + field, null);
int i = Cursor.getCount();
return i;
}
public String namayesh_field(String table, int row) {
Cursor Cursor = mydb.rawQuery("SELECT * FROM " + table + " group by seasone", null);
Cursor.moveToPosition(row);
String s = Cursor.getString(4);
return s;
}
public Integer shomaresh_dastan(String table, String season) {
Cursor Cursor = mydb.rawQuery("SELECT * FROM " + table + " where seasone='" + season + "' group by name", null);
int s = Cursor.getCount();
return s;
}
public String namayesh_dastan(String table, int row, String season, int field) {
Cursor Cursor = mydb.rawQuery("select * from " + table + " where seasone='" + season + "' group by name", null);
Cursor.moveToPosition(row);
String save = Cursor.getString(field);
return save;
}
public Integer shomaresh_safhe_dastan(String table, String season, String story) {
Cursor Cursor = mydb.rawQuery("select * from " + table + " where seasone='" + season + "' and name='" + story + "'", null);
int save = Cursor.getCount();
return save;
}
public String namayesh_matn(String table, String season, String name, int page) {
Cursor Cursor = mydb.rawQuery("select * from " + table + " where seasone='" + season + "' and name='" + name + "' and page=" + page, null);
Cursor.moveToFirst();
String save = Cursor.getString(3);
return save;
}
public String jostojoo(int row, int col, String word, String field) {
Cursor cursor;
if (field.equals("name")) {
cursor = mydb.rawQuery("select * from database where " + field + " like '%" + word + "%' group by name", null);
} else {
cursor = mydb.rawQuery("select * from database where " + field + " like '%" + word + "%'", null);
}
cursor.moveToPosition(row);
String save = cursor.getString(col);
return save;
}
public Integer shmaresh_jostojoo(String word, String field) {
Cursor cursor;
if (field.equals("name")) {
cursor = mydb.rawQuery("select * from database where " + field + " like '%" + word + "%' group by name", null);
} else {
cursor = mydb.rawQuery("select * from database where " + field + " like '%" + word + "%'", null);
}
int save = cursor.getCount();
return save;
}
{
Log.i("LOG", "+++++++++++++++++++++++++++++++++");
}
public void beroozresani_doostdashtaniha(String table, String season, String name, String value) {
ContentValues cv = new ContentValues();
cv.put("star", value);
mydb.update(table, cv, "seasone='" + season + "' and name='" + name + "'", null);
}
{
Log.i("LOG", "////////////////////////////");
}
public Integer shomaresh_doosrdashtaniha(String table) {
Cursor Cursor = mydb.rawQuery("select * from " + table + " where star=1 group by name", null);
int save = Cursor.getCount();
return save;
}
{
Log.i("LOG", "------------------");
}
public String namayesh_doosrdashtaniha(String table, int row, int field) {
Cursor Cursor = mydb.rawQuery("select * from " + table + " where star=1 group by name", null);
Cursor.moveToPosition(row);
String save = Cursor.getString(field);
return save;
}
{
Log.i("LOG", "*************************************");
}
}
پاسخ به سوال
esiii
10 سال پیش
0
0
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .


