android projects luca bedogni marco di felice dipartimento di scienze dell’informazione...

29
Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Upload: tatiana-slatton

Post on 14-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Android Projects

Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione

Università di Bologna

Page 2: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

2

The following proposals must be considered just hints.

All the main functionalities listed must be implemented (minimal requirements to have the project accepted).

We strongly encourage to expand/customize the proposal based on your creativity.

Page 3: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

3

Projects described in the following must be deployed by a single student. Group projects are not allowed.

Project implementation must be original and 100% student work (no code share or reuse).

Submit the project by email (lam-

[email protected]) including all code, a technical report and directives required to compile/execute the project.

Page 4: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

4

Best students’ projects will be published on the WILMA-LAB wiki:

http://www.cs.unibo.it/projects/wilma-lab/wiki/

Read and follow the instructions about projects submission policies (deadlines, validity, etc) on the course website:

http://www.cs.unibo.it/bononi

Page 5: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) 5

PROPOSAL 1PROPOSAL 1

Page 6: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 6

Android Project Proposals

Android Budget Tracking Application Android Budget Tracking Application

Track current/periodic expenses

Browse data and generate reports

Compute and display useful statistics to keep personal finances in order.

Page 7: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 7

Android Project Proposals

Android Budget Tracking Application Android Budget Tracking Application

Functionality1: Allow tracking of everyday’s expensesAdd information about a current expense (e.g. date, amount, category, description, etc)Save all the information on a local databaseTrack location (e.g. shop’s location)Optional: Save a picture of the item, acquired through the photocamera

Page 8: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 8

Android Project Proposals

Android Budget Tracking Application Android Budget Tracking Application

Functionality2: Manage periodic/planned expensesAdd information about periodic expenses (e.g. loan)Add information about planned expenses (e.g. bill)Budget must be updated at the payment datePeriodic reminders should be shown 1 and 2 days before (e.g. through notifications or alert dialogs)

Page 9: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 9

Android Project Proposals

Android Budget Tracking Application Android Budget Tracking Application

Functionality3: Visualize and browse expenses by dateVisualize and enable browsing the list of expenses day by day, weekly or monthlyAllow the creation of PDF report (saved locally)Display locations on the Google Maps

Page 10: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 10

Android Project Proposals

Android Budget Tracking Application Android Budget Tracking Application

Functionality4: Provide weekly and monthly statisticsCompute and visualize useful statistics about weekly and monthly expenses (e.g. total expenses for each category, budget over weeks, etc). Charts can be generated to visualize data.

Page 11: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 11

PROPOSAL 2PROPOSAL 2

Page 12: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 12

Provide the possibility to edit a text file.

Provide support for LaTeX commands/syntax.

Enable remote PDF compiling and file transfer.

Implement a LaTeX Editor for Android Implement a LaTeX Editor for Android

Android Project Proposals

Page 13: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 13

Implement a LaTeX Editor for Android Implement a LaTeX Editor for Android

Functionality 1: Typical Editor Functionalities

Open a text fileEdit the fileSave the fileClose the file..

Android Project Proposals

Page 14: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 14

Implement a LaTeX Editor for Android Implement a LaTeX Editor for Android

Functionality 2: Support to LaTeX syntax/commands

Highlight the LaTeX commands/symbols (e.g. with colored text).

Help the user in inserting the LaTeX symbols (e.g. math symbols) on the text.

Android Project Proposals

Page 15: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 15

Implement a LaTeX Editor for Android Implement a LaTeX Editor for Android

Functionality 3: Enable remote PDF compiling.

The app must transfer the .tex file to a remote server, where a PDF compiler is working.

Once the PDF is ready, it must be transferred back to the mobile device. An Intent should be generated to open the File.

Android Project Proposals

Page 16: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 16

Implement a LaTeX Editor for Android Implement a LaTeX Editor for Android

Functionality 3: Enable remote PDF compiling.

(Optional) Manage also the compiler log (e.g. to handle the presence of errors).

(Optional) Allow the users to insert images to the .tex document. In this case, a .zip archive should be produced and sent to the remote server.

Android Project Proposals

Page 17: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 17

PROPOSAL 3PROPOSAL 3

Page 18: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 18

Android Project Proposals

Android RSS (Really Simple Syndication) Client Android RSS (Really Simple Syndication) Client

Add new RSS feeds Display the RSS feeds. Share a post link on a

social media. Congure parameters

Page 19: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 19

Android Project Proposals

Functionality 1. Add new RSS feedsUsers enters web URLs corresponding to an RSS feedsA service should check the validity of the URL.A list of current RSS feeds must be mantained.Add new RSS feeds based on Intents launched

by other applications.

Android RSS (Really Simple Syndication) Client Android RSS (Really Simple Syndication) Client

Page 20: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 20

Android Project Proposals

Functionality 2. Display the RSS feedsShow the list of feeds registered in the device, with the number of unread posts.Show the posts on clicking on a feed.Enable marking of a post through long-click (mark type: read, unread, favourite).Enable off-line reading through a local database

Android RSS (Really Simple Syndication) Client Android RSS (Really Simple Syndication) Client

Page 21: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 21

Android Project Proposals

Functionality 3. Share a post link to social media

The application should provide, via a long click listener or something similar, an action to post a link in social networks such as Twitter or Facebook.Additional text can be (eventually) inserted by the user.

Android RSS (Really Simple Syndication) Client Android RSS (Really Simple Syndication) Client

Page 22: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 22

Android Project Proposals

Functionality 4. Configure parameters

Allow a user configuring the application parameters (e.g. frequency update).Use Android SharedPreferences system to save preferences values, load them when the application is up.

Android RSS (Really Simple Syndication) Client Android RSS (Really Simple Syndication) Client

Page 23: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 23

PROPOSAL 4

Page 24: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 24

Android Project Proposals

Android IFTTT (If-this-than-that) Engine

Recognize a set of pre-defined contexts.

Capture a set of pre-defined events.

Define a list of possible actions.Allow the creation of rules:

<Context,Event> Action

Page 25: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 25

Android Project Proposals

Android IFTTT (If-this-than-that) Engine

Functionality 1: Recognize a set of contextsAllow user’s defying context name (e.g. meeting) and characteristics. Basic characteristics:

Temporal information (e.g. date/time) Spatial information (e.g. GPS location) Mobility information (e.g. GPS speed,

acceleration, etc)

Page 26: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 26

Android Project Proposals

Android IFTTT (If-this-than-that) Engine

Functionality 1: Recognize a set of contextsAllow user’s defying context name (e.g. meeting) and characteristics. Optional (fine-grained) characteristics:

Sensor values and patterns (e.g. accelerometer) Radio interface state (e.g. WiFi state) Microphone/videocamera inputs

Page 27: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 27

Android Project Proposals

Android IFTTT (If-this-than-that) Engine

Functionality 2: Event RecognitionCapture and recognize a list of external eventsthat might occurr on the smartphone..Examples of events:

Phone call incoming SMS reception WiFi detected ….

Page 28: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 28

Android Project Proposals

Android IFTTT (If-this-than-that) Engine

Functionality 3: Provide a list of pre-dened actions and notications that can be executed.Three categories of actions:

Modify the smartphone setting (e.g ring tones on/off) Recall the user's attention through status-bar

notifications Perform operations on social media (e.g. publish a

state update on Facebook)

Page 29: Android Projects Luca Bedogni Marco Di Felice Dipartimento di Scienze dell’Informazione Università di Bologna

Luca Bedogni, Marco Di Felice - Programming with Android – Android projects, a.y. 2013/2014(c) Luca Bedogni 2012 29

Android Project Proposals

Android IFTTT (If-this-than-that) Engine

Functionality 4: Allow a user speciying IFTTT rules.IFTTT Rule: <Context, Event> Action

Continously monitor context/event and perform corresponding action

Optional elements: Allow combining multiple contexts/events

through boolean operators (AND,OR, NOT) Allow multiple actions on the same IFTTT rule