Bibliotheca - Neslihan Kalayci: Difference between revisions
| (55 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
=== Objectives of Bibliotheca === |
=== 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. |
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 == |
== Requirements == |
||
=== Development Platform === |
|||
Xamarin Studio |
Xamarin Studio |
||
=== Software === |
|||
Android 5.0, Lollipop |
|||
or higher |
|||
Android 6.0, Marshmallow |
|||
== Approach == |
== Approach == |
||
=== Use Case Diagram === |
|||
[[File:Bibliotheca_diagram.png]] |
|||
=== Gantt Chart === |
|||
[[File:ganttchartbibliotheca.png]] |
|||
=== Project Strategy === |
=== Project Strategy === |
||
| Line 21: | Line 50: | ||
===== '''Week 1-5''' ===== |
===== '''Week 1-5''' ===== |
||
- August 31 - September 27 |
|||
- Determining Project Scope and Requirements |
- Determining Project Scope and Requirements |
||
| Line 38: | Line 69: | ||
===== '''Week 6''' ===== |
===== '''Week 6''' ===== |
||
- September 28 - October 4 |
|||
- User Interface design |
- User Interface design |
||
| Line 55: | Line 88: | ||
===== '''Week 7''' ===== |
===== '''Week 7''' ===== |
||
- October 5 - October 11 |
|||
- Android SDK with Android 5.0 is used. |
- Android SDK with Android 5.0 is used. |
||
| Line 90: | Line 126: | ||
===== '''Week 8''' ===== |
===== '''Week 8''' ===== |
||
- October 12 - October 18 |
|||
-Determine Requirements for the CardView Usage |
-Determine Requirements for the CardView Usage |
||
| Line 107: | Line 145: | ||
===== '''Week 9''' ===== |
===== '''Week 9''' ===== |
||
- October 19 - October 25 |
|||
- RecyclerView vs. ListView [http://developer.xamarin.com/guides/android/user_interface/recyclerview/] |
- RecyclerView vs. ListView [http://developer.xamarin.com/guides/android/user_interface/recyclerview/] |
||
| Line 140: | Line 180: | ||
===== '''Week 10''' ===== |
===== '''Week 10''' ===== |
||
- October 26 - November 1 |
|||
[[File:dataitemusage.png]] |
|||
[[File:havereadlistresized.jpg]] |
|||
===== '''Week 11''' ===== |
===== '''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. |
|||
[[File:addnew1v1.jpg]] [[File:addnew2v1.jpg]] [[File:addbookdummy.jpg]] |
|||
- Still working on using SQLite.NET to save book data local database. |
|||
- Considering about another option for keeping data |
|||
* Microsoft Azure Mobile Service [https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-xamarin-android-get-started/] |
|||
- Add book page is still in the working process. |
|||
===== '''Week 12''' ===== |
===== '''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''' ===== |
===== '''Week 13''' ===== |
||
- November 16 - November 22 |
|||
* SQLite.NET usage for 'Have Read Page' |
|||
* New added book in the Recycler View |
|||
[[File:addhaveread_db.jpg]] [[File:showhaveread_db.jpg]] |
|||
===== '''Week 14''' ===== |
===== '''Week 14''' ===== |
||
- November 23 - November 29 |
|||
* SQLite.NET usage for 'To Read Page' |
|||
* New added book in the Recycler View |
|||
[[File:addtoread_db.jpg]] [[File:showtoread_db.jpg]] |
|||
===== '''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. |
|||
[[File:staggeredlayout1_bibliotheca.jpg]] [[File:staggeredlayout2_bibliotheca.jpg]] |
|||
* ''StaggeredGridLayout'' is applied for 'Have Read' & 'To Read' pages. |
|||
===== '''Week 16''' ===== |
|||
- December 7 - December 13 |
|||
-Presentation Week |
|||
Blank for now |
|||
== Project Costs/Budget == |
== Project Costs/Budget == |
||
Latest revision as of 02:51, 7 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
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.
- StaggeredGridLayout is applied for 'Have Read' & 'To Read' pages.
Week 16
- December 7 - December 13
-Presentation Week
Blank for now





















