فایل پایه را از اینجا دریافت کنید
زهرا میخواهد بداند که در هر بازه زمانی در سال ۲۰۱۷ چقدر هزینه کردهاست. اما خواندن اساماسها و نوشتن هزینههای هرروز برروی کاغذ برای وی طاقتفرساست. به همین دلیل از نگین کمک گرفتهاست. نگین برنامهنویس اندروید است و تصمیم دارد برنامهای بنویسد که به دوستش کمک کند. اما به دلیل اینکه در اندروید تازهکار است دچار مشکل شدهاست و حال از شما کمک می خواهد. برنامه بدین گونه است:
- با اجرای برنامه،
MainActivity
اجرا میشود وactivity_main
را نمایش میدهد. در این صفحه، جدولی وجود دارد که ۵ تراکنش آخر را بصورت زیر نمایش میدهد.
- با لمس دکمه
REPORT
صفحهReportActivity
اجرا میشود؛ در این صفحه تاریخ ابتدا و انتهای بازهای که قرار است در آن مجموع هزینه های انجام شده حساب شود انتخاب میشود. (روزهای ابتدا و انتهای بازه نیز جزئی از بازه هستند.) - با فشردن دکمه
calculate
مجموع هزینهها در بازه انتخابشده محاسبه میشود و درTextView
با آیدیtotal
که سمت چپ دکمهCALCULATE
قراردارد، نشان دادهمیشود. - پیادهسازی برنامه به گونهای است که با دریافت هر پیامک از بانک، اطلاعات آن بطور خودکار بهعنوان یک رکورد توسط برنامه در یک دیتابیس
SQLite
ذخیره میشود. - هربار که برنامه باز میشود، لیست ۵ تراکنش آخر (که در
MainActivity
نشان دادهمیشود) بروز شده و ۵ تراکنش آخر را به ترتیب جدید به قدیم (از بالا به پایین) نمایش میدهد. - پیامکهای ارسالی توسط بانک، حتی درصورتیکه برنامه برروی صفحه باز نیست هم باید توسط برنامه در دیتابیس ثبت شوند.
- ذخیره پیامکهای دریافتی در دیتابیس با نام
transaction
و در جدولTransactions
انجام میشود. - شمای جدول
Transactions
بصورت زیر است:
- فرمت پیامکهای بانکی و خروجی موردنظر هر پیامک بهشکل زیر است:
ورودی نمونه ۱:
خروجی نمونه ۱:
ورودی نمونه ۲:
خروجی نمونه ۲:
ورودی نمونه ۳:
خروجی نمونه ۳:
نکات حیاتی
- نام انتخابی برای دیتابیس و جدول مورد استفاده را دقیقا برابر با موارد گفتهشده و بدون هیچ پسوندی انتخاب کنید.
- برای جلوگیری از بروز خطای ناشی از حجم بالای فایل ارسالی، قبل از ساخت و ارسال فایل
zip
دقت کنید که پوشههایbuild
در این فایل وجود نداشته باشند. - آیدی و متنهای نمایشی موجود در فایلهای
activity_main.xml
وreport.xml
را تغییر ندهید (حذف نکنید). - برای نمایش لیست روزها و ماهها در صفحه
ReportActivity
، به ترتیب از عناصر موجود درdayNum
وmonthName
استفاده کنید. - درصورتیکه به دسترسیای نیاز دارید که در نسخههای جدید اندروید به شکل متفاوتی از کاربر گرفتهمیشود، حتما این تفاوت را درنظر بگیرید و تغییرات لازم را برای زمان شروع برنامه اعمال کنید.
- دیتابیس را حتما در مسیر پیشفرض قراردهید. (نیازی به دسترسی خواندن و نوشتن برروی حافظه خارجی ندارید)
- نیازی به ایجاد تغییرات در کلاس
Application
وجود ندارد و ایجاد تغییر در این کلاس، منجر به کسر لمتیاز میشود. - برای نمایش پنج تراکنش آخر در جدول صفحه نخست، به موارد زیر دقت کنید:
- مبلغ بصورت رقم با معنی و بدون علامت
,
برای جدا کردن ارقام صفر نمایش دادهمیشود. - برای مبالغ منفی، علامت منفی (
-
) پشت رقم قرار میگیرد اما برای مبالغ مثبت، از کاراکتر+
استفاده نمیشود. - عدد ماه و روز تراکنش بصورت عدد با معنا (بدون صفر مازاد در ابتدای آنها) نمایش دادهمیشود.
- نمایش تاریخ به این صورت است که عدد ماه در سمت چپ و عدد روز در سمت راست آن قرار میگیرد و با یک کاراکتر فاصله از هم جدا میشوند.
- مبلغ بصورت رقم با معنی و بدون علامت
ساختار فایل پایه که برای تکمیل در اختیار شما قرار میگیرد، حاوی مسیر زیر است. شما باید فایلهایی که با علامت (---->) مشخص شدهاند را تغییر دهید و پروژه تغییردادهشده را بعنوان فایل zip
که حاوی مسیر زیر است ارسال کنید:
(تغییر فایلهای تعیین شده در قسمت پایین و افزودن فایل جدید به فایل پایه در پوشه main
از مسیر زیر، مانعی ندارد)
ارسال پاسخ برای این سؤال