Bibliotheca - Neslihan Kalayci: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
Line 42: Line 42:
=== Gantt Chart ===
=== Gantt Chart ===


[[File:GanttChart_Bibliotheca.png]]
[[File:Bibliotheca GanttChartv1.png]]


=== Project Strategy ===
=== Project Strategy ===

Revision as of 20:25, 1 December 2015

Introduction

Creating native Android app in C#.

About Bibliotheca

Bibliotheca is a mobile application that enable users to keep their own collection of books. It can be also evaluated as a book journal. By using this application, users can have a mobile library that keep tracks of their reading habits.

Objectives of Bibliotheca

The objectives of Bibliotheca to give users a platform that creates their own virtual library. Bibliotheca will work on Android mobile operating system. User can create their own profile and add/delete/update books on the system. The application consists of four different pages to meet the different demands; 'Books to Read'(like a wish list), 'Reading Now', 'Have Read' and 'Favorites'. In this virtual library system, each book has their own book cover, brief description etc. Each page will have different attributes to keep book's data with regarding user's preferences.

Page Attributes/Specifications

Main Page

Have Read Page

To Read Page

Reading Now Page

Favorites Page

Requirements

Development Platform

Xamarin Studio

Software

Android 5.0, Lollipop or higher Android 6.0, Marshmallow

Approach

Use Case Diagram


- in progress

Gantt Chart

Project Strategy

The Project Schedule

Based on weekly stages

Stages

Week 1-5

- August 31 - September 27

- Determining Project Scope and Requirements

- Xamarin Studio configuration

- Xamarin user account validating

- Investigate Xamarin Android Guides [1]

- Understanding of Application Fundamentals

- Becoming familiar with User Interface & Elements

- Working with user interface elements; Textbox Usage, Button Click, Layout, Frame Layout, Relative Layout, Toolbar, Side view , Recycler View etc.

Week 6

- September 28 - October 4

- User Interface design

- Outlining pages and subpages in the mobile application

- Determining the user interface elements to fulfill the demand

- Starting with 'Have Read' page design & Determining Page Features;

This page will get information about book from user by asking the book title, author name, book cover, and brief description of book. After saving the new book, books can be listed on the grid view or list view format. Books also can be rated by user in the adding new book page.

- While choosing book cover page, user will have two options which are 'Select from gallery' or 'Take a new picture' .

- Adding new book also have two possible outcome; failed and succeed. If a problem occurred, the system wants to readjustment for book's info. Otherwise, pop-up message will appear which says that 'Saved Successfully!' .

Week 7

- October 5 - October 11

- Android SDK with Android 5.0 is used.

- Newest version of Library & Packages are being used for this project.

- MainActivity is changed from Activity to AppCompatActivity.

- Google Material Design is applied. [2]

- Custom Xamarin Android Material Theme Introduction [3]

  • Customize Material Design

- Material Design - Adding Toolbar [4]

  • Toolbar is used instead of ActionBar.(Replacing the ActionBar with the new Support v7 App Compat Toolbar.)
  • Support Toolbar (New version)
  • Support Toolbar came with Support v7 AppCompat & Xamarin Support Library Design
  • Creating Toolbar & Theming for each sub-page and main page
  • Create Toolbar style in the values folder.
  • Current/default android theme was changed to customize my own theme.

- Floating Action Button for the Main Page

  • Click Event
  • Customize Color & Design
  • Customize click effect

- Navigation View is created in the Drawer Layout. [5]

  • Customize Navigation View items
  • Icons are added for each item. Icons are selected from Google Material Icons. [6]
  • Click event is created. Navigate a new page for responsible item.

- Create separate pages for the Have Read, To Read, Reading Now, Favorites & Add Book

  • Add toolbar in each layout

Week 8

- October 12 - October 18

-Determine Requirements for the CardView Usage

  • Xamarin.Android – Xamarin.Android 4.20 or later must be installed and configured with Xamarin Studio. In Xamarin Studio, version 5.5.4 or later is required.
  • Android SDK – Android 5.0 (API 21) or later must be installed via the Android SDK Manager.
  • Xamarin.Android.Support.v7.CardView package.(added from Xamarin Studio)

- Basic CardView

  • Usage

- CardView Usage in the Have Read Page[7]

  • Customize and Create Card View to show up list of books


- Research about RecyclerView & CardView usage

Week 9

- October 19 - October 25

- RecyclerView vs. ListView [8]

  • RecyclerView can be described as a new form of ListView.
  • RecyclerView is an Android widget that displays a collection of items in a list or a grid, enabling the user to scroll through the collection.

  • The LayoutManager can be thought of as the intermediary between the Adapter and the RecyclerView.
  • The Adapter inflates the layout for that item and creates a ViewHolder instance (not shown) to cache references to the views at that position.
  • Data Set is the Book Data list.

- Basic RecyclerView

  • Usage

- RecyclerView adapter is added into the Have Read Page.

- Recycler View & CardView

  • In the Have Read Page, RecyclerView will be applied.
  • RecyclerView contains a list of book as in a CardView Design.

- Find out possible database solutions for Xamarin Android

  • Decide which platform is going to be used

-Databases are primarily used for the storage and recall of information. There are three key ways to use the built in capabilities of the Android database system.;

  • Create a Database using ADO.NET
  • Create a Database using SQLite
  • Create a Database using the SQLite Component

- Working on the keep Book Data in offline

  • Xamarin SQLite is going to be used for this process. [9]
Week 10

- October 26 - November 1

Week 11

- November 2 - November 8

- android.support.design.widget.TextInputLayout is used.

- Hint Text Option, the new Material Design Component

- Select image option may be exposed to change.



- Still working on using SQLite.NET to save book data local database.

- Considering about another option for keeping data

  • Microsoft Azure Mobile Service [10]

- Add book page is still in the working process.

Week 12

- November 9 - November 15

  • I've decided that which database solution is going to be used for this project.
  • Research about SQLite.Net implementation for Xamarin Android
  • Working on Local Database
Week 13

- November 16 - November 22

  • SQLite.NET usage for 'Have Read Page'
  • New added book in the Recycler View

Week 14

- November 23 - November 29

  • SQLite.NET usage for 'To Read Page'
  • New added book in the Recycler View

Week 15

- November 30 - December 6

  • I'm working on the displaying Recycler View in different forms.
  • Trying to do some design like Pinterest's Card View - Material Design Component
LinearLayoutManager – Arranges items in a column that can be scrolled vertically, or in a row that can be scrolled horizontally. 
GridLayoutManager – Displays items in a grid.
StaggeredGridLayoutManager – Displays items in a staggered grid, where some items have different heights and widths.
  • Probably StaggeredGridLayoutManager will be used.
Week 16

- December 7 - December 13

-Presentation Week

Blank for now

Project Costs/Budget

Project Management Plan