Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college.


Download 49.82 Kb.
NameAbstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college.
A typeAbstract




NUIG Android application

Carly Bennett, Luke Feeney, Marek Mazur, Domnick Sharkey




3/23/2012


Abstract

Our group project was to build an application for the Android mobile platform. We decided on the subject NUIG. This application was built with the student in mind; new students can use it to find their way around college. Existing students can also use it to find information such as lecturer numbers, emails etc or doctor information and more. We have achieved everything we set out to do in our project proposal. This report will go more in depth into the technologies we used and the application itself.

Contents

Acknowledgements

Introduction

Application description

Application design

Technical Reviews

Methodology

Conclusions

Appendices

Acknowledgements

We would like to thank the entire lecturing staff in the IT department in NUIG for providing us with the knowledge to complete our project.

We would also like to thank Dr Des Chambers for being a supportive supervisor to our group project.

Introduction

We have created an application designed especially for students attending NUIG. We had a number of ideas to start with such as:

  • A shooting augmented reality game similar to the NUIG assassin (1) game. Students would be able to see targets in the area and gain scores if they shoot people.

  • An application that could locate objects such as keys when they have been lost.

We decided not to do the shooting game, as we were unsure how to locate other player’s phones. We could have used the wifi network but then every student would have to be connected to the same wifi in order to play the game.

The application for finding things was not picked as we would have had to have a GPS locator on the object maybe by sticker or key ring. These were quite expensive so we decided to think up some more ideas.

In the end we thought up the NUIG idea. As some members of the group were new to NUIG they voiced their concerns as a new student trying to navigate through NUIG or find information easily. This led us to our final project ideas. We researched other apps by universities including the university of Limerick (2) and UCD (3). These applications where very informative but we thought we could improve on their applications with our own.

We will explain our application and all of its features in more depth in the next section.

Application description

Main Section

The main Screen is a dashboard layout with four buttons, one for each section. Each section is explained in more details below. The application follows the same design throughout. After the user clicks the NUIG icon in their menu this is the first screen they are taken to. Within 3-4 clicks the user should be in the exact section of the application they are looking for.

Map Section

(LUKE)Explain functionality what menus do what the section does as a user  screen shots if you can get them

Format screen shots with simple black frame, size 33% by 31% size and text wrapping square ;)

Information Section

In the about section we have another dashboard style layout similar to the main screen. In this section we have four options also.

The search options allow the user to search for either lecturers or societies. The course information allow the user to search for a course and view the course details, they also have an option to view the course online on the NUIG website.
The Useful contacts screen gives the user details to important contacts such as the doctor or fees office. The book a service screen allows the user to book a room through the NUIG website or view it rooms that are free also through the website.

Search options

This is the main screen in the search options section. It allows the user to search for lecturers or societies. I will show below how the search lecturer section works as the societies is the same.



Here we start with the search bar, this asks for the lecturers surname to be input. Once the user clicks into the search box the keyboard pops up to allow for input. If cancel is clicked the search box is cleared, if search is clicked the search is performed, if nothing is in the text box the search will retrieve all lecturers in the database as in the following screenshot.

As you see here all the lecturers are displayed. The user can now scroll down the list and find the lecturer they want. Once the lecturer is clicked on, a new screen opens up to show that lecturers details.



This screen shows how the details appear. When the call lecturer button is clicked the phone will call the lecturers phone number. After the call is finished the user can simply click the back button on their phone to return to this screen.

Search for a course

This section is very similar to the search lecturer and societies sections except the user can view the PDF timetables of the course as well as a web view of the course on the NUIG website this is shown below in the screen shots.



Useful contacts

This section shows six different buttons in the dashboard layout style. Each section is a similair layout allowing the user to view information that may be important to them as a student. The screenshots below show more.

This is the details screen for the careers section. All other sections are laid out the same with the ability to call the relevant number needed.



Book a service

This screen shows the booking options. Two options are available. The book room screen brings you to the NUIG website page for booking rooms. The free it rooms brings you to the NUIG website to view the free rooms.

Student union Section

(Marek)Explain functionality what menus do what the section does as a user screen shots

Format screen shots with simple black frame, size 33% by 31% size and text wrapping square ;)

Blackboard Section

The blackboard section of this project consists of an android webview, which redirects a user to the university’s blackboard page. The link for this section comes from the blackboard button on the main dashboard screen. This shows a user the login screen, where the user can enter their personal login details in order to get access to blackboard.



This screen shows the main page after logging in, showing them the most recent announcements relating to their courses.

Scrolling to the side will show the user a list of the courses they are registered for. This shows the nature of the screen in a webview. Zooming out will allow more data to be shown on the screen, but at a much lower resolution.



This screen shows the homepage for a selected course, where the announcements, course details and lecture notes can be accessed at a user’s ease.

Users can select whichever notes and documents they want and the device will download them into a downloads folder, which can be viewed at any stage, as long as the proper software is installed on the phone to allow for document viewing.

Application design

We wanted the application to look as clean and authentic as possible. We used the NUIG brand book for the colours (4) and logo styles of our application. Originally the application main layout was a series of rectangular buttons which had to be scrolled through down the page. We decided this wasn’t a very nice look for our application so we explored more layout designs. We found a nice tutorial for how to make a dashboard layout (5). The code was nicely laid out and easy to understand which made it very easy for us to adapt it to what we wanted our application to look like.

Each button on our dashboard layout has a main picture as well as a picture for when the button is pressed; these were all made using Adobe Photoshop.

For the sub sections that only had a few options we used normal rectangular buttons. We found a nice site that showed a nice gradient button with text that had a drop shadow effect to it. (6)

We tried to make the design consistent throughout the application by using similar layouts, colour schemes and also the title and footer bar are the same.

Technical reviews

In this section we will explain some of the technical uses of our application. A lot of android mobile integration was used, connecting our application with the uses already existing on the android mobile phones.

Google Maps

(Luke) write about how the maps works from phone

GPS

(Luke) write about how gps works and how works in map

Accelerometer

(Luke) write about how the accelerometer works, how used in map

Call intents

An intent is an abstract description of an operation to be performed. It can be used withstartActivity to launch an ActivitybroadcastIntent to send it to any interestedBroadcastReceiver components, and startService(Intent) or bindService(Intent, ServiceConnection, int) to communicate with a background Service.

An Intent provides a facility for performing late runtime binding between the code in different applications. Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed. The primary pieces of information in an intent are:

  • action
    The general action to be performed, such as ACTION_VIEW, ACTION_EDIT, ACTION_MAIN, etc.


  • data
    The data to operate on, such as a person record in the contacts database, expressed as a Uri.


(7)

The call intent for android uses the ACTION_CALL which launches android’s calling functionality from within the application. It takes a string input, in our application I have taken this string from our database of phone numbers.

Databases

SQLite is an Open Source Database which is embedded into Android. SQLite supports standard relational database features like SQL syntax, transactions and prepared statements. In addition it requires only little memory at runtime (approx. 250 KByte).

SQLite supports the data types TEXT (similar to String in Java), INTEGER (similar to long in Java) and REAL (similar to double in Java). All other types must be converted into one of these fields before saving them in the database. SQLite itself does not validate if the types written to the columns are actually of the defined type, e.g. you can write an integer into a string column and vice versa.

More information about SQLite can be found on the SQLite website: http://www.sqlite.org.

SQLite is available on every Android device. Using an SQLite database in Android does not require any database setup or administration.

You only have to define the SQL statements for creating and updating the database. Afterwards the database is automatically managed for you by the Android platform. (8)

Most SQLite tutorials on the internet show you how to build your own database by ‘hard-coding’ the database. i.e building the database through sql statements in an activity. Our application however would have ended up very large and slow if we had done it this way. This is because every time the app is loaded the database is built which seems inefficient. Our database was built separately and then connected to through an adapter.

Web browser

The android webView class allows developers to display online content in a mobile device. On the creation of an android activity, a new instance of the webView class can be created and urls and be loaded from them in order to display content on the browser. Additional settings on webView objects include the zoom function which allows a user to zoom in and out as desired, and the ability to go back through pages using the back button.

In the android developing environment, certain permissions must be allowed in order to allow for application functionality. In relation to the webView used in displaying online content, the application must have internet access. In android application development, the manifest must include permission for internet access, so that the app can connect to the internet.

For the purposes of this project, the ability to view pdf and ppt file formats was discussed, as lecture notes and course documentation usually come in one of these two forms. A drawback was discovered in the android development kit in that it does not incorporate a built-in pdf and ppt viewer. We therefore needed to find a way to allow users to view their notes, and effort was put into developing a way around this problem. A potential solution came in the form of Google Docs, which allows users pass a url into a program that allows users to view their documents online, without the need for additional software. The provision on this method was that the url must be filtered to the file formats pdf and ppt.

It was discovered in the testing of the webView capabilities that a long click on a downloadable link or file prompted a download menu in which a user could choose to download the file to a local downloads folder. This feature proved useful in the functionality of our application as downloaded files could be stored on the mobile device and accessed or transferred at a user’s will.

SD Card

(Marek ) write about how to write a file to sd card and create directory etc

Server downloads

(Marek) write about how to download to phone from server

Camera

(Marek & Luke) write about how the camera is used in different ways, either can write about camera functionality 

Methodology

In this section we will explain in more detail how each section was created and any sources we used to help will be referenced.

Map Section

(Luke) what you did

Information section

Design

During the Christmas break, I decided to start looking up any tutorials we made need for building this application. I also started to play around with the designs and layout for applications. From looking at other example applications I decided the best design for our application would be to make it look as authentic to NUIG as possible.

Originally the layout had the title bar and a list of rectangular buttons which didn’t look very clean from a user’s point of view.

I researched how other applications had their layouts and came across a tutorial for building a dashboard style layout. (5) This was followed and adapted to mould it to our design needs. Next job was to design out buttons which had to be simple but match our scheme.

Once the layout was complete we could start working on our individual sections.

Information section

The first thing I had to work on was how to implement our database. I researched SQLite which is the main Android database. We had two options such as SQLite or mySQL on a server. I decided to go with SQLite. The reasoning behind this was as a student looking for information such as the doctor or a lecturer, the student may need to get this information on demand. If we had gone with an online database and pulled the information the student would have had to connect to the internet. Issues with connecting to the internet are, they would have to log in, there may not be any internet connection available or maybe the phone battery could be low which will be run down a lot quicker with wifi connected on a smartphone.

Whilst researching SQLite I found many tutorials where ‘hard-coding’ there databases. With the information I needed in the database this was not a good option. I found a tutorial showing how to connect a pre-populated database with an android application. This is the option I chose to use. To add this functionality I used 2 tutorials (9) (10)

To pull the data from the database and view it in a list I also found a good tutorial on Youtube. (11)

To create the search, I simply added a text box and a search button. When the search button is pressed it retrieves a cursor. Most of the work is done by the actual SQL statement, this calls all information from the database where the argument typed into the text box matches the information from the database. The results are then displayed in a list view.

To call from the selected society/lecturer I used another tutorial to set up the call intent (12). This then had to be modified from using a ‘hard-coded’ string into using the information from the phone number in the database. This was done by saving the phone number string from the database cursor. I then added a 0 to the string to get the correct number. The variable holding the phone number string was used in the uri.parse to set the data to call. This code was all added into the button click listener. This means when the user clicks the call button the call intent is called for that specific phone number.

The webview works on the same principles, only instead of calling the phone number in the database; I used a web intent and set the url to the url in the database.

The search societies, search lecturers, search course and view important information sections all work on the dame principles with minor changes depending on what each section had to do.

The find a course section also shows timetables, there was a problem with being able to view the timetables as they were in PDF format. This was corrected by using Google docs in the url.

The book a service sections simply use a web intent linking to the correct websites on the nuig website to book these services.

Student union section

(Marek) what you did

Blackboard section

A standard wevbiew was programmed in order to allow a user to view online content, but not before the android manifest had to be updated to allow for permission for the application to access the internet. The webView activity itself also needed to be added to the manifest, in order for this section of the application to run. In the programming of the webview, the home page would be the NUI Galway blackboard website, www.nuigalway.blackboard.com. So long as the android device was connected to the internet, the user could log onto blackboard and navigate as they wished. Additional pieces of code allowed for advanced navigation, such as zooming on the screen and backtracking. This provided the user with almost all the functionality required to fully navigate and interact with blackboard from an online mobile device.

Using conditional logic and the webView class and methods, the addition of a prefix Google Docs url could be added to the url of a link to a pdf or ppt donument in order to view the document online, and this was implemented into the blackboard activity in order to allow users to view course notes etc. However it was discovered in the testing of this method that even though it worked for normal urls with the suffix pdf and ppt, it did not work properly for the attached notes located inside the blackboard website.

To combat this drawback, more effort was put into the downloading of course notes onto the device so that they could be stored locally and accessed through a document viewing application such as adobe reader for android, or through uploading the notes onto a computer from the mobile device. Luckily, the android webview class allows for the downloading of files and attachments to a local downloads folder. This method was agreed upon because of android’s lack of document viewing capabilities and the ease of downloading files from the webview.

Conclusions

Each write one paragraph about what we found if we met our goals or not

Testing

(Domnick)Lol this ones up to you :D

Errors

Error: activity not found.
This error came up a lot in our application and the main problems where simple spelling mistakes in the androidManifest.xml file. Other problems where forgetting to add a permission or forgetting to add an activity to the manifest file.

Another error we came across was when we integrated the map into the rest of the project. As the map uses Google maps the map would not the work. The way this was corrected was to use the android 2.2 with Google API set in the project preferences. We also had to use an emulator that had Google maps incorporated. The manifest file had to be updated to use Google libraries also.

Future work

In future we would like to update the database to include all of the information instead of just for the IT department in NUIG.

Having the blackboard section to download notes would be good if we could add a feature to create notes alongside the lecture slides, this would prevent student having to write notes on a notepad or print many slides out for lectures.

Appendices

References



1. http://www.boards.sin.ie/viewtopic.php?f=65&t=19425&start=0. [Online] http://www.boards.sin.ie/viewtopic.php?f=65&t=19425&start=0.

2. http://education.appdownloadreview.com/online/university-of-limerick. [Online]

3. http://www.ucd.ie/itservices/itsupport/ucdmobile/. [Online]

4. http://www.nuigalway.ie/vp/siea/internal/corp.html#6. [Online]

5. http://www.androidhive.info/2011/12/android-dashboard-design-tutorial/. [Online]

6. http://www.dibbus.com/2011/02/gradient-buttons-for-android/. [Online]

7. http://www.skill-guru.com/blog/2011/01/18/how-to-move-from-one-screen-to-another-through-intent/. [Online]

8. http://www.vogella.de/articles/AndroidSQLite/article.html#overview. [Online]

9. http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/. [Online]

10. http://www.youtube.com/watch?v=A-cIZoSa5bA&list=UUubLHJktculMCJgUBsct9uQ&index=14&feature=plcp. [Online]

11. http://www.youtube.com/watch?v=Awu7Rlsez_k&feature=mfu_in_order&list=UL. [Online]

12. http://www.helloandroid.com/tutorials/how-make-phone-call-your-application. [Online]

13. http://www.skill-guru.com/blog/2011/01/18/how-to-move-from-one-screen-to-another-through-intent/. [Online]

Share in:

Related:

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconAbstract Our group project was to build an application for the Android...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconAbstract -this research evaluates product-line software engineering...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconDevelopment of Android application, Web application and Website for Investickations Project

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconStudents College application checklist

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconAbstract Business faculty, heeding advice from employers and others,...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconAbstract The evolution of smart phone and social media encourages...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconAndroid Application Development : Architecture, Design and Implementation...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconAbstract mobile sensor node deployment and power management are important...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconThe idea behind the Start menu is a good one: Put every application...

Abstract Our group project was to build an application for the Android mobile platform. We decided on the subject nuig. This application was built with the student in mind; new students can use it to find their way around college. iconInternational Student Application Procedure for Students of Sheik...




forms and shapes


When copying material provide a link © 2017
contacts
filling-form.info
search