ساخت اپ با صفحات متوالی
برای اینکار دو اکتیویتی کافیه ، اگر برای جواب هم لازم باشه نهایتا سه اکتیویتی لازم دارید، اکتیویتی اول نمایش فهرست و اکتویتی دوم نمایش سوال ها و نمایش گزینه های بله و خیر، و اکتیوتی سوم میتونه نمایش پاسخ نهایی باشه ، شما اطلاعات رو باید در آرایه ها و متغیر ها نگهداری کنید ، و نسبت به انتخاب های کاربر سوال بعدی رو فقط نمایش بدید و نتیجه انتخاب ها رو درون متغیر ها ذخیره کنید .
برای ساخت این برنامه اولین چیزی که به ذهنم رسید استفاده از سه آرایه SparseArray هست که یک آرایه مقدار index سوال و String رو در برداره و آرایه بعدی index سوالی هست که مطرح شده و مقدارش هم index سوال بعدی هست در صورت انتخاب بله و آرایه سوم هم مثل آرایه دوم هست فقط مقدار Iindex که بهش اشاره میشه برابر است با مقدار index سوال بعدی در صورت انتخاب خیر
ولی بنظرم راه بهتر این هست که شما یک Class بسازید که مقادیر زیر رو داشته باشه به شکل زیر (کد زیر Syntax درستی نداره و همینطوری نوشتم ! شما اونو توی محیط IDE باید تغییر بدید)
Class Question {
int id = 0;
String title = "title ?"
int trueAnswer = 1;
int falseAnswer = 2;
boolean lastQuestion = false;
public Question(int id,String title,int trueAnswer,int falseAnswer,boolean lastQuestion){
}
public int[] getNextQuestion(){
int[] intArr = new int[2];
intArr [0] = trueAnswer ;
intArr [1] = falseAnswer ;
return intArr ;
}
public boolean isLastQuestion(){
retun lastQuestion;
}
}
به تعداد سوالهاتون یک نمونه به شکل کلاس بالا بسازید به هر سوال یک آیدی بدید که تکراری نباشه ، متن سوال رو هم وارد کنید و اگر بعد از این سوال قرار هست جواب رو نمایش بدید مقدار true برای lastQuestion وارد کنید ، و درون یک SparseArray از جنس Question قرار بدید و به نسبت انتخاب کاربر مقدار trueAnswer یا falseAnswer و lastQuestion رو بگیرید و اگر مقدار lastQuestion برابر true نباشه برای انتخاب "بلی"مقدار trueAnswer برابر هست با index سوال بعدی در آرایه SparseArray و در صورت انتخاب "خیر" مقدار falseAnswer برابر است ا index سوال بعدی در آرایه SparseArray و به همین ترتیب جلو برید
ببینین شما باید از یه اکتیویتی استفاده کنین. کاری که میتونین کنین و خیلی هم تمیز میشه, اینه که دیتابیستون رو تغییر بدین و مثلا 2 تا ستون جدید اضافه کنین به هر مقدار. یه ستون (مثلا به اسم T ) برای شماره سوالی که در صورت جواب بله باید نشون داده بشه, یکی هم شماره سوالی که در صورت جواب نه باید نمایش داده بشه (مثلا ستون F ).
حالا توی کد خیلی کارتون راحت و Dynamic میشه. به این صورت که میگین اگه جواب بله بود, مقدار مربوط به ستون T رو بگیره و اون شماره سوال رو جایگزین سوال فعلی کنه, اگه جواب نه بود, مقدار ستون F ـ اون row رو بگیره و اون سوال رو load کنه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
