mobile programming practice - skkuarcs.skku.edu/pmwiki/uploads/courses/swpractice3/01... ·...
TRANSCRIPT
Mobile Programming Practice
▪ Course Overview
▪ Lecture Schedule
▪ Contact
▪ Today’s Task
1
Prof. Hwansoo Han
T.A. Sung-in Hong
Course Overview
▪ Lecture + Lab
• Lecture: ~1 hour basic Android features
• Lab: ~2.5 hours programming practices
▪ Programming projects
• Almost 10 lab practices
• 2 assignments
• 1 term project (2-3 in a team)
• No exams
2
Course Overview
▪ Prerequisites
• Introduction to computer science
• ***Experience of Java programming***
• Data structure
▪ Grading factors
• Attendance 10%
• Lab practice 10%
• Assignment 40%
• Term Project (proposal 10% + final 30%)
3
Grading Policy
▪ Must – otherwise you will get ‘F’ grade
• Submit two programming assignments
• Submit term project assignment
▪ You will also get ‘F’ if you…
• Absent more than 3 times
• Attending after lecture will be counted by late (2 lates = 1 absence)
• Turn in a completely duplicated assignment
• Allow another student to turn in your work as his/her own
4
Lecture Schedule
Spring 2019 (Tuesday)
This schedule can be changed
M
A
R
C
H
5 12 19 26
IntroductionAndroid overview
& basic layoutLayout Advanced UI
A
P
R
I
L
2 9 16 23 30
Broadcast receivers
PA#1Services Project proposal
MID TERM
(no exam)
Content providers
M
A
Y
7 14 21 28
Advanced concepts
(1)
APIs (1)
PA#2APIs (2) Profile
J
U
N
E
4 11 18
Intro. to the Kotlin
Project
Final
Presentation
END TERM
(no class)
5
Contact
▪ Office (컴파일러및시스템연구실)
• 85565, Corporate Collaboration Center
▪ TA
• Sung-in Hong
▪ Feel free to contact me by e-mail
6
Today’s Task
▪ Briefly understanding Android
▪ Install Android Studio on Microsoft Windows
• Ask TA if you do on Ubuntu or other with your laptop
• Highly recommended to use Intel. CPU
▪ Run your app on Android Studio
7
Android OS
▪ A mobile operating system developed by Google
▪ Based on a modified version of the Linux kernel
and other open source softwares
▪ A multi-user Linux system in which app is a
different user
▪ Designed primarily for touchscreen mobile
devices such as smartphone and tablets
▪ Android history:
• https://www.android.com/history/#/marshmallow
8
Android architecture
9
Ref. : The impact of Big Data on the Android Mobile Platform for Natural Disaster
Situations - Scientific Figure on ResearchGate. Available from:
https://www.researchgate.net/figure/Android-Architecture-2_fig1_322941237 [accessed
4 Mar, 2019]
Android application
▪ Can be written using Kotlin, Java, and C++
languages.
▪ The Android SDK tools compile your code with any
data and resource files into APK an archive file with
an .apk suffix
▪ Each Android app lives in its own security sandbox,
protected by Android security features
• More info.
https://developer.android.com/guide/components/fundamental
s.html
10
Glossary of Android
▪ Component
• The essential building blocks of an Android app.
• Activities, services, broadcast receivers, and
content providers
▪ Activity
• The end point for interacting with the user
▪ Service
• A general-purpose entry point for keeping an app
running in the background for all kinds of reasons.
11
Glossary of Android
▪ Broadcast receiver
• A component that enables the system to deliver
events to the app outside of a regular user flow,
allowing the app to respond to system-wide
broadcast announcements.
▪ Content provider
• A content provider manages a shared set of app data
that you can store in the file system, in a SQLite
database, on the web, or on any other persistent
storage location that your app can access.
12
Glossary of Android
▪ Fragment
• Represents a portion of user interface in an Activity
▪ View
• The basic building block for user interface
• Buttons, lists forms, etc.
▪ Layout
• Visual arrangement of containers and views
▪ Intent
• Messages wiring components together
13
Glossary for beginners
▪ https://developers.google.com/android/for
-all/vocab-words/?hl=en
▪ This glossary of Android and Java vocab
words supplements the Udacity Android for
Beginners course. This course is targeted at
those who are new to programming but want
to start building Android apps.
14
Android Studio
▪ Android Studio is the official Integrated
Development Environment (IDE) for Android
app development, based on IntelliJ IDEA
▪ https://developer.android.com/studio
15
Installation
16
Download link : https://developer.android.com/studio
For windows 64bit
For other options
[Lab – Practice #0]
▪ edu.skku.cs.MyFirstApp
• Create new project wich contains basic Activity
17
APPENDIX A –
how to install Java on Windows
18
How to install Java
19
①
②
https://www.oracle.com
How to install Java
20
③
How to install Java
21
④
⑤
How to install Java
22
Detailed guide:
https://wiki.appcelerator.org/display/guides2/Installing+Oracle+JDK
Set Environment Variable
1. [Win_key + R]
2. Type “sysdm.cpl” and press enter
23
Detailed guide:
http://stackoverflow.com/questions/2619584/how-to-set
-java-home-on-windows-7
Set Environment Variable
3. Move to “Advanced” tab
4. Click Environment Variables
24
Set Environment Variable
5. Click “New…”
6. Create variable “JAVA_HOME”
with the Java Installation Path
25
Set Environment Variable
7. Also create variable “CLASSPATH”
by “%JAVA_HOME%\jre\lib”
8. Modify variable “Path”
by adding “%JAVA_HOME%\bin”
26