Category Mobile App Development

Course syllabus & Schema of work (Mobile programming)

This course introduces students to programming technologies for designing, building and publishing related to internet programming. It provides students with fundamental knowledge and techniques required to access device capabilities, current technologies and standards, operating system for Software Development Kit (SDK) and mobile programming. Upon completion, students should be able to create an efficient application for mobile devices.

At the end of the course, students should be able to:

  • Construct practical skills in mobile programming
  • Determine scientific skills in mobile programming
  • Display leadership skills in managing a mobile programming project

Course Syllabus

TopicRemarks
WEEK 1
(11/10 – 15/10)
Introduction to the course

Start Entrance Survey (11-24 October)

Lecture ebooks:
Ebooks
 
WEEK 2 
(18/10 – 22/10)

Chapter 1 – Introduction to Mobile Programming
 
1.1 Internet and networking
1.2 HTML, XML and CSS
1.3 Java
1.4 Mobile Apps architecture
1.5 Mobile Apps vs. Web Apps
1.6 Android vs. IOS



Lecture note 1:
Introduction to Mobile Programming
 
Lab 1:
Installation and develop my first app
 
WEEK 3
(25/10 – 29/10)


Chapter 2 – Android Operating Systems
 
2.1 History
2.2 Features
2.3 Version
2.4 Android architecture
End Entrance Survey


Lecture note 2:
Android Operating Systems
 
Lab 2:
XML and layout in Andriod
WEEK 4
(1/11 – 5/11)


Chapter 3 – Android studio
 
3.1 Getting Started
3.2 First App
3.3 AndroidManifest File
3.4 Activities, Fragment, Services, Intent and UI Widgets
3.5 Layouts
3.6 Containers
3.7 Menu
Start Lab assignment – 30%

Lecture note 3:
Android studio
 
 
Lab 3:
UI view in Android
WEEK 5
(8/11 – 12/11)


Chapter 4 – Developing Application I
 
4.1 UI Widgets
4.2 Data and Time
4.3 Toast
4.4 Containers
4.5 Menu
Lecture note 4:
Developing Application I
 
Lab 4:
Android widgets
WEEK 6
(15/11 – 19/11)


Chapter 5 – Developing Application II
 
5.1 Fragment and Intent
5.2 Notification
5.3 Material Design
5.4 Navigation

Lecture note 5:
Developing Application II
 
Lab 5:
Andriod navigation
(22/11 – 26/11)SEMESTER BREAK (CUTI PERAYAAN)
WEEK 7
(29/11 – 3/12)


Chapter 6 – Mobile Database

6.1 Introduction
6.2 Database design
6.3 Database connection
6.4 Database access using SQL


Project briefing (Create groups)

Submit lab assignment – 30% (5/12/2021)

Start group project – 30%

Lecture note 6:
Mobile Database
 
Lab 6:
Android database(SQLite)

WEEK 8
(6/12 – 10/12)



Test 1 – (20%)
Test 1 – (6/12/2021) (20%)

Lab 7
Android database(MySQL)
WEEK 9
(13/12 – 17/12)

 
Chapter 7 – Implementing CRUD
 
7.1 Login and Logout and registration
7.2 Add, Retrieve, Update & Delete Operations
7.3 Reporting
7.4 Searching
 
Project proposal submission (17/12/2021)

Lecture note 7:
Implementing CRUD
 
Lab 8
SQLite CRUD
WEEK 10
(20/12 – 24/12)



Chapter 8 – Testing and Publishing Apps
 
8.1 Mobile application and delivery
8.2 Testing mobile application
8.3 Application distribution
 


Start Student Feedback Online (SuFO)

Lecture note 8:
Testing and Publishing Apps
 
Lab 9
Testing and publishing
(27/12 – 31/12)CUTI KHAS PERAYAAN
WEEK 11
(3/1 – 7/1)


Group project preparation

Lab 9: 
Project preparation
WEEK 12
(10/1 – 14/1)


Group project preparation

Lab 10: 
Project preparation
WEEK 13
(17/1 – 21/1)


Group project preparation



Start Exit Survey (17-30 January 2021)
Start Exit Student Feedback Online (SuFO (20/12/2021 – 6/2/2022)


Project preparation
WEEK 14
(24/1 – 28/1)


Test 2 – (20%)

Test 2 – (26/1/2022) (20%)

End Exit Survey
End Exit Student Feedback Online (SuFO)

Project preparation
(31/1 – 4/2)

Group project presentation
Submit group project – 30% (31/1/2021)
Group project presentation (3-4/2/2022)

Study week

SESI OKTOBER-MAC 2021

Change app name

How to change app name:

Android

Open AndroidManifest.xml (located at android/app/src/main)

<application
    android:label="App Name" ...> // Your app name here

iOS

Open info.plist (located at ios/Runner)

<key>CFBundleName</key>
<string>App Name</string> // Your app name here

Don’t forget to run

flutter clean

Use MySQL

You can upload and share everything relating to use MySQL for database in Flutter. You also can download it, if it’s useful to you.

https://www.coderzheaven.com/2019/09/28/flutter-datatable-mysql/

CRUD MYSQL

Error: Bad state: Insecure HTTP is not allowed by platform:

Just add in android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" /> <!-- This Line -->
<application
        android:name="io.flutter.app.FlutterApplication"
        android:label="receipt"
        android:usesCleartextTraffic="true" <!-- This Line -->
        android:icon="@mipmap/ic_launcher">

Login

You can upload and share everything relating to the login/authentication in Flutter. You also can download it, if it’s useful to you.

GUI for login without database

Completed project file is shared in the project file above.

Login and register using MySQL as database

Notes: Check your computer IP address if you want to use localhost, go to command prompt or type CMD in search then type “ipconfig”. Select number with IPv4 Address such as 192.168.110.105

Icon

You can upload and share everything relating to include icon in Flutter. You also can download it, if it’s useful to you.

Note: If you use icon creator to create the icon, the icon sometime will be smaller in the phone, so that you need to adjust manually using “configure image assets”. By using launcher icon generator, you can adjust the size of your icon before export to .zip file contain all the size needed and replaced in folder “RES”. I think launcher icon generator much more easier.