This shows you the differences between two versions of the page.
ndk:assignments:warmup [2014/03/20 00:03] petre.eftime [Points] |
ndk:assignments:warmup [2014/03/22 11:42] (current) petre.eftime [Description] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Warm-up assignment ===== | ===== Warm-up assignment ===== | ||
+ | Deadline: Thursday, 27 March 2014, 23:55:00 | ||
+ | |||
+ | Submit the archived Android projects to the e-mail address: petre.eftime [at] gmail.com | ||
+ | |||
+ | The assignment is individual. | ||
+ | |||
+ | Revision 2. | ||
==== Description ==== | ==== Description ==== | ||
Line 6: | Line 13: | ||
Your task is to create a backup service for Android and an Activity or series of Activities which act as a front-end for the service. Archiving and unarchiving should be handled by a native library. The application must be able to read and write data to the phone's internal or external storage. | Your task is to create a backup service for Android and an Activity or series of Activities which act as a front-end for the service. Archiving and unarchiving should be handled by a native library. The application must be able to read and write data to the phone's internal or external storage. | ||
+ | |||
+ | Points are as separated as possible: e.g. you will receive points if the application can create an archive even if the service is not implemented. | ||
=== Service === | === Service === | ||
+ | |||
+ | The service's purpose is to give applications a quick way to backup and restore data. The service should be accessible by apps outside of it's own and be able to access the SD card. It should function in two modes: started and bound, providing similar functionality. | ||
The service must be accessible implicitly by other applications via the "application.service.NDK_BACKUP" action. | The service must be accessible implicitly by other applications via the "application.service.NDK_BACKUP" action. | ||
Line 22: | Line 33: | ||
=== Application === | === Application === | ||
+ | |||
+ | The application must be able to configure the service and provide a front-end for it, giving the user the ability to back up and restore his personal data, which might not be handled by other applications. | ||
The application should have the following functionality through one or multiple Activities: | The application should have the following functionality through one or multiple Activities: | ||
* A way to set a folder for where the archives will be stored. | * A way to set a folder for where the archives will be stored. | ||
- | * A way to create a backup and way to restore a backup. The archive and path must be supplied by the user. | + | * A way to create a backup and way to restore a backup. The archive (only for restoring) and path must be supplied by the user. |
* A way to explore the file system more easily, to be able to choose archives or paths for the previous tasks. | * A way to explore the file system more easily, to be able to choose archives or paths for the previous tasks. | ||
Line 34: | Line 47: | ||
* Functions for getting the file names and paths in an archive. | * Functions for getting the file names and paths in an archive. | ||
* The archive should be compressed (android comes with libzlib by default) | * The archive should be compressed (android comes with libzlib by default) | ||
- | * It is desirable that the archives are in a standard format (zip, tar, tar.gz, 7zip, etc). You can use external libraries, but the source must be available. | + | * It is desirable that the archives are in a standard format (zip, tar, tar.gz, 7zip, etc). You can use external libraries, but the source code for them must be available. |
+ | |||
+ | The library should be compilable and runnable on x86 processors. | ||
==== Points ==== | ==== Points ==== | ||
Line 46: | Line 61: | ||
* 2p File explorer for selecting locations used in previous two tasks | * 2p File explorer for selecting locations used in previous two tasks | ||
* 4p Native library | * 4p Native library | ||
- | * 1p Archiving | + | * 2p Archiving and Unarchiving |
- | * 1p Unarchiving | + | |
* 1p Compression | * 1p Compression | ||
* 1p Using a standard format for the archive (tar, tar.gz, zip, 7zip, etc.) | * 1p Using a standard format for the archive (tar, tar.gz, zip, 7zip, etc.) | ||
You lose 0.6 points per day for each day after the dealine, up to a maximum of 7 days. | You lose 0.6 points per day for each day after the dealine, up to a maximum of 7 days. |