فایل : دانلود فایل پروژه
شرکت Quera به دنبال تولید اپلیکیشن موبایل اندروید برای سایت خود است، اولین قدم برای این منظور تولید صفحه ورود کاربران است. برای این منظور طراح گرافیکی این شرکت یک قالب اولیه برای این صفحه آماده کرده و بر روی ساختار XML پیاده سازی کرده است، وظیفه شما آن است که فرآیند submit را پیاده سازی نمایید. ابتدا باید کنترل صحت داده های ورودی بررسی شود. کنترل صحت داده ها به این صورت می باشد که:
- هر کدام از ورودی ها باید مقدار داشته باشد در غیر این صورت پیام راهنمایی درون آن به 
Enter EmailیاEnter Passwordبا رنگ#FF0000تغیر می کند. 

- 
مقدار وارد شده در ورودی
Emailباید آدرس یک ایمیل بر اساس استانداردRFC 5322باشد. - 
مقدار وارد شده در
Passwordباید حداقل ۸ کاراکتر باشد، این کارکاتر ها می توانند حروف کوچک و بزرگ، عدد و علائم@#$%&باشد که در هر پسورد حداقل یک حرف کوچک، یک حرف بزرگ، یک عدد و یکی از علائم مجاز باید حضور داشته باشد. - 
در صورت مغایرت مقدار وارد شده درون هر ورودی با شرایط فوق پیام خطای
Password is not validیاEmail is not validدر بالای صفحه و در قسمت تعیین شده نمایش داده می شود. توجه کنید که در صورت اشتباه بودن هر دو ورودی هر دو پیام باید نمایش داده شوند و با کاراکتر\nاز هم جدا شوند (ترتیب اهمیتی ندارد). 
پس از بررسی صحت ورودی ها در صورت صحیح بودن آنها یک درخواست HTTP  به یک سرور خارجی ارسال می شود. این درخواست از نوع POST می باشد که در بدنه آن یک JOSN شامل کلید های email و password به همراه مقادیر وارد شده می باشد. این درخواست به آدرس quera.ir/accounts/login ارسال می شود و پیام بازگردانی شده با فرمت HTTP درون ResultActivty نمایش داده می شود. برای ارسال این درخواست حتما از HttpURLConnection استفاده نمایید.
برای پاسخ به این سوال ابتدا فایل زیپ مربوط به این سوال را دانلود نمایید، داخل این فایل یک پروژه اندروید وجود دارد، پس از انجام تغییرات فوق پروژه اندروید را دوباره زیپ نموده و بر روی سایت بارگذاری نمایید. توجه نمایید که بجز فایل های مشخص شده به دیگر فایل های موجود در پروژه دست نزنید.**
ساختار فایل ناقص پروژه برای دانلود (فایلهایی که باید تغییر دهید با ----> نمایش داده شده اند):
<Your-zip-name>.zip
└───LoginPage
    ├───app
    │   ├───libs
    │   └───src
    │       ├───androidTest
    │       │   └───...
    │       ├───main
    │       │   │   AndroidManifest.xml
    │       │   ├───java
    │       │   │   └───ir
    │       │   │       └───quera
    │       │   │           └───loginpage
    │       │   │                   MainActivity.java    <----
    │       │   │                   ResultActivity.java    <----
    │       │   │
    │       │   └───res
    │       │       ├───drawable
    │       │       ├───layout
    │       │       │       activity_main.xml    <----
    │       │       │       activity_result.xml    <----
    │       │       │
    │       │       ├───mipmap-hdpi
    │       │       ├───mipmap-mdpi
    │       │       ├───mipmap-xhdpi
    │       │       ├───mipmap-xxhdpi
    │       │       ├───mipmap-xxxhdpi
    │       │       └───values
    │       │               colors.xml
    │       │               strings.xml
    │       │               styles.xml
    │       │
    │       └───test
    │           └───...
    └───gradle
        └───...
- تنها فایلهای موجود در آدرس زیر از پروژه شما استفاده خواهد شد بقیه فایلها از پروژه نمونه قرار داده شده خواهند بود. فایلهای اضافی شما قبل از داوری حذف میشود.
 
app/src/main/*
ساختار درختی فایل ارسالی:
<Your-zip-name>.zip
├───main
│   ├───java
│   │   └───ir
│   │       └───quera
│   │           └───loginpage
│   │                   MainActivity.java
│   │                   ResultActivity.java
│   └───res
│       ├───drawable
│       ├───layout
│       │       activity_main.xml
│       │       activity_result.xml
│       ├───mipmap-hdpi
│       │   	...
│       ├───mipmap-mdpi
│       │   	...
│       ├───mipmap-xhdpi
│       │   	...
│       ├───mipmap-xxhdpi
│       │   	...
│       ├───mipmap-xxxhdpi
│       │   	...
│       └───values
│               colors.xml
│               strings.xml
│               styles.xml
│
└───test
    └───...
- توجه کنید که پروژه zip شده باید مستقیما در ریشه فایل zip قرار گیرد.
 
ارسال پاسخ برای این سؤال