This is my university project and i need this project done exactly according to the instructions provided. This project will follow another project, so whoever will do this project for me, will be handed over second part of this project as well.
This project will
involve implementing basic Android programming skills with the emphasis on UI
development by implementing activity, intent, option menu and UI widgets.
You will submit a single zip file containing your entire self-contained project's
source code. Your code must be properly formatted and have significant
explanation comments throughout, explaining the advanced technologies and/or
algorithms you are using, and the justification behind them. Your zip file will also
include a proper [login to view URL] file to guide installation and usage, as well as include a
[login to view URL] file for any legal attributions. You will also include an mp4 file
demonstrating your project in action, and explaining the code you have written for
your major features, and demonstrating them in action.
The primary aim of this project is to demonstrate that you can create the User Interface (UI) and User Experience (UX) of an Android app, and compile and run it successfully on Android.
This project is focusing just on the graphical user interface (GUI) and related events (event-handling functionality), not specifically on programming. We won't be focusing much on detailed programming or APIs in Project 1, as you'll mostly discover and work out those details when you do Project 2.
So at this point of time, I need all the work done for project 1 that i am going to explain below and whoever will make this project for me, next part of this project will be handed over as well after some time.
Instead, you'll work out how to create the interfaces (demo interfaces with mock data).
You can choose any of the following 3 topic choices. All 3 topics eventually involve both static and "programmatically" creating many of the interface elements. E.g. a calendar will be programmatically generated based on which month & year it is, when days of the week fall during that month, and then what events would be on each of those days, etc. These elements of the interface cannot be drawn using interface drawing tools, as they vary based on the data. Thus those elements must be generated by using program code. Other screens (e.g. an About or Help page) could be statically created.
World clocks and timezones (easiest - medium difficulty)
Calendar (medium - advanced difficulty)
It is your job to decide how you wish to design the app, and what screens would be required. You can be as creative as you want. E.g. a Contacts app could be very basic, and have a list of contacts, as well as a single contact view page, and an add/edit contact page. Or, it could be visually interesting, and have a table of 9 or 16 common contacts, like a quick-dial feature, but for quickly looking up common contacts. Or it be business-oriented, and could have a side menu of groups, then a list of contacts for each group. The same with a Clock app. You could start easy with a simple digital clock. Or you could have digital clocks with the colour adapting to if it's day or night. Or you could go more advanced and have analog clocks, or even analog clocks with different faces.
The possibilities are endless, but I recommend you start very simple for Project 1. And build up as you learn more.
Also note that in Project 1, you won't use live (real) data. Instead, you will use static/mock/dummy data for testing. Functionality comes in Project 2. Your screens are more about "what the app will look like", without the actual functionality.
Functionality + Required Topics Demonstrated: You must demonstrate the following working concepts within your app to pass.
UI components: E.g. Labels, buttons / image buttons, text input / checkbox / radiobox, etc. The more you can demonstrate, within the normal functioning of your app, the better. You may end up making your own UI components, and that's fine too (advanced).
Layouts: Demonstrate that you can apply appropriate layout to adapt to different screen sizes.
Custom design: Can apply custom assets, colours and font to improve the graphic quality of your app.
Resources: Use resources to organize all strings and colors used.
Interface Styling: Consistent, stylish, professional User Interface across most of your app.
Code Styling: Your code must be well commented and correctly formatted.
Every function/method that has an algorithm, and every class needs an explanation comment of 1-5+ sentences.
Every major body of algorithmic code (e.g. an algorithm more than 10 lines), would have comments to explain how it works.
Your code must be indented appropriately.
CC-BY / Public Domain media: Your app correctly and legally attributes all code, images, media and any other resources (using other people's work without permission + attribution is plagiarism, and results in an immediate fail). Details are to be written in [login to view URL]
100% your own code, unless you include code comments to reference a code snippet you used from elsewhere. Up to 10% of your code can be direct snippets from others, as long as it is referenced by including a comment before and after the section you used.
Two Files to Submit:
a zip of the project directory, containing:
all source code
all inspirational media/screenshots that you used to base your design on
[login to view URL] and [login to view URL] files
a demonstration video (in mp4 format).
Original: Your app must be a new app, not based on any previous app you have developed.
Achieving all of the above is required for a pass.
Grades above pass
Your app interface can switch between portrait to landscape (on startup).
Your app interface can adapt at startup to both phone and tablet resolutions (at least 1 phone + 1 tablet of latest popular devices).
Your app has at least 3 scenes / screens.
Your app has a complete example mock-up of data for each screen where data would normally be used.
You have demonstrated consistent and visually pleasing styling across all of your app's interface.
You have worked on your app at least once every week (as evidenced by Portfolio).
Distinction: All features of a Credit, and:
Orientation: Your app interface can switch between portrait to landscape dynamically (anytime during the app).
Scenes: Demonstrate smooth transition between scenes (at least 2 scenes).
Code: Your app gracefully handles all unknown bugs, by logging exceptions somewhere for the user to see.
You have demonstrated innovative design across your app (can still be based on the inspiration of others).
You have worked on your app for at least 8 hours every week (as evidenced by Portfolio).
High Distinction: All features of a Distinction, and:
Your app looks and functions as a high-quality, real-world professional app.
Your app includes splash screens and icons.
Your app would be publishable in its current form.
You have gone above and beyond the project requirements.
You demonstrate a strong ability to learn independently, demonstrated with: code quality, designing & implementing features, and problem-solving.
You cannot use any previous assignments you've done in the past. You cannot use any projects you've worked on before. This must be a completely new project. Everything must be your own work, and must be new work, created during this trimester.
If you've done a project before that you want to continue, that's great for your experience, but you do that in your own time. This unit is about going through the entire app development life cycle, from start to finish. So this means having fresh ideas.
You're allowed to use code snippets from other sources (e.g. stackoverflow), but you must attribute them before the block of code. E.g.
/* This idea to sort in reverse is from a user zimbaba at URL_HERE */ code goes here /* end zimbaba's idea*/
Likewise, you're allowed to use images that are either: public domain or licensed for commercial reuse with modifications (CC-BY), provided you list them in the app in an About page under a section called Legal, and crediting everything you use they require in their license.
I can only mark what each of you do (so don't use libraries for everything, use libraries to make your end code achieve more). Also, anything you used must be attributed, otherwise you get an immediate fail in the unit, and the issue is sent to the Academic Board for a hearing.
Ways to create the video
Your video must include:
Your Student Name + SID (as text on the screen, so we can read it)
Every feature you want to be marked for, show both how you did it (in code) and demonstrate it working (in emulator)
You can create the video in any application you like. The method used does not matter at all. You are only judged on your content. Note that the file must be an mp4 file. Possible methods to create the video:
Physically using your mobile phone camera pointed at your computer screen, record your app in use (but you need to keep it incredibly stable for clear view).
Using any screen capturing software you are familiar with. The method I recommend on Mac is:
Use the inbuilt QuickTime Player: File menu -> New Screen Recording. And on your phone, use an app to record an MP3 audio file at the same time, to record your voice.
Then transfer the MP3 file to the mac, open it in QuickTime Player, select everything, copy, then go to the screen recording, and paste the audio in. Then save.
Then finally use Handbrake to convert the resulting file to an mp4 file of the correct size.
Aim for 858 x 480 (480p) or 1280 x 720 (720p), and it must be under 35mb in size (otherwise uploading will take forever, both for you and for me). For changing compression and video size, I use the software HandBrake . I recommend a QF factor of around 26, possibly up to 30 if you're having troubles with filesize. ALWAYS use Handbrake to compress your video, don't leave it in its default size that you recorded it at.
Make sure your hand doesn't touch the bottom of the phone where the microphone is, otherwise the sound will be muffled. The alternative is to plug in hands-free headphones (the ones with a microphone), and put them on, so you're speaking out and the microphone at your chest is picking everything up.
Test your video by playing it back immediately, and listening to the sound quality all the way through. If it isn't perfect, record it again.
Submission File: A single ZIP file (not rar, not 7z), that contains a directory "SIDxxxxxxxxxxx - Project 1", containing the following:
Presentation (via 2-5+ minute MP4 video, < 20mb filesize), and
[login to view URL]