当前位置:网站首页>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
边栏推荐
- What is the preferential account opening policy of securities companies now? Is it safe to open an account online now?
- Use the array to calculate the average of N numbers, and output the numbers greater than the average
- Toupper function
- 最小二乘系统辨识课 中篇:递归最小二乘
- Calculate the sum of the main diagonals of the array
- Call the random function to generate 20 different integers and put them in the index group of institute a
- TCP拥塞控制详解 | 1. 概述
- 牛客编程题--必刷101之动态规划(一文彻底了解动态规划)
- Arduino uno + DS1302 simple time acquisition and serial port printing
- [understanding of opportunity -31]: Guiguzi - Daoyu [x ī] Crisis is the coexistence of danger and opportunity
猜你喜欢

Make up the weakness - Open Source im project openim about initialization / login / friend interface document introduction

Stm32h7b0 replaces the h750 program, causing the MCU to hang up and unable to burn the program

Introduction to minimal API

Science | 红树林中发现的巨型细菌挑战传统无核膜观念

How to implement interface current limiting?

Structure the graduation project of actual combat camp

Gui+sqlserver examination system

QT 5.9.8 installation tutorial

Teach you to learn dapr - 2 Must know concept

IAR engineering adapts gd32 chip
随机推荐
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
# 补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍
Greenplum database fault analysis - semop (id=2000421076, num=11) failed: invalid argument
Web3去中心化存储生态图景
Day10 daily 3 questions (1): sum gradually to get the minimum value of positive numbers
Scala Basics (II): variables and data types
Constructors and Destructors
Cuckoo filter for Chang'an chain transaction
进军AR领域,这一次罗永浩能成吗?
[Error] ld returned 1 exit status
Scala 基礎 (二):變量和數據類型
基於Kubebuilder開發Operator(入門使用)
100+数据科学面试问题和答案总结 - 基础知识和数据分析
Science | giant bacteria found in mangroves challenge the traditional concept of nuclear free membrane
防火 疏散 自救…这场安全生产暨消防培训干货满满!
Several forms of buffer in circuit
num[i]++
Gui+sqlserver examination system
电路中缓存的几种形式