Pages

Sunday, February 25, 2018

Quiz Maker 1.0.0.6



PDF Document
Google Play Store

Quiz Maker is an Android application created in Java programming language using Eclipse IDE. The application has an implementation of a local SQLite database and it allows users to create their own quiz fast and easy. Quiz Maker supports text, image and audio type content. Data can be backed up to various file formats including JSON, XML, PDF and TXT. It is also possible to back up a whole database with a single click. HTML/JavaScript version of the quiz can be easily generated for selected category.

Application intro displays title, logo, website link and buttons. The logo symbolizes letter Q which stands for quiz and brain that signifies knowledge and intelligence. User can proceed to the main menu activity by pressing on “Enter” button or leave application by pressing on “Exit” button.

Iconset

The application iconset is designed in Inkscape v0.91 and it consists of 15 icons. The icons are used for menus and other features. They are designed to be in three colors: red, blue and white.

Fill color: RGBA(ffffffff)
Stroke color: RGBA(4682b4ff)
Icon color: RGBA(ff0000ff)

Main Menu

The main menu shows a list view with 10 items that have icon and description:
1. Start Quiz – starting the quiz with selected category,
2. Quiz Editor – editing questions and answers,
3. HiScore – viewing player results,
4. Players – managing players,
5. Import – importing files,
6. Export – exporting files,
7. Backup & Restore – securing the database,
8. Database Info – displaying database usage,
9. About Program – displaying info about application,
10. Quit – exiting the application.

Quiz

The quiz activity has text views for question title, checkboxes for answers and buttons for answering or skipping question. Sound that indicates correct or wrong answer will be played after answering the question. If user does not know the answer to the question, it can be skipped. Quiz will quit by pressing the back button after confirming that action in the alert dialog.

Result

After answering all questions or quiting a quiz, result activity will appear. It will display information about total number of correct and wrong answers and percentage on a chart diagram. The chart diagram image can be saved to file by clicking on „Save Chart“ button. Clicking on „Next“ button will start activity for saving score.

Save Score

User can choose to save the current score or not. Player must be created before the score can be saved. If the player is already added in the database, user can click on „Existing Player“ button, otherwise user can click on „New Player“ button to create a new player.

Quiz Editor

The editor displays buttons for categories and questions. In order to add questions with answers, user must create a category first.

Categories

Categories can be easily searched in the text field. Every category list item contains buttons for editing and deleting a category. The number of total questions for category will appear on each list item, also. Button for adding a new category is located at the bottom of the activity. It is mandatory to create a category before questions can be inserted into the database.

Category Editor

Parameters for quiz category are name, password, confirm password and options for password prompt on start, shuffle questions and shuffle answers. Password disables editing or deleting a category by unauthorized user and password protected quizzes cannot be exported to file before entering a correct password.

Question Editor

Question and answer contents are feasible for textual, image and audio types. Each question may have unlimited number of answers. The questions can have more than one correct answer. Play and stop button will be shown for audio files and image view will be displayed for image content type. It is very simple to add or remove answers in the list view.

HiScore

HiScore list items contain player names with place and number of correct and wrong answers. The list is ordered in SQL code by multiple data table columns. Score data can be searched in the text field on the top. There is a button at the bottom for clearing all hiscore data. By pressing on it an alert dialog will ask user to confirm the action.

Score

Number with total of correct and wrong answers is visible on score activity. The list items display question text and they show information if the question was answered correct or wrong. Bitmap icon is used to indicate correct or wrong answer, too.

Players

The main purpose of player data is to identify user score in the hiscore rank list. List items show player name with registration date under. Player data can be edited only if correct password is provided. Deleting a player will result in deleting hiscore data for that player.

Player Editor

Player parameters are name, password and confirm password. The password is required for preventing unauthorized user from using a name of another user.

Import

Quizzes are available for import from JSON and XML files. Information message with total number of imported categories will be shown after a successful file import.

Export

File export manager allows exporting to HTML/JavaScript, JSON, PDF, TXT and XML file formats. All exported files are saved to Quiz Maker directory.

Backup and Restore

SQLite database can be backed up, restored and deleted very easy. The backup files are saved to “Quiz Maker/Backup” directory.

Database Info

Database info displays database usage for all tables:
1. Categories,
2. Questions,
3. Question types,
4. Answers,
5. Answer types,
6. Score items,
7. HiScore items,
8. Players,
9. Files,
10. File types.

About Program

About program activity shows program information for application name, version, programmer info and contact details and credits.

Conclusion

Quiz Maker is an easy to use Android application for making creative trivia games with textual, image and audio content. Users are enabled to create multiple quiz categories that can be password protected or not and set with options such as shuffle questions and answers. Data is available for transporting between Android devices in various file formats but this application needs a unique file format in order to make data much more transportable. It can be realized with Java serialization and that has yet to be researched and designed. Printable quiz like TXT and PDF document format content might be applied for school tests and that content can be used for a more interactive education. Students can be additionally prepared for exams and achieve increased knowledge.

Project Specifications

Name: Quiz Maker
Type: Android Application
Language: English
Programmer: Nihad Liu Karajko
E-Mail: nihadliu@gmail.com

Version: 1.0.0.6
Starting time: 12.02.2018
Ending time: 24.02.2018

Programming language: Java
Software tools: Eclipse IDE
Database: SQLite
Libraries: iTextG, JSON Simple, MPAndroidChart

Code lines: 7400
Packages: 5
Classes: 52
Database tables: 10

Project size: 6.5 MB
APK file size: 2.18 MB

Sunday, February 11, 2018

Quiz Maker 1.0.0.5



Quiz Maker update with backup & restore option. SQLite database can be exported to file and imported by same or another device. Users can monitor number of total categories, questions and answers in this version. Pie chart is added for comparing number of correct and wrong answers and chart image can be saved to file, too.

Google Play Store

Saturday, February 10, 2018

Quiz Maker 1.0.0.4



Quiz Maker lets users create their own quiz fast and with ease. All they need to do is to create categories and add some questions. Categories can be password protected for editing and starting a quiz. Questions can have up to five offered answers with multiple correct answers. Settings for shuffle questions and answers can be managed and it is possible to export quizzes to HTML/JavaScript code.

Google Play Store

Wednesday, February 7, 2018

Messenger Test (Video)



Testing Messenger Application on desktop and Android. I ran out of memory while recording this video with iPhone.

Messenger 1.0.0.0 (Android)



Messenger

PDF Document: https://goo.gl/6PQiec

Messenger is a cross-platform application for desktop and Android devices created in Java programming language using Eclipse IDE. The application has an implementation of MySQL database. The project was built in about a month, starting on 10th January of 2018. As the application title says, it helps to connect people and exchange messages between them. Application features for both desktop and Android devices are further explained in this document.

Application Logo

Messenger logo is created using Inkscape v0.91 tool for scalable vector graphics. The logo displays red rectangle with rounded corners and white letter “M” in the middle rotated by 45 degrees clockwise. A slight gradient of red color is applied on the rectangle to make it look a little more interesting.

Server Configuration

Server Configuration is the first thing that must be set because MySQL database is used for this project. User must specify a host name, port, username and password. Default details for administrator (root) user are:
Username: root
Password: 1234

Registration

Everyone can register an account with Account Creator form. Accounts must have a valid username and password. Users will be asked to confirm their password before registering an account. After successful account registration, information message will be shown.

Login

Users are required to have a registered account before logging in and using the application. Remember Me option allows logged users to save their login details on the device they use. Profile picture will be loaded and displayed when users type their username in the text field if it exists, otherwise default image will be shown.

Dashboard

The dashboard shows options for searching contacts on the top and a contact list on the right side. The profile picture with the button for logging out is shown on the left side of the dashboard. The contact list can show a list of all contacts, added contacts, blocked contacts, received contact requests and sent contact requests. User will not be shown in the search results when blocked. Blocked users must be first unblocked from the block list and blocked users can not send messages to the user who blocked them. Before adding a contact, a contact request will be sent and the receiver can decide to accept it or not. The profile info of the user can be viewed before sending a request.

My Profile

Profile info has data fields for bio, first name, last name, date of birth, E-Mail, address and phone.

Changing Profile Picture

Profile pictures can be changed on both desktop and Android devices. Users can view their previously used profile pictures and decide to use them again or remove. It is also possible to upload pictures with Android devices. Data type for profile picture is BLOB. There are few BLOB types like BLOB (default), LONGBLOB, MEDIUMBLOB and TINYBLOB. The database uses LONGBLOB and sometimes it is required to set options for maximum allowed packet size by calling this SQL command:
SET GLOBAL max_allowed_packet = 1073741824;

Changing Password

User must enter current password in order to change it.

Messaging

Before users can exchange messages between each other, they must be connected first which means that one user must accept contact request from another user. Messaging forms have listeners that check for new messages in defined time intervals.

Conclusion

Messenger is a cross-platform application for desktop and Android devices that currently offers basic functions for messaging. It is ready for use and it can be implemented in various information systems. The basic functionality for connecting people and messaging is programmed and it needs much more improvement. The advantage of using MySQL database server is that users can access their data such as messages and profile info anywhere they go.

Project Specifications

Name: Messenger
Type: Messaging Application (Cross-Platform)
Language: English
Programmer: Nihad Liu Karajko
E-Mail: nihadliu@gmail.com

Version: 1.0.0.0
Starting time: 10.01.2018
Ending time: 05.02.2018

Programming language: Java
Software tools: Eclipse IDE with Android Software Development Kit, MySQL Workbench
Database: MySQL
Libraries: MySQL Connector

Code lines: Core (1900), Desktop (4300), Android (2400), Total (8600)
Packages: Core (2), Desktop (4), Android (1)
Classes: Core (14), Desktop (16), Android (16), Total (46)
Database tables: 9

Project size: 1.19 MB
JAR file size: 400 KB
APK file size: 255 KB