当前位置:网站首页>COMP5216 Mobile Computing Assignment 1 - Extending ToDoList app
COMP5216 Mobile Computing Assignment 1 - Extending ToDoList app
2022-06-26 16:49:00 【JKooll】
Assignment 1 – Extending ToDoList app
Total: 5 marks
Due date: submit all project files as one zipped file by 7pm Week 05 and demo in Week 05 lab
In this assignment, you need to design and extend a ToDoList app which contains at least two views.
- The Main view should contain [0.5 mark]:
- A ListView which displays all the saved ToDoItems, each ToDoItem consists of ToDoItem title and the creation / last edited datetime. Clicking a ToDoItem will switch to the “Edit/Add Item” view.
- An “ADD NEW” button. Once this button is clicked, the app will switch to the “Edit/Add Item” view.
- The “Edit/Add Item” view should contain [1 mark]:
- A Text field which allows user to type or edit the title of a ToDoItem to add or update the ListView.
- A “Save” button used for adding new, or updating the title and datetime of ToDoItem in the ListView:
- If updating an existing item, display both the item and creation/last edited datetime of the ToDoItem. Upon saving, update the item and datetime with the current system datetime.
- If adding a new item, capture both the item and creation datetime of the ToDoItem. The creation datetime is the current system datetime.
- A “Cancel” button next to the “Save” button, used to close the Activity without updating the ToDoItem. When this button is clicked, the app will pop up a dialog that asks user: ”Are you sure to cancel this edit? Your unsaved edit will be discarded if you click YES”.
Hint: You should customise the ListView and the adapter. Read the following tutorial, and replace the current ArrayAdapter with your own defined Adapter class. Also replace the list item layout “android.R.layout.simple_list_item_1” with your own layout.
https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView
Your app should also be able to handle the following data persistence tasks [1.5 marks]:
- Every time user launches this app, the app loads the ToDoList from the local Database.
- The ToDoList should be sorted and displayed based on the most recent created/last edited datetime i.e. the most recent ToDoItem is shown on top of the list
- When clicking the “Save” button in the “Edit/Add Item” view, the app should add or update the ToDoItem in both the ListView and local Database.
- Add a long click event to delete a ToDoItem from the ListView. When user tries to delete the selected ToDoItem, the app will pop up a message that asks user: ”Do you want to delete this item?” If the user clicks “YES”, this ToDoItem will be deleted from both the ListView and local Database.
- App should be able to be built and run successfully on emulator [0.5 mark]
- Coding [1.5 marks]:
- [1 mark] Follow the official Android code style guidelines (https://source.android.com/setup/contribute/code-style), proper indentation, stick within the 120 char line length, no trailing whitespaces and no unused imports.
[0.5 mark] Documentation: use proper in-line code commenting, and Javadoc comments for new public classes, methods, variables and constants.
Resources download link :https://download.csdn.net/download/jkol12/21722425
边栏推荐
- # 补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍
- LeetCode Algorithm 24. Exchange the nodes in the linked list in pairs
- Set up your own website (16)
- 板卡的分级调试经验
- Memory partition model
- Least squares system identification class II: recursive least squares
- 《软件工程》期末重点复习笔记
- 【207】Apache崩溃的几个很可能的原因,apache崩溃几个
- 架构实战营毕业设计
- Day10 daily 3 questions (1): sum gradually to get the minimum value of positive numbers
猜你喜欢
C语言所有知识点小结
Gui+sqlserver examination system
Leetcode 1169. 查询无效交易(如果数据量不大,这种题还是得暴力枚举解决)
进军AR领域,这一次罗永浩能成吗?
Science | 红树林中发现的巨型细菌挑战传统无核膜观念
[understanding of opportunity -31]: Guiguzi - Daoyu [x ī] Crisis is the coexistence of danger and opportunity
Decentralized NFT transaction protocol will defeat opensea
Constructors and Destructors
[Li Kou brush questions] 11 Container holding the most water //42 Rain water connection
我把它当副业月入3万多,新手月入过万的干货分享!
随机推荐
Teach you to learn dapr - 6 Publish subscription
Structure the graduation project of actual combat camp
NFT 交易市场社区所有化势不可挡
[Li Kou brush questions] 11 Container holding the most water //42 Rain water connection
How to implement interface current limiting?
When a programmer is disturbed 10 times a day, the consequences are amazing!
day10每日3题(2):统计最大组的数目
基于STM32+华为云IOT设计的云平台监控系统
Vibrating liquid quantity detecting device
Redis 概述整理
What does the inner structure of the neural network "alchemy furnace" look like? An interpretation of the thesis by the doctor of Oxford University
架构实战营毕业设计
20:第三章:开发通行证服务:3:在程序中,打通redis服务器;(仅仅是打通redis服务器,不涉及具体的业务开发)
Redis migration (recommended operation process)
Scala Basics (II): variables and data types
Arduino uno + DS1302 simple time acquisition and serial port printing
Dialogue with the senior management of Chang'an Mazda, new products will be released in Q4, and space and intelligence will lead the Japanese system
Find out the maximum value of each column element of NxN matrix and store it in the one-dimensional array indicated by formal parameter B in order
去中心化NFT交易协议将击败OpenSea
Teach you to learn dapr - 8 binding