当前位置:网站首页>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
边栏推荐
- 对NFT市场前景的7个看法
- [understanding of opportunity -31]: Guiguzi - Daoyu [x ī] Crisis is the coexistence of danger and opportunity
- When a programmer is disturbed 10 times a day, the consequences are amazing!
- Calculate a=1, a2=1/1=a1
- JUnit unit test
- Day10 daily 3 questions (2): count the number of the largest groups
- Calculate the average of N numbers in the group indexed by the formal parameter x, move the data less than the average in the group indexed to the front of the array, and move the data greater than or
- Learn about common functional interfaces
- Redis 概述整理
- 基于Kubebuilder开发Operator(入门使用)
猜你喜欢

When a programmer is disturbed 10 times a day, the consequences are amazing!

当一个程序员一天被打扰 10 次,后果很惊人!

Leetcode 1169. 查询无效交易(如果数据量不大,这种题还是得暴力枚举解决)

Web3去中心化存储生态图景

How to implement interface current limiting?

Cuckoo filter for Chang'an chain transaction

用Attention和微调BERT进行自然语言推断-PyTorch

1-12vmware adds SSH function

Leetcode 1170. 比较字符串最小字母出现频次(可以,已解决)

Teach you to learn dapr - 2 Must know concept
随机推荐
What does the inner structure of the neural network "alchemy furnace" look like? An interpretation of the thesis by the doctor of Oxford University
【207】Apache崩溃的几个很可能的原因,apache崩溃几个
防火 疏散 自救…这场安全生产暨消防培训干货满满!
对NFT市场前景的7个看法
NFT 交易市场社区所有化势不可挡
Day10 daily 3 questions (2): count the number of the largest groups
108. 简易聊天室11:实现客户端群聊
Web3去中心化存储生态图景
y=1/100*100+1/200*200+1/300*300+.....+ 1/m*m
Redis Guide (8): principle and implementation of Qianfan Jingfa distributed lock
Develop operator based on kubebuilder (for getting started)
[207] several possible causes of Apache crash
Cloud platform monitoring system based on stm32+ Huawei cloud IOT design
Calculate the average of N numbers in the index group of X, and return the number that is less than the average and closest to the average through formal parameters
网页课程设计大作业——华山旅游网
我把它当副业月入3万多,新手月入过万的干货分享!
[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
What is flush software? Is it safe to open an account online?
Failed to upload hyperf framework using alicloud OSS
In a bad mood, I just write code like this