当前位置:网站首页>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
边栏推荐
- num[i]++
- Stm32f103c8t6 realize breathing lamp code
- Summary of all knowledge points of C language
- 当一个程序员一天被打扰 10 次,后果很惊人!
- Decentralized NFT transaction protocol will defeat opensea
- Scala 基础 (二):变量和数据类型
- I regard it as a dry product with a monthly income of more than 30000 yuan for sidelines and more than 10000 yuan for novices!
- Set up your own website (16)
- proxy
- 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
猜你喜欢

No manual prior is required! HKU & Tongji & lunarai & Kuangshi proposed self supervised visual representation learning based on semantic grouping, which significantly improved the tasks of target dete

Apache APIs IX has the risk of rewriting the x-real-ip header (cve-2022-24112)

Développer un opérateur basé sur kubebuilder (démarrer)

Kubecon China 2021 Alibaba cloud special session is coming! These first day highlights should not be missed

Science | giant bacteria found in mangroves challenge the traditional concept of nuclear free membrane
![[understanding of opportunity -31]: Guiguzi - Daoyu [x ī] Crisis is the coexistence of danger and opportunity](/img/e8/9c5f1658a252c3c80503b5021917f6.jpg)
[understanding of opportunity -31]: Guiguzi - Daoyu [x ī] Crisis is the coexistence of danger and opportunity

Structure the graduation project of actual combat camp

Niuke Xiaobai monthly race 50

Introduction to minimal API
![[matlab project practice] prediction of remaining service life of lithium ion battery based on convolutional neural network and bidirectional long short time (cnn-lstm) fusion](/img/a6/6d3914360ffe4732db0dbd2aaf1994.png)
[matlab project practice] prediction of remaining service life of lithium ion battery based on convolutional neural network and bidirectional long short time (cnn-lstm) fusion
随机推荐
Cuckoo filter for Chang'an chain transaction
[from database deletion to running] JDBC conclusion (finish the series in one day!! run as soon as you finish learning!)
C语言所有知识点小结
[Li Kou brush questions] 11 Container holding the most water //42 Rain water connection
Constructors and Destructors
网页课程设计大作业——华山旅游网
经典同步问题
Decentralized NFT transaction protocol will defeat opensea
Count the number of words in a line of string and take it as the return value of the function
[force deduction question] two point search: 4 Find the median of two positive arrays
Overall context of concurrent programming
C language -- legal identifier and integer
当一个程序员一天被打扰 10 次,后果很惊人!
Mono 的一些实例方法
Teach you to learn dapr - 9 Observability
JS tutorial electron JS is a good tool for designing powerful multi platform desktop applications
Sandboxed container: container or virtual machine
防火 疏散 自救…这场安全生产暨消防培训干货满满!
IAR engineering adapts gd32 chip
Qt 5.9.8 安装教程