Upload
nhat-tung
View
221
Download
0
Embed Size (px)
Citation preview
8/12/2019 Lap Trinh iOS - Tong Quan
1/67
LP TRNH
IOS
MobiPro.VN Mobile Your Life
8/12/2019 Lap Trinh iOS - Tong Quan
2/67
Thng 7/2008, Apple ra mt AppStore. n nay,App Store c hn 400,000 ng dng vi 10 tlt ti v, dn u ngnh v dch v ng dng chodi ng.
Ovi Store ca Nokia, Android Market ca Google,
App World ca Blackberry , Huawei Technology.
2
Ti sao nn theo ngnh ny?
8/12/2019 Lap Trinh iOS - Tong Quan
3/67
AppStore: 400,000 ng dng vi 10 t lt ti v
OviStore: 55,000 ng dng, 760 triu download
Android Market: 200,000 ng dng, 4,5 t download
App World: 30,000 ng dng, 3 triu download/ngy
Huawei Technology: 80.000 ng dng
3/10/2014
3
Ti sao nn theo ngnh ny?
$ = 7 t USD >>> 30 t USD trong 3 nm ti
8/12/2019 Lap Trinh iOS - Tong Quan
4/67
iOS
Android
Tizen
Windows Phone 7
Blackberry OS & Qnx
WebOS
MeeGo
Symbian.
3/10/2014
4
Cc mobile os
8/12/2019 Lap Trinh iOS - Tong Quan
5/67
3/10/2014
5
Thng k th trng
8/12/2019 Lap Trinh iOS - Tong Quan
6/67
3/10/2014
6
Thng k lp trnh vin
8/12/2019 Lap Trinh iOS - Tong Quan
7/67
3/10/2014
7
Thng k lp trnh vin
8/12/2019 Lap Trinh iOS - Tong Quan
8/67
Vy, Mobile OS no l tt nht?
3/10/2014
8
Android, iOS, Windows phone
8/12/2019 Lap Trinh iOS - Tong Quan
9/67
Ly ng dng lm trung tm.
Mi biu tng ng dng c th di
chuyn hoc xa c.
Ni bt vi cc Widget.
Notification bar
3/10/2014
9
Giao din ngi dng
8/12/2019 Lap Trinh iOS - Tong Quan
10/67
S kt hp phn cng v phn mmhon ho.
Mn hnh thong ng vi cc biutng ng dng dn ngay hng thngli r rng.
11 mn hnh chnh.
Nng cp vi Notification bar.
3/10/2014
10
Android, iOS, Windows phone
8/12/2019 Lap Trinh iOS - Tong Quan
11/67
Thay v ly ng dng lm trung tm,nh vi cc nn tng iOS v Android,Microsoft s dng khi nim mi, gi
l hub (trung tm), t chc nidung trong Windows Phone 7.
Mi hub l mt b su tp cc ng
dng cng nhm.
2 mn hnh chnh.
3/10/2014
11
Android, iOS, Windows phone
8/12/2019 Lap Trinh iOS - Tong Quan
12/67
3/10/2014
12
ng dng v tnh m
8/12/2019 Lap Trinh iOS - Tong Quan
13/67
3/10/2014
13
Kh nng ty bin
8/12/2019 Lap Trinh iOS - Tong Quan
14/67
3/10/2014
14
Kh nng tch hp d liu
8/12/2019 Lap Trinh iOS - Tong Quan
15/67
TI SAO NN CHN IOS?
250 TRIU
THIT BANG S DNGiOS
8/12/2019 Lap Trinh iOS - Tong Quan
16/67
TI SAO NN CHN iOS?
18 T LT
DOWNLOAD
500,000 NG DNG
36,000 ln download/1 ng dng
CHT LNG CA 1
8/12/2019 Lap Trinh iOS - Tong Quan
17/67
CHT LNG CA 1NG DNG
TNG
CA
RINGMNH
KHNNGTHCHNG
GIAODINTHNTHIN
MC TIU CA BN
8/12/2019 Lap Trinh iOS - Tong Quan
18/67
MC TIU CA BN
QUY TRNH THIT K
8/12/2019 Lap Trinh iOS - Tong Quan
19/67
QUY TRNH THIT KMT NG DNG
QUY TRNH THIT K
8/12/2019 Lap Trinh iOS - Tong Quan
20/67
QUY TRNH THIT KMT NG DNG
CC LOI APPLICATION
8/12/2019 Lap Trinh iOS - Tong Quan
21/67
CC LOI APPLICATION
UTILITY
APP
TABBEDAPP
OPENGLGAME
PAGE-BASED
APP
MASTER-DETAILAPP
SINGLEVIEW APP
MI TRNG LM VIC
8/12/2019 Lap Trinh iOS - Tong Quan
22/67
MI TRNG LM VIC
MY TNH CI T HH MAC OShoc CNG NGH O HA VMware
XCODEhttps://developer.apple.com/xcode
APPLE ID (FREE OR PAID)
8/12/2019 Lap Trinh iOS - Tong Quan
23/67
VY LP TRNH TRN iOS CNNGN NG LP TRNH G ?
8/12/2019 Lap Trinh iOS - Tong Quan
24/67
VY LP TRNH TRN iOS CNNGN NG LP TRNH G ?
+
8/12/2019 Lap Trinh iOS - Tong Quan
25/67
Ngn ng lp trnh C
C c dng lp trnh h thng
Mt chng trnh h thng lm thnh mt phnh iu hnh hoc cc tin ch h tr ca h iu
hnh
H iu hnh (Operating Systems), trnh thngdch (Interpreters), trnh son tho (Editors),
trnh Hp Ng (Assembly) c gi l chngtrnh h thng
C cc trnh bin dch dnh cho hu ht cc loih thng PC
8/12/2019 Lap Trinh iOS - Tong Quan
26/67
Ngn ngc cu trc
C cho php tng hp m lnh v d liu
Nckh nng tp hp v
n i tt c thng tin, lnhkhi phnc nli ca chngtrnh dng cho nhng tc
v ring Chng trnh C c th c chia nh
thnh nhng hm (functions) hay nhng
khi m (code blocks).
8/12/2019 Lap Trinh iOS - Tong Quan
27/67
c im ca C
C c 32 tkhaNhng tkha nykt hp vic phpcaC hnhthnh ngnngC
Cc quytc cpdngcho ccchngtrnh C Tt c tkha lch thng onm trongchngtrnh C c
phnbit ch thng, chhoa, do
while khc DO WHILETkha khngthdngttnbin(variable name) hoctn hm(function name)
main()
{
/* This is a sample
Program*/int i,j;
i=100;
j=200;
:
}
8/12/2019 Lap Trinh iOS - Tong Quan
28/67
Cu trc chng trnh C
main()Chngtrnh C cchia nhthnhnhng
n v gil hmKhngkc bao nhiu hm trongchng
trnh, H iuhnh lun traoquyn iu khincho hm main() khimt chngtrnh C cthcthi.
Theo sau tn hm ldu ngoc nDu ngoc ncthcchahay khngcha
nhngthams
8/12/2019 Lap Trinh iOS - Tong Quan
29/67
Cu trc chng trnh C (tt.)
Du phn cch {}
Sauphn uhm ldu ngoc xon m{N chobit victhi hnhlnhtrong hmbt
uTng t, du ngoc xon ng }sau culnh
cuicng trong hmchraim ktthccahm
8/12/2019 Lap Trinh iOS - Tong Quan
30/67
Cu trc chng trnh C (tt.)
Du kt thc cu lnh ;
Mtculnhtrong C c ktthcbng duchm phy ;Trnh bindchC khnghiu vic xungdng,
khong trnghay tabMtculnhkhngktthcbng du chm
phy s cxemnhdnglnh litrong C
8/12/2019 Lap Trinh iOS - Tong Quan
31/67
Cu trc chng trnh C (tt.)
/*Dng ch thch*/
Nhngch thchthng c vit mtcngvic ca mt lnh c bit, mthm haytonb chngtrnh
Trnh bindch s bquaphnch thchTrongtrng hpch thchnhiudng, ns
bt u bngkhiu/* vktthc l */
8/12/2019 Lap Trinh iOS - Tong Quan
32/67
Tt ctrnh bindchC u chamt th vinhmchunMthmc vit bi lptrnhvin cth c ttrongth vinvcdng khicn thitMt strnh bindchcho php
thm hm voth vin chunMt strnh bindchyucuto mt th vinring
Th vin C
8/12/2019 Lap Trinh iOS - Tong Quan
33/67
Bin dch v thi hnh chng trnh
8/12/2019 Lap Trinh iOS - Tong Quan
34/67
Ccbclptrnhgiiquytvn
Phnghc
Riphnghc
n cu thang
Xungtng hm
inqunn t phc v
Cafeteria
Gii thut gm mt tp hpccbc thc hin nhm gii quyt mtvn . Thdsauymt mt gii thut
y l cc bc thc hinkhi mt ngi mun in qun n t phc v tphng hc
8/12/2019 Lap Trinh iOS - Tong Quan
35/67
Giiquytmtvn
gii quyt mt vn
Hiu vn r rng
Thu thp thng tin thch hp
X l thng tin
t c kt qu
8/12/2019 Lap Trinh iOS - Tong Quan
36/67
M gi (Pseudocode)
Khng l m tht. Mt phng php vit giithut s dng mt tp hp cc t tng t mtht
Mi on m gi phi bt u vi mt t BEGIN hin th gi tr no , t DISPLAY cdngM gi kt thc vi t END
BEGIN
DISPLAY Hello World !
END
8/12/2019 Lap Trinh iOS - Tong Quan
37/67
Lu(Flowcharts)
Lu l mt hnh nh minh ho cho gii thut
START
DISPLAY Hello World !
STOP
8/12/2019 Lap Trinh iOS - Tong Quan
38/67
Biu tng trong lu
8/12/2019 Lap Trinh iOS - Tong Quan
39/67
Lucnghais
8/12/2019 Lap Trinh iOS - Tong Quan
40/67
CutrcIF
BEGININPUT numr = num MOD 2
IF r=0Display Number is even
END IF
END
START
INPUT num
r = num M OD 2
r = 0
DISP LAY "Num ber is E ven"
STOP
YesNo
8/12/2019 Lap Trinh iOS - Tong Quan
41/67
CutrcIFELSE
BEGININPUT numr=num MOD 2
IF r=0DISPLAY Even Number
ELSE
DISPLAY Odd NumberEND IF
END
START
INPUT num
r = num M OD 2
r = 0
DISPLAY "Number is Even"
STOP
DISPLAY "Number is O dd"
Yes No
8/12/2019 Lap Trinh iOS - Tong Quan
42/67
a iu kin s dngAND/OR
BEGININPUT yearsWithUs
INPUT bizDoneIF yearsWithUs >= 10 AND bizDone>=5000000
DISPLAY Classified as an MVS
ELSEDISPLAY A little more effort required!
END IF
END
8/12/2019 Lap Trinh iOS - Tong Quan
43/67
Cu trc IF lng nhau
BEGININPUT yearsWithUsINPUT bizDoneIF yearsWithUs >= 10
IF bizDone >=5000000DISPLAY Classified as an MVS
ELSEDISPLAY A little more effort required!
END IFELSE
DISPLAY A little more effort required!
END IFEND
8/12/2019 Lap Trinh iOS - Tong Quan
44/67
Cu trc IF lng nhau (tt.)
START
INPUT bizDone
YearsWithUs >= 10
bizDone > 5000000
DISPLAY A Little more effort required
STOP
NOYES
NO
YES
DISPLAY A Little more effort required
DISPLAY Classified as an MVS
INPUT
YearsWithUs
8/12/2019 Lap Trinh iOS - Tong Quan
45/67
Vng lp
BEGINcnt=0WHILE (cnt < 1000)
DODISPLAY Scoobycnt=cnt+1
END DO
END
START
cnt=0
cnt < 100 0
DIS PLA Y " Sc ooby "
cnt=cnt+1
STOP
Yes
No
8/12/2019 Lap Trinh iOS - Tong Quan
46/67
Bin v Kiu D Liu
8/12/2019 Lap Trinh iOS - Tong Quan
47/67
Bin
D liu
B nh
Mi v tr trong b nh l duy nht
Bin cho php cung cp mt tn c ngha cho mi v tr nh
15
D liutrong b
nh
15
8/12/2019 Lap Trinh iOS - Tong Quan
48/67
V d
A, B v C l ccbintrongonmgitrnTnbingip chng ta truycpvob nhm khngcndnga chcachng H iuhnhm nhim vic cp b nhcntrngchonhng binny
thamchiu n mtgitr c thtrongb nh, chng ta ch cn
dng tnca bin
BEGINDISPlAY Enter 2 numbers
INPUT A, B
C = A + B
DISPLAY CEND
8/12/2019 Lap Trinh iOS - Tong Quan
49/67
Hng
Mt hng(constant) lmtgitrkhngbaogithayi
Cc vd5 s / hng s nguyn5.3 s / hng s thcBlack Hng chuiC Hng k t
Bin lu gicc gi tr hng
8/12/2019 Lap Trinh iOS - Tong Quan
50/67
Tn ca cc bin (variables), cc hm(functions), cc nhn (labels) v cc itngkhc nhau dongidngnh ngha
gilnhdanhVd vccnhdanhngarena
s_count
marks40class_one
nh danh
8/12/2019 Lap Trinh iOS - Tong Quan
51/67
Vd vccnhdanh sai1sttest
oh!god
start... endCcnhdanh cthcbt c chiudi no
theo quyc,nhng skttrongmt binc nhn din bitrnh bindchth thay
itheo trnh bindchCcnhdanh trong C c phnbit chhoa
vch thng
nh danh
Khng hp l!
Cc nguyn tc t tn nh
8/12/2019 Lap Trinh iOS - Tong Quan
52/67
Cc nguyn tc t tn nhdanh
Tn bin phi bt u bng mt k t alphabet
Nn trnh t tn bin trng tn cc t kho
Theo sau k t u c th l cc k t ch, s
Tn bin nn m t c ngha ca n
Trnh dng cc k t gy lm lnNn pdngcc quyc ttnbin chunkhilptrnh
8/12/2019 Lap Trinh iOS - Tong Quan
53/67
T kha
Tkha:Tt ccc ngnngdnhmt st nht nhchomc chring
Nhng t ny c mt ngha c bittrongng cnh ca mtngnng c thSkhng c xungt nu tkha v tn
bin khc nhau. V d t integercho tn
binth hon tonhp lngayckhi mtkha l int
8/12/2019 Lap Trinh iOS - Tong Quan
54/67
Kiu d liu
Cckiu d liu khc nhau c lu tr trongbinl:S(Numbers)
Snguyn.
Vd: 10 hay 178993455 S thc.
Vd, 15.22 hay 15463452.25 S dng Sm
Tn. Vd: JohnGitr lunl :
Vd: Y hay N
8/12/2019 Lap Trinh iOS - Tong Quan
55/67
Kiu d liu(tt.)
kiu d liu tn
bin
int varName
Kiu d liu m t loi d liu s c lutrongbin
Tnbin tsaukiu d liuV d: tn bin varName ngsau kiu d
liu int
8/12/2019 Lap Trinh iOS - Tong Quan
56/67
voidchardouble
Kiu d liu c bn
Kiu d liu c bn
floatint
8/12/2019 Lap Trinh iOS - Tong Quan
57/67
Kiu s nguyn (int)
Lu tr d liu sint num;
Khngth lu tr bt c kiu d liuno
khcnh Alan hoc abcChim 16 bits (2 bytes)b nhBiu dinccsnguyn trongphmvi -
32768 ti32767Vd: 12322, 0, -232
8/12/2019 Lap Trinh iOS - Tong Quan
58/67
Kiu s thc (float)
Lu tr d liu s cha phn thpphn
float num;
Cchnh xcti6 con sChim 32 bits (4 bytes)b nh
Vd: 23.05, 56.5, 32
8/12/2019 Lap Trinh iOS - Tong Quan
59/67
Kiu s thc (double)
Lu tr d liu s cha phn thpphn
double num;
Cchnh xcti10 con sChim 64 bits (8 bytes)b nh
Vd: 23.05, 56.5, 32
8/12/2019 Lap Trinh iOS - Tong Quan
60/67
Kiu k t (char )
Lu tr mt k t n
char gender;
gender='M';
Chim 8 bits (1 byte) b nh
Vd: a, m, $ % , 1, 5
8/12/2019 Lap Trinh iOS - Tong Quan
61/67
Kiu void
Khng lu bt c d liu g
Bo cho trnh bin dch khng c gi tr tr v
8/12/2019 Lap Trinh iOS - Tong Quan
62/67
Nhng kiu d liu dn xut
intshort short int
(chim t b nh hn int)
Kiu d liu dn xutKiu d liu
c bnB b t (Modifiers)
kiu d liu
intunsigned int
(ch l s dng)unsigned
int/double
Long int /longdouble
(chim nhiu b nh hnint/double)
long
C ki d li i d
8/12/2019 Lap Trinh iOS - Tong Quan
63/67
Cc kiu d liu signed vunsigned
Kiu unsigned ch r rng mt bin ch c th nhngi tr dng
unsigned int varNum;
varNum=23123; varNum c cp pht 2 bytes
B t unsigned c th c dng vi kiu d liuint v float
Kiu unsigned int h tr d liu trong phm vi t 0n 65535
Nhng kiu d liu long (di)
8/12/2019 Lap Trinh iOS - Tong Quan
64/67
Nhng kiu d liu long (di)v short (ngn)
short int chim gi 8 bits (1 byte)
Cho php s c phm vi t -128 ti 127
long int chim gi 32 bits (4 bytes) -2,147,483,648 v 2,147,483,647
long double chim 128 bits (16 bytes)
Ki d li & h i i
8/12/2019 Lap Trinh iOS - Tong Quan
65/67
Kiu d liu & phm vi gi tr
Kiu Dung lngtnh bng bit
Phm vi
char 8 -128ti127
Unsigned char 8 0ti255
signed char 8 -128ti127
int 16 -32,768ti32,767
unsigned int 16 0ti65,535
signed int 16 Ging nh kiuintshort int 16 Ging nh kiuint
unsigned short int 16 0ti65, 535
8/12/2019 Lap Trinh iOS - Tong Quan
66/67
Lp trnh c bn C/Chng 2/ 66 of 22
Kiu d liu & phm vi gi tr (tt.)
Kiu Dunglng
tnh bngbit
Phm vi
signed short int 16 Ging nh kiushort intlong int 32 -2,147,483,648ti2,147,483,647
signed long int 32 0ti4,294,967,295
unsigned long int 32 Ging nh kiulong int
float 32 6 cons thpphn
double 64 10 cons thpphn
long double 128 10 cons thpphn
d h kh i b bi
8/12/2019 Lap Trinh iOS - Tong Quan
67/67
Vd vcch khai bobin
main ()
{
char abc; /*abc of type character */
int xyz; /*xyz of type integer */
float length; /*length of type float */
double area; /*area of type double */
long liteyrs; /*liteyrs of type long int */short arm; /*arm of type short integer*/
}