美文网首页
代做COSC2309/2347作业、代写Movie Night

代做COSC2309/2347作业、代写Movie Night

作者: hlzb864 | 来源:发表于2019-04-21 16:20 被阅读0次

    Mobile Application DevelopmentCOSC2309/2347 Semester 1, 2019Movie Night PlannerAssignment 1 (20 marks)You are to implement a simple Movie Night Planner app to create andschedule movie viewing events and invite attendees. In this first assignment,you will implement the basic user interface for event creation (including moviedetails), editing, and calendar viewing. This will be extended in Assignment 2to provide a full application complete with persistent storage andnetworking/cloud service behaviour (including a location-based alarm that willtrigger based on your distance from your current location to that of the movieevent).At the core of the functional requirements of this application are the followingtwo entities:Event: An event is a social movie viewing activity that occurs at a specificdate, time and location and has a number of attendees. It must (at aminimum) maintain the following information:- Id: A randomly generated combination of numbers and letters, whichuniquely identifies an event (not visible to the user).- Title: The title of the event (e.g. “Scary Saturday!”)- Start Date: The start date and time of an Event (e.g. April 6th, 2019,7.30PM)- End Date: The end date and time of an Event (must be later than startdate)- Venue: The location of the event (e.g. “MegaDupaMultiPlex, 13Node.js”)- Location: A String representation of geographical latitude and longitudeof the venue (e.g. -37.805631, 144.963053), you can get this fromGoogle Maps web page directly (i.e. outside of your app by just copyingand pasting the data).- Attendees: A list of individuals who are invited to this event (as pickedfrom the user’s contacts list .. see supplied contacts_data/).Movie: Each event has associated details of the movie to be viewed/screenedas follows:- Id: A randomly generated combination of numbers and letters, whichuniquely identifies a movie (not visible to the user)..- Title: The title of the movie (e.g. “Blade Runner”) - Year: the year the movie was released (e.g. 1982)- Poster: an image of the poster used to promote the movie.NOTE: use of copyrighted material for education purposes in yourassignment is covered under fair use i.e.https://www.alrc.gov.au/publications/4-case-fair-use-australia/what-fairusebut should not be redistributed outside the educational setting.Functional RequirementsYour application must provide the following functionalities and meet the nonfunctionalrequirements stated under the “Other Requirements” section below.- Schedule and Unschedule an Event: The application should allow thecreation of an unbounded set of events. For simplicity, you can ignoreduplicate entries or events with overlapping times (we will make sure testdata does not overlap when assessing your assignment).- Edit Event Details: Users should be able to edit the event details as wellas add or remove attendees.- Add/Edit Movie details for an event: This should be implemented in aseparate screen or Activity from the Event scheduling/editing described inthe previous two points.- View Events: Users should be able to display a list of events where eachelement in the list will be a synoptic view (summary) of the Event e.g.event title, date, venue, movie title and number of attendees. The listshould be sorted according to date (user can toggleascending/descending order).- View Calendar: Users should be able to view the entries in a calendarstyle layout, based on either* a week or month view (you can look at thecalendar app on an Android device or emulator for ideas but are free to becreative with your layout). IMPORTANT NOTE: You must create yourown UI using standard layouts i.e. you cannot just use a standard or thirdparty Calendar widget.- Selection/Editing: In the view modes described above, i.e. when eventsare shown in a list or in a Calendar, users should be able to add or edititems via direct manipulation (e.g. long press or gesture).* You only have to choose one or the other but if you are having fun withlayouts you are welcome to create both so that you have a total of threedifferent views!Other Requirements:- In assignment part 1 you are not expected to persist data however yourdata must not be limited to the lifetime of any specific activity (i.e. musthave application scope to facilitate testing). You should read data from thesupplied events.txt and movies.txt when your app is first loaded. - Your Graphical User Interface (GUI) must support all of the functionalitiespresented under “functional requirements” above.- The preferred Target Android Version is API Level 25, however, forstudents with old devices who want to target lower levels you are allowedto do so.- You can write your application in the single Activity per screen phone stylehowever you may choose to write a tablet version using Fragments.- You should use the Model View Controller (MVC) approach to assist inwriting modular and cohesive code. In particular we will be looking for adomain neutral model implementation which is not dependent uponAndroid specific features (i.e. java.* class/package dependencies onlynot android.*). Some examples of class/interface usage in your modelwould be: Event(interface)Movie(interface)- For your UI you should aim for simplicity. You will not be marked on theaesthetics of your design (beyond common sense!) but we are looking forclear workflows. The only constraints on the design and classes used arethose explicitly stated above, otherwise you are free to be creative(menus, buttons, toolbars, navigation drawers etc.)- Your implementation must make efficient use of common values (such asStrings, Dimensions or Colors) by (re)using values from the appropriateXML resource file. i.e. do not hardcode such values into your layout filesor your application.- You may want to consider branding, business models, distributionframeworks, 3rd party integration (maps, navigation, social media sites)etc. and how these would impact on your app design although you will notbe assessed on these features (some of these will be covered inassignment part 2).Code QualitySince this is an advanced programming elective you will be marked on codequality as well as functional correctness (approximately 60/40 split offunctionality versus quality respectively). A marking rubric is available onCanvas for further details.In particular:1. You should aim to provide high cohesion and low coupling.2. You should aim for maximum encapsulation and information hiding.3. You should rigorously avoid code duplication.4. You should comment important sections of your code rememberingthat clear and readily comprehensible code is preferable to a comment.5. If you use lambdas you should carefully consider the impact oncoupling, cohesion and comprehensibility. In many/most casesinheritance, polymorphism and delegation are better approaches whenused well. 6. Where appropriate, MVC controller functionality should be placed inseparate classes in a separate controller package. A good rule ofthumb is if it is more than a single method call, or there are non-localvariable dependencies, then put it in a separate class!Submission InstructionsYour project should be implemented using Android Studio and your projectexported as a single compressed .zip archive before submission. Do not useany other compression formats - use of other formats (e.g. tar.gz, RAR, etc.)may lead to delays in marking and/or a deduction of assignment marks.Important Regulations- You are free to refer to textbooks and notes, and discuss design issues(and associated general solutions) with your fellow students and onCanvas; however, the assignment should be your own individual work(or optionally a pair of students, see details below).- Note that you will only be assessed on your own work so the use of thirdparty designs and APIs (beyond the standard Android libraries) is notallowed.Optionally forming pairs:This assignment is of a size and scope that can be done as an individualassignment. However, since we understand that some students benefit fromworking in pairs we will allow optional pairs to be formed. We will howeverstrictly adhere to the following procedure, keeping in mind that group work isNOT a core learning outcome of this course and is only offered as anextra/bonus option. This assignment can be done in pairs or individually. If doneindividually there is no marking advantage. If done as a pair, studentsare NOT marked individually, only as a pair (No ifs, no buts .. so whenchoosing a partner it is Caveat Emptor i.e. Buyer Beware!). If students choose to be a pair they must register together in theirtutelab class in week 2 with their student ids (NOTE: Student pairs areencouraged to be in the same scheduled tutelab but this is not strictlyrequired other than initial signup). If students are unable to attend together due to timetabling issuesstudents must promptly confirm their pairing via email to their tutor. If you fail to inform your tutor that you are working as a pair you mustsubmit individually and not share any source code. Students cannot change pairs but pairs can separate and bothstudents become individuals if problems arise with the pairing (bothstudents being able to use any shared code that has been created tothis point). In this case your tutor must be notified at the latest byFriday 5th April 2019 (end of week 5). No changes will be allowed after this time unless special considerationapplies. NOTE: The required implementation language for this assignment is Javasince it is stable, widely used and most importantly students can leveragetheir experience from the pre-requisite courses. Moreover, Android ischallenging enough (by design) without having to learn a new language at thesame time. However, if students have a compelling reason to use Kotlin andcan demonstrate a track record of high competency and independent learningthey can make their case to their tutor in the tutelab (email applications arenot acceptable since this is a special arrangement) and your tutor may usetheir discretion and make a decision to allow this.This assignment is due at 6:00PM Thur. 18th April 2019 and is worth20% of your final assessment 本团队核心人员组成主要包括BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:99515681@qq.com 微信:codehelp

    相关文章

      网友评论

          本文标题:代做COSC2309/2347作业、代写Movie Night

          本文链接:https://www.haomeiwen.com/subject/bbdjgqtx.html