آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بچه ها اشکال کجاست؟؟؟!!!

esiii  10 سال پیش  10 سال پیش
0 0

سلام دوستان

من این کلاس رو برای علاقه مندی نوشتم

 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", "*************************************");
}
}

0 0
توی سورس اولی هم چاپ کردن Log رو امتحان کردید؟ شاید توی استفاده از دیتابیس اشتباهی انجام داده اید. (10 سال پیش)
0 0
اونجا هم لاگ گذاشتم و همه لاگ ها هم اجرا میشن !!!!!!!!!!!! (10 سال پیش)
پاسخ به سوال 
esiii  10 سال پیش
0 0

0 0
دوستان لطف کمک کنید ... (10 سال پیش)
0 0
بالاخره درستش کردم وای تو پوست خود نمی گنجم از خوشحایییییییییییییییییییییییییی :) (10 سال پیش)
0 0
مشکل از چی بود؟ (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .