header icon
back icon
u-book picture
u-book icon

U-BOOK MAY 2016 - AUG 2016

PLATFORM : android
ROLE : programmer
AUTHOR: Juey Yu, Joanna Chou

My teammate and I built an Android application, U-Book, for a special topics class in Interactive Arts and Technology. U-Book is a secondhand book-trade application where students can buy or sell their secondhand textbooks. The goal of this app is to effectively share resources (textbooks) in a convenient way and develop a reliable trading community. In the end of the term, we successfully finished an online database for U-Book.

my role

Our team was composed of two people. I was the programmer while Joanna was the UI designer. In the project, I am responsible for frontend and backend development. As a frontend developer, I implemented interactions including the loading animation. For example, when a button is pressed, a spinning circle would appear on the screen to indicate the loading state. As a backend developer, I built and managed four databases, including two online databases, one SQLite database for the bookmark, and one shared Preference for theme setting. These databases allow users to access account information and book information on any device.

login capture
login screen By Juey, Y., & Joanna, C. (2016).
welcome screen
welcome screen By Juey, Y., & Joanna, C. (2016).
selling books
listview of selling information By Juey, Y., & Joanna, C. (2016).
frontend
user interface development

In this project, I implemented the interactions and interface that designed by my teammate, Jo. Font, spacing and object position were all designed and well implemented. Interactions were designed for purpose: the loading animation was created for the user to remain interested while waiting to load the database. All interactions were designed for enhancing efficiency and user experience.

login pic
the register page of U-Book. By Juey, Y., & Joanna, C. (2016).
database capture
cloud database that associates with user accounts. By Juey, Y. (2016)
backend: Cloud database

One of the highlights is the cloud database we implemented which was beyond the requirements of the course material. During the time, I lacked knowledge on an online database. Due to the feature of U-Book which required databases to input and output a book's information, I discussed with Joanna to take the risk to achieve internet connection service for our project. I selected Bmob as our cloud server, and revised its document to build an account database and a book database. Although the developer document of Bmob was provided on the site, with the lack of examples and practice, we tested and ran the application over 400 times to improve stability and debugging purposes.

bookmark capture
the bookmark function and code. By pressing the heart icon, the infomation of the book will be stored into the SQLite database. By Juey, Y. (2016).
                    
public class MyDatabase {
    private SQLiteDatabase db;
    private Context context;
    private final MyHelper helper;


    public MyDatabase (Context c)
    {
        context = c;
        helper = new MyHelper(context);
    }

    //create table to save data
    public long insertData(String title, String author,String course, String isbn, String contact )
    {
        SQLiteDatabase db = helper.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(Constants.TITLE, title);
        contentValues.put(Constants.AUTHOR, author);
        contentValues.put(Constants.COURSE, course);
        contentValues.put(Constants.ISBN, isbn);
        contentValues.put(Constants.CONTACT, contact);

        long id = db.insert(Constants.TABLE_NAME, null, contentValues);
        return id;
    }

    public Cursor getData()
    {
        db = helper.getWritableDatabase();

        String[] columns = {Constants.UID, Constants.TITLE, Constants.AUTHOR, Constants.COURSE, Constants.ISBN, Constants.CONTACT};
        Cursor cursor = db.query(Constants.TABLE_NAME, columns, null, null, null, null, null);
        return cursor;
}

                
                
backend: SQLite database for bookmarking

SQLite database is implemented in bookmark function. By clicking the icon under product review page, the book will be added into bookmark and is stored into SQLite database. Users can view their bookmark under user profile. This code demostrated the form of the SQLite database.

theme setting
theme selection screen. By Juey, Y., & Joanna, C. (2016).
decision making

Initially, the UI designer, Joanna, wanted to add a theme changing function to the welcome page. She designed the interaction in such a way that when the user clicks the icon on the screen, a list of colors will pop out for the user to choose. However, the design was made close to the deadline. To ensure functionality and to maintain time management, I decided not to spend much time on adding supplementary front-end strategy, but simply included one more page for functional purposes. By finishing the project with limited time, we had spare time for polishing and debugging the database for stability. Sometimes, it is important to keep to the schedule when time is restricted.

final evaluation of U-Book

One of the things I learned from this project was the need to develop a backup plan if I want to implement new knowledge to a project. If I cannot guarantee that the new function works appropriately within the given time, I will consider the use of the backup plan to ensure that the project will be completed.