PDA

View Full Version : نشان دادن صفحه سفید خالی در اندروید



nargesjooon
دوشنبه 07 دی 1394, 20:04 عصر
سلام دوستان خوبید؟
ی سوال دارم؟
بنده ی برنامه نوشتم با استفاده از دیتابیس خارجی ک شامل 4 جدول می باشد
حالا میخام وقتی کاربر روی دکمه اولی کلیک کرد اطلاعات جدول 1 رو بده
دکمه دو اطلاعات جدول 2 و ...
من دشو نوشتم اجرا میکنم وقتی روی دکمه کلیک میکنم وارد صفحه سفید میشه و هیچ اطلاعاتی نشونم نمیده
جالبه حتی برنامه م کرش یا خطا هم نمیگیره ک مشکلشو بفهمم
ممنون میشم کمکم کنید....

کد اتصال ب دیتابیس


public class MyDatabase extends SQLiteAssetHelper {

public final String path = "data/data/com.example.pros_apoc/databases/";
private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 1;
public SQLiteDatabase mydb;

public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);

}


public void open() {
mydb = SQLiteDatabase.openDatabase(path + DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);
}

@Override
public void close() {
mydb.close();
}

public Integer shomaresh_dastan(String table , String seasone){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" where season='"+seasone+"' group by name", null);
int s = Cursor.getCount();
return s;

}

public String namayesh_dastan(String table , int row , String seasone){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" where season='"+seasone+"' group by name", null);
Cursor.moveToPosition(row);
String save =Cursor.getString(1) ;
return save;
}

public Integer shomare_safhe_dastan(String table , String seasone , String Story){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+seasone+"' and name='"+Story+"'",null);
int save = Cursor.getCount();
return save;

}
}



کد نمایش اطلاعات


public class Story extends ListActivity {

private MyDatabase db;
private String [] Name;
private String [] Teadad;
private String seasone;

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

db = new MyDatabase(this);


refresher();
setListAdapter(new AA());
}






class AA extends ArrayAdapter<String>{

public AA(){
super (Story.this , R.layout.raw_storys , Name);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater in = getLayoutInflater();
View row = in.inflate(R.layout.raw_storys, parent,false);

TextView name = (TextView) row.findViewById(R.id.txt_name_story);
TextView teadad = (TextView) row.findViewById(R.id.txt_number_story);
name.setText(Name [position]);
teadad.setText(Teadad [position]);
return (row);


}
}

private void refresher (){

db.open();
int save = db .shomaresh_dastan("tb1", seasone);
Name = new String[save];
Teadad = new String[save];

for (int i = 0; i < save; i++) {
Name[i] = db.namayesh_dastan("tb1", i, seasone);
Teadad[i]=db.shomare_safhe_dastan("tb1", seasone, Name[i].toString())+"";

}

db.close();
}




}



و کد کلیک روی دکمه


btn_fehrest=(Button) findViewById(R.id.btn_fehrest);
btn_fehrest.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Intent intent = new Intent(Menu.this, Fehrest.class);
startActivity(intent);

}
});
}

nargesjooon
سه شنبه 08 دی 1394, 19:00 عصر
سلام دوستان خوبید؟
ی سوال دارم؟
بنده ی برنامه نوشتم با استفاده از دیتابیس خارجی ک شامل 4 جدول می باشد
حالا میخام وقتی کاربر روی دکمه اولی کلیک کرد اطلاعات جدول 1 رو بده
دکمه دو اطلاعات جدول 2 و ...
من دشو نوشتم اجرا میکنم وقتی روی دکمه کلیک میکنم وارد صفحه سفید میشه و هیچ اطلاعاتی نشونم نمیده
جالبه حتی برنامه م کرش یا خطا هم نمیگیره ک مشکلشو بفهمم
ممنون میشم کمکم کنید....

کد اتصال ب دیتابیس


public class MyDatabase extends SQLiteAssetHelper {

public final String path = "data/data/com.example.pros_apoc/databases/";
private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 1;
public SQLiteDatabase mydb;

public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);

}


public void open() {
mydb = SQLiteDatabase.openDatabase(path + DATABASE_NAME, null, SQLiteDatabase.OPEN_READWRITE);
}

@Override
public void close() {
mydb.close();
}

public Integer shomaresh_dastan(String table , String seasone){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" where season='"+seasone+"' group by name", null);
int s = Cursor.getCount();
return s;

}

public String namayesh_dastan(String table , int row , String seasone){
Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" where season='"+seasone+"' group by name", null);
Cursor.moveToPosition(row);
String save =Cursor.getString(1) ;
return save;
}

public Integer shomare_safhe_dastan(String table , String seasone , String Story){
Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+seasone+"' and name='"+Story+"'",null);
int save = Cursor.getCount();
return save;

}
}



کد نمایش اطلاعات


public class Story extends ListActivity {

private MyDatabase db;
private String [] Name;
private String [] Teadad;
private String seasone;

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

db = new MyDatabase(this);


refresher();
setListAdapter(new AA());
}






class AA extends ArrayAdapter<String>{

public AA(){
super (Story.this , R.layout.raw_storys , Name);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater in = getLayoutInflater();
View row = in.inflate(R.layout.raw_storys, parent,false);

TextView name = (TextView) row.findViewById(R.id.txt_name_story);
TextView teadad = (TextView) row.findViewById(R.id.txt_number_story);
name.setText(Name [position]);
teadad.setText(Teadad [position]);
return (row);


}
}

private void refresher (){

db.open();
int save = db .shomaresh_dastan("tb1", seasone);
Name = new String[save];
Teadad = new String[save];

for (int i = 0; i < save; i++) {
Name[i] = db.namayesh_dastan("tb1", i, seasone);
Teadad[i]=db.shomare_safhe_dastan("tb1", seasone, Name[i].toString())+"";

}

db.close();
}




}



و کد کلیک روی دکمه


btn_fehrest=(Button) findViewById(R.id.btn_fehrest);
btn_fehrest.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Intent intent = new Intent(Menu.this, Fehrest.class);
startActivity(intent);

}
});
}







این همه تعداد بازدید
اما
ی راهنمایی نکردن
جالبه

pbm_soy
سه شنبه 08 دی 1394, 23:26 عصر
بهترین کاری که میتوانید بکنید بررسی لاگهای برنامه است
ویا اینکه خط به خط trace کنید
هرکس دیگه بجای شما باشه همین کار را میکند چون میگید خطایی نمیده!
ویا اینکه دربخشهایی ازبرنامه که شک دارید با استفاده از log مرحله به مرحله برنامه را کنترل کنید

nargesjooon
چهارشنبه 09 دی 1394, 10:46 صبح
بهترین کاری که میتوانید بکنید بررسی لاگهای برنامه است
ویا اینکه خط به خط trace کنید
هرکس دیگه بجای شما باشه همین کار را میکند چون میگید خطایی نمیده!
ویا اینکه دربخشهایی ازبرنامه که شک دارید با استفاده از log مرحله به مرحله برنامه را کنترل کنید

من همه این کارها را انجام دادم
خط ب خط trce کردم
تو تمام دستورات sql و دیتابیس هم همینطور
اما ب جواب نرسیدم

pbm_soy
پنج شنبه 10 دی 1394, 00:39 صبح
تنها و تنها راهش trace کردن است تا بغهمی خودت چیکار کردی!
اگه خطا میداد یه چیزی اینجا میپرسیدی یکی جواب میداد! ولی شما میگی اجرا میشه ولی جوابی که میخوام را نمیده پس الگوریتمت مشکل دارد ویا جایی مقداری را درست ست نکردی و یا ویا ...
از این کدها هم نمیشه چیزی پیدا کرد!
مثلا کد دکمه گفتید اینتنت fehrest را باز کن حالا کد فهرست کجاست؟! توش چی نوشتی؟!