VNUHCM Journal of Science and Technology Development

An official journal of Viet Nam National University Ho Chi Minh City, Viet Nam since 1998

Skip to main content Skip to main navigation menu Skip to site footer







Building a fluid mechanics multiple-choice test program for smartphones with android operating system

 Open Access


Download data is not yet available.


On the basis of a set of Fluid Mechanics Multiple-Choice Tests (FMMCT) in the form of MS Word files, the author used the programming languages and open source programs Android Studio, PHP, Java Script, HTML, and Hot Potatoes 6 to proceed developing an FMMCT program FluidMCT, operating on smartphones with the Android operating system, to create favorable conditions for learning fluid mechanics better. The program consists of two parts: (1) The program to be installed on the smartphone created through the Android Studio Bumblebee Software │2021.1.1 Patch 2 [1]; (2) The programs and databases are installed on the server. Hot Potatoes 6 software helps to create FMMCT lessons with results as HTML files containing JavaScript language to perform operations and scoring. Based on this sample test, 160 FMMCT lessons are conducted on the basis of separating the test content, the selected evaluation content and the JavaScript operating files in the form of *.js to optimize the saving process. storage and programming for big data. On the server, programs written in PHP, HTML, JavaScript and MySQL databases help to manage the data system containing FMMCT, the table user in the MySQL database along with PHP programs support account security management through the login process. These two program systems (1) and (2) are linked together. Using smartphones, users can freely run 20 FMMCT lessons; however, to continue running the remaining 140 lessons, students must provide resource system logins. In addition, a system program is created and installed on the server, and another result is the FluidMCT.apk file, allowing it to be installed on Android smartphones for use. Through the results of this program development, a multiple-choice test program of any other subject can be built conveniently and quickly.


Fluid mechanics is a basic subject for students of many universities of engineering and technology in various disciplines, such as water resources and management, road construction, aviation, and mechanical engineering, in the country as well as in the world. Therefore, many students in the early years have to study fluid mechanics. Understanding this subject is not easy because it requires much mathematical knowledge and deep physical nature about both water and gas. Therefore, students have a great need to study well to pass exams with high efficiency in fluid mechanics exams and tests. Various methods have been proposed to improve efficiency in disseminating knowledge of fluid mechanics. One of these methods is the fluid mechanics multiple-choice test (FMMCT). FMMCT is the application of multiple-choice test techniques to the field of fluid mechanics. It helps students re-examine their knowledge of both theoretical and computational aspects. Depending on how the set of questions is built, FMMCT can cover most of the basic knowledge and apply it to every detail. Therefore, to perform well in FMMCT, students must not only master theoretical knowledge (THEO) but also deal well with applied computational (COMP) problems.

Figure 1 . FMMCT questions in Fluid Mechanics MCQs

There are many scientists and researchers who create online multiple-choice test programs to help students study more effectively in some areas of basic science. However, the application of network programming techniques for the field of fluid mechanics, especially the application of 4.0 technology on Android phones, is still quite limited. A multiple-choice test program on smartphones, if created, will help students have better learning conditions because it is a very popular tool for most students today due to its convenience, especially limiting contact with the source of COVID-19 pandemic transmission.

Today, with technology 4.0, the development and use of smart mobile phones are very widespread and popular due to the technical development of hardware and software, making prices cheaper and cheaper to meet demand for public use around the world. With this development, there is a great need to bring the FMMCT technique to smart mobile phones.

On Google Play, there is a program called Fluid Mechanics MCQs 2 . This program is written in English, and each theoretical question has four answers, one correct answer, and is indicated below the question. For the computational questions, there are 5 answers, one of which is correct and is also indicated below the question ( Figure 1 ). This program is the basic form for creating the FMMCT program.

Figure 2 . Fluid Mechanics Exam Questions Practice Test application

The second program is the Fluid Mechanics Exam Questions Practice Test application 3 . This application created by Rclet LLC ( Figure 2 ) includes 300 fluid mechanics multiple-choice test questions. The authors have tried to use all sorts of teaching techniques like virtual whiteboards, animations, graphs, etc., to be able to bring out the best content for students.

For the cost to own this application, users have to pay 420,000 VND/1 account (promotion period is 199,000 VND/1 account).

The above references have shown that creating applications for learning fluid mechanics, especially FMMCT, is an urgent need to meet the conditions of fast and effective learning on mobile phones of students.

This is the reason why this article presents the building of the FluidMCT program to exploit the effectiveness of 4.0 technology in using Android smartphones to help students study FMMCT well.

Android Studio 4 is the official Integrated Development Environment (IDE) for Android app development. Based on the powerful code editor and developer tools from IntelliJ IDEA , Android Studio offers even more features that enhance productivity when building Android apps, such as a flexible Gradle-based build system, a fast and feature-rich emulator, and a unified environment where users can develop for all Android devices. and many other properties to make the programmer convenient in programming the app using all Android devices. This is the reason why the author uses the Android studio to program the FMMCT program.

PHP language 5 started out as a small open source project that evolved as an increasing number of people determined how useful it was. Rasmus Lerdorf 6 unleashed the first version of PHP way back in 1994. It has some properties:

  • A recursive acronym for "PHP: Hypertext Preprocessor".

  • A server-side scripting language that is embedded in HTML. It is used to manage dynamic content, databases, session tracking, and even build entire e-commerce sites.

  • It is integrated with a number of popular databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server.

  • PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the Unix side. The MySQL server, once started, executes even very complex queries with huge result sets in record-setting time, etc.

Since we have a large data to store the contents of fluid mechanics multiple-choice tests and need to create the links and the security using the Database MySQL, an open sources code, in this program the PHP is used in joint with HTML, and Java script language.

JavaScript language 7 is a multiparadigm, dynamic language with types and operators, standard built-in objects, and methods. Its syntax is based on the Java and C languages — many structures from those languages apply to JavaScript as well. JavaScript supports object-oriented programming with object prototypes and classes. It also supports functional programming since functions are first-class that can be easily created via expressions and passed around like any other object. Therefore, in this program, Javascript language could be used in conjunction with HTML to show the questions, answers and operations concerning the tests, the evaluation of selections, etc., conveniently.

HTML 8 is the standard markup language for creating web pages. HTML stands for Hyper Text Markup Language. It describes the structure of a Web page. HTML consists of a series of elements. HTML elements tell the browser how to display the content. HTML elements label pieces of content such as "this is a heading", "this is a paragraph", "this is a link", etc . Therefore, in this program, it is convenient to join with other PHP and JavaScript languages to create an online test for fluid mechanics with the MySQL database on the host.


Here, the FluidMCT program is not aimed at testing for students but aims to help students learn to understand fluid mechanics (FM), so the content of the FM course and the structure of the FMMCT have some characteristics as follows:

- Contents of FM subject include the following chapters: Fluid properties; Fluid statics; Flow kinetics and dynamics; Uniform flow in pipe; Uniform flow in open channel; Potential flow & Drag and Lift forces.

- In one FMMCT lesson, there are 4 COMP questions and 6 THEO questions. For each COMP question, there are 5 answers, one of which is correct. For each THEO question, there are 4 answers, just one of which is correct. See the sentence structure of the THEO and COMP questions in the form of MS Word in LINK.

- The FluidMCT program contains 160 FMMCT lessons in MS Word format that have been processed into HTML format. An FMMCT lesson in the form of HTML was created using Hot Potatoes 6 software 9 . Then, text processing software was used to separate the format code into a separate fixed file StyleMCTest.css and the fixed Java script source code into a separate file ScriptMCTest.js , common use to all FMMCT lessons. The Java script source code changes from each FMMCT lesson were collected and put into a separate file ( Bai_1.js ). These three files are linked in the HTML file, namely, Android_TracNghiem_CLC_1.html . Thus, FluidMCT software contains one StyleMCTest.css file, one ScriptMCTest.js file and 160 files of format Android_TracNghiem_CLC_x.html and 160 files in the form of Bai_x.js, where x stands for 1, 1a, 1b, 1c; 2, 2a, 2b, 2c, …40, 40a, 40b and 40c. Thus, we will significantly reduce the file size if the number of FMMCT lessons is large, and at the same time, it makes the program-creation process more convenient and faster, see LINK.


Figure 3 . Connecting data in the FluidMCT.

The FluidMCT program system consists of two parts: (1) Part 1 , stored on the server 10 . The files *.html and *.php are contained on the website with the name, and the user table is contained in the MySQL Database; (2) Part 2 , stored inside the FluidMCT program on the Android operating system mobile phone. Figure 3 shows the linkage of the FluidMCT Program.

FluidMCT system and structure on Android Studio software

Android Studio Bumblebee software │2021.1.1 Patch 2 (in short, Android Studio ) is used to program the FluidMCT program for Android operating system smartphones, and some files and folders are described as follows:

- The main files of the program include AndroidManifest.xml ; ; (click here for reference to these files):

- The assets folder contains the www folder, which contains 160 folders with the following form:

CLC_MCT_Bai_x , where x = 1, 1a, 1b, 1c; 2, 2a, 2b, 2c...40, 40a, 40b và 40c.

These folders contain image files, *.GIF, *.gif, *.JPG, *.jpg and Huongdan.html files (see Appendix 3), which link to 20 respective HTML files contained in www directory in the following form:

Android_TracNghiem_CLC_x.html , where x = 1, 1a, 1b, 1c; 2, 2a, 2b, 2c...5, 5a, 5b và 5c

- The folder Level_2 , contained in the www folder, contains 140 files of the form:

Android_TracNghiem_CLC_x.html , where x = 6, 6a, 6b, 6c; 7, 7a, 7b, 7c...40, 40a, 40b và 40c.

- The www directory still contains 160 Java Script files of the following form:

Bai_x.js , linked to the file Android_TracNghiem_CLC_x.html , where x = 1, 1a, 1b, 1c; 2, 2a, 2b, 2c...40, 40a, 40b and 40c

- In addition, in the www directory, there are other files as follows:

ScriptMCTest.js : Java Script files, links to files Android_TracNghiem_CLC_*.html

StyleMCTest.css : File format for files Android_TracNghiem_CLC_*.html

CoverPage.html : HTML file introducing the FluidMCT program and buttons.

IntroMTCTest.html : The HTML file gives a general introduction to the FluidMCT program.

Email_validation.js : Java Script file, check email validity.

Bank_Account.js : JavaScript file, providing bank account information for users to create accounts.

- The res folder contains 4 folders: drawable, layout, mipmap and values.

- The layout folder contains the file activity_main.xml with the parameters and images shown in Figure 4 .

Figure 4 . The Layout file of FluidMCT.

- The values folder contains the following files: colors.xml, strings.xml and styles.xml files (click here for reference to these files).

System and structure of FluidMCT software on the server

All program source code and the database of FluidMCT Software are stored on the server using the MySQL database. The file storage address is , on the server with the address .

The server contains a system of account creation programs and a system of login management programs. The login program will be activated when the user using FluidMCT software on an Android smartphone wants to study all 160 FMMCT lessons. In this case, the user must be provided with a login account including the username and password. Information about Username and Password is contained in a table in the MySQL database datechen_mctest , named user . The structure of the user is shown in Table 1 .

Table 1 The structure of Table user

Account creation management

To assist in creating an account and checking the data provided, the FluidMCT program on the website has the following programs:

- signup.php : Program to display account creation information

- signupcheck.php : Check all information provided such as checking email format; SPAM test, financial check; check the length of the lines of information. If during the running of the program, all the information provided matches, the program will generate an account supply notice sending to the user's email, instructions and the LINK to login to the website.

- signup.css : File format.

- common.php : show an error message

- db.php : provide confidential information about: Server address; database name, username and password.

Figure 5 . The program is running on virtual phone in the AVD system.

Login management

To manage logins to the system, FluidMCT has a login.php program. Users must provide an account including their username and password. It contains the command lines to check the information. After checking for correctness and matching, the program opens a session via the command line.


and generate session-related information before moving to the welcome.php file. This file checks the login status of the user. If the user is not logged in, the program will lead the user back to the login page to proceed with the login procedure. In addition, the welcome.php file contains the associated functions such as change password ( reset-password.php ), forget password ( forget-password.php ), studying complete FMMCT lessons, and log out system ( logout.php ).


Tested on Android operating system smartphones

Figure 5 shows the image of the program programmed in Android Studio 2021.1.1 Patch 2, executing the Build function in preparation for display. There are two display solutions: (1) display on the virtual phone system on the computer, through the Device Manager function and selecting Virtual, where the virtual phone is Pixel 2 API 30, Android 11.0 Google Play, active dynamic in the Android Virtual Device (AVD) system; (2) display on real phone SAMSUNG Galaxy 7 via USB.

Figure 6 . Create APK file of FluidMCT program to install on a Android smartphone.

Create the installation file on the mobile phone

After running the test on the AVD system, we proceed to the Build menu, select Build Bundle(s)/APK(s), and then click the Build APK(s) function ( Figure 6 ). Android Studio will create an app-debug.apk file. We can rename the file FluidMCT.apk . This is the file used to install the FluidMCT program on Android smartphones.

Tested on a desktop with an internet connection

There are two approaches to log in to the system: (1) log in to study all the FMMCT lessons and (2) log in to the 2nd level member area.

  • Login to create an account:

To view instructions and register an account, users can follow the LINK:

After paying the fee, the user receives an account including the username and password via email. The email contains instructions for logging into the website system. Users follow the following LINK to log in to the system:

A window as shown in Figure 7 will appear: the user can choose (1) REGISTER ACCOUNT or (2) LOG IN TO 2nd LEVEL MEMBERS AREA. User clicks on the function (2), a window asks to provide Email will appear as Figure 8 , after providing Email, click Submit, a window asking for OTP code appears, the user logs in to his Email to receive the code and enter it into the OTP window as shown in Figure 9 . After clicking Submit, a login window appears, as shown in Figure 10 .

Then, the user clicks on content 5: Fluid mechanics test , enters the provided account, and then clicks the sign in - login button to study all the FMMCT lessons. Figure 11 shows the FluidMCT program running on the desktop.

Figure 7 . System communication window.

Figure 8 . Email request window.

Figure 9 . The window asks for the OTP.

Figure 10 . Login window to do all FMMCT lessons.

Figure 11 . FluidMCT program running on desktop.

Figure 12 . Log in to the Web Site for account management.

  • Log in to the account management website:

To log in to the website, users follow LINK:

The login window will appear as Figure 12 . After providing the correct account, click the Login command button, and the system's web page will appear as Figure 13 . Here, the user can perform various operations.

Figure 13 . Web page within web site with login management functions.

Install Program FluidMCT.apk

As described in section 4.2, from the Android Studio software, we obtain the FluidMCT.apk installation file. To install the FluidMCT program on a smartphone, we can do the following:

Run a browser on a smartphone or on a desktop computer: click on the following address to download the FluidMCT.apk file to your smartphone or computer. If downloaded to a computer, the FluidMCT.apk installation file can be transferred to a smartphone via the USB port.

On the smartphone, proceed with the installation by manually typing in this file and answering the appropriate questions during the installation process. After the installation is complete, a new icon appears on the smartphone with the name TracNghiem_CLC_V.2.0 . Just click on this icon to run the FluidMCT software.


Through the presentation of the article, we can see that the creation of the FMMCT program on smartphones with the Android operating system has been completed, installed, and applied. This is a favorable condition to help students learn fluid mechanics better. The more and more the content of the questions is added, the more complete the student's learning results will be.

The creation is separated into stages, by file type, by function such as HTML file, Java Script file and format file. Therefore, based on this creation system, test programs of other subjects can also be created conveniently, just providing the test set in basic MS Word form.

With the development of 4.0 technology and the increasing popularity of smartphones, multiple-choice learning of subjects on smartphones is an inevitable development trend, not only in the country but also in the world. In the future, the implementation of the FluidMCT program, if English is added, will widen the program's popularity and applicability.

Some remarks for future works

Continuous addition of technical contents and rearrangement of the structure of the contents of the program in groups of theoretical questions, computational questions, and classification by chapter are necessary to help students more easily study. In addition, using the English language for the program and the technical content for publication to other foreign students is another consideration.

Finally, the improvement of the program interface will be considered to become more attractive to increase the problem-solving and awareness ability of the students.


AVD: Android Virtual Device, a tool for Android Emulator Architecture in Android Studio software to show the result of programming directly on the desktop instead of the mobile phone.

COMP : Applied Computational

FluidMCT : Fluid Mechanics Multiple-choice Test program run on Android smartphones.

FMMCT : Fluid Mechanics Multiple-choice Test.

FMMCT Question : Here, it includes one question with several answers, 4 for the theoretical question and 5 for the computational question, in which there is just one correct answer.

FMMCT Lesson: Here, it includes 10 questions, 6 theoretical ones and 4 computational ones.

THEO : Theoretical


The author sincerely thanks Vietnam National University HCMC for providing funding for the project, code C2021-20-44, enabling this article to be carried out.

Competing interests

The author declares that they have no competing interests.


  1. Fernando A. Product manager, android: android studio bumblebee │2021.1.1 Patch 2. posted on 25 January 2021. . ;:. Google Scholar
  2. Developer Manish. "Fluid Mechanics MCQs", an App on Google Play. updated on May 2, 2020. . ;:. Google Scholar
  3. Rclet LLC. Fluid mechanics exam questions practice test. LINK. Udemy. Updated on July 2022. . ;:. Google Scholar
  4. Android studio user guide 2022. . ;:. Google Scholar
  5. PHP. Introduction. LINK; 2021. . ;:. Google Scholar
  6. Lerdorf R. I am a Danish citizen again after losing it becoming Canadian and DK now allowing dual, Tak@dalgaard_dw for alt du gør for udenlandsdanskere [tweet]. via Twitter. . 2016;:. Google Scholar
  7. Javasript language. Javasript Language overview. . 2021;:. Google Scholar
  8. Hyper text markup language. HTML introduction. . 2021;:. Google Scholar
  9. Hot potatoes software. Version 6.3. Release 0 Build 5, Arneil S, Holmes M; 1997-2020, half-Baked Software Inc./University of Victoria Humanities Computing and Media Centre. . ;:. Google Scholar
  10., a server service provider on the Internet. . ;:. Google Scholar

Author's Affiliation
Article Details

Issue: Vol 26 No 1 (2023)
Page No.: 2637-2644
Published: Mar 31, 2023

 Copyright Info

Creative Commons License

Copyright: The Authors. This is an open access article distributed under the terms of the Creative Commons Attribution License CC-BY 4.0., which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.

 How to Cite
Le, D. (2023). Building a fluid mechanics multiple-choice test program for smartphones with android operating system. VNUHCM Journal of Science and Technology Development, 26(1), 2637-2644.

 Cited by

Article level Metrics by Paperbuzz/Impactstory
Article level Metrics by Altmetrics

 Article Statistics
HTML = 463 times
PDF   = 146 times
XML   = 0 times
Total   = 146 times