Lap Trinh iOS - Tong Quan

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*/

    }