Slide 1

Slide 1 text

Ꟛ涪䎃湡ך،فٔפך,PUMJO㼪Ⰵ

Slide 2

Slide 2 text

㹧♴畆㣐龤 $IBU8PSL吳䒭⠓爡 ،فٔ؛٦ءّٝꟚ涪鿇ث٦ئ٦ت٦ !SZVHPP@

Slide 3

Slide 3 text

$IBU8PSLחאְג

Slide 4

Slide 4 text

$IBU8PSL  㕂欵ךؽآطأثٍحز؟٦ؽأ  䎃剢ַ׵䲿⣘Ꟛ㨣  㼪Ⰵ爡侧 爡  䎃剢劣傈儗挿  䎃劣ח4DBMB׾㼪Ⰵ  1)1׮⢘欽׃גְֹתׅ

Slide 5

Slide 5 text

ؒٝآص،⹫꧊⚥  J04"OESPJEؒٝآص،⹫꧊⚥  匌❨ؔؿ؍أ㣐ꢻؔؿ؍أ  匌❨ؔؿ؍أכ剢ח匌❨ةٙ٦׉לח獳鯄  IUUQDPSQDIBUXPSLDPNKBSFDSVJUFOHJOFFS

Slide 6

Slide 6 text

$IBU8PSLךٌغ؎ٕ،فٔ  剑ⴱכ5JUBOJVN醡  +BWB4DSJQUדط؎ذ؍ـ6*׾䭯א،فָٔ⡲׸׷  3FBDU/BUJWF׫׋ְזװאך饥׶  "OESPJE晛  䎃剢ַ׵ط؎ذ؍ـ⻉  J04晛  䎃剢ַ׵ط؎ذ؍ـ⻉

Slide 7

Slide 7 text

 䎃剢  ➂ד"OESPJEط؎ذ؍ـ晛ךꟚ涪׾Ꟛ㨣  䎃剢  ,PUMJO⹈䓼⠓ח겣׾⳿ׅ  䎃剢  "OESPJEط؎ذ؍ـ晛׾ٔٔ٦أ  䎃  せ̔せ⡤ⵖח  䎃剢  ,PUMJO醡ך傈㜠،فٔ׾爡ⰻ麊欽Ꟛ㨣  䎃剢  ,PUMJO׾فٗتؙءّٝח㼪Ⰵ

Slide 8

Slide 8 text

ז׈,PUMJO׾㼪Ⰵׅ׷ךַ

Slide 9

Slide 9 text

,PUMJO㼪Ⰵ׾䚈ּ䗳銲כ֮׷ַ  䚈ָזֽ׸לז׵זְ椚歋כזְ  ,PUMJOׄׯזְה"OESPJE،فָٔ⡲׸זֻז׷
 ˘˘׻ֽדכזְ  ֻ֮תד׮Ⱅ䒭؟ه٦ز鎉铂ָ㟓ִ׋׌ֽ  ؟ه٦زָ竰竲ׁ׸׷㸜䗰䠬׾䩛חⰅ׸׋

Slide 10

Slide 10 text

׉׸ד׮,PUMJO׾㼪Ⰵׅ׷椚歋  ؒٝآص،涸ז嚂׃ׁ  倜׃ְ׮ךח鍗׸׵׸׷ٌثك٦ءّٝ  ؒٝسِ٦ؠ٦ךًٔحزח׮ז׷鎉铂堣腉  Ꟛ涪ח꧊⚥׃װְׅ  ن؎ٓ٦فٖ٦ز׾㼰זֻדֹ׷  膷ⰻךⳢ椚؎ً٦آ׾؝٦سח⿾僥׃װְׅ  "OESPJEꟚ涪鎉铂ה׃גⰕ䒭ח؟ه٦ز  Ꟛ涪ך䩛ָ姺ת׏ג׃תֲ〳腉䚍ָ嶊ִ׋

Slide 11

Slide 11 text

,PUMJOך㴍׃ְהֿ׹

Slide 12

Slide 12 text

ن؎ٓ٦فٖ٦ز׾幾׵ֿׅהָדֹ׷  -BNCEB䒭  ًاحس׾א׌ֽ䭯א؎ٝة٦ؿؑ٦أ  4JOHMF"CTUSBDU.FUIPE5ZQF  -BNCEB䒭׾⢪׏גⱔꞿז鎸鶢ָ♶銲חז׷  +BWBך׮ךה嫰鯰׃ג  䒷侧ָאד♶銲ז㜥さכ剅ַזֻג׮葺ְ  ⢪׻זְ䒷侧כˑ@˒ד邌植  وآحؙؗ٦ٙ٦سˑJU˒

Slide 13

Slide 13 text

Button b = (Button) findViewById(R.id.button); b.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Your business logic } }); "OESPJE+BWB %FGBVMU ⼡せؙٓأ׾⢪׏גٔأش٦׾إحزׅ׷ךדن؎ٓ٦فٖ٦زָ㢳ְ

Slide 14

Slide 14 text

Button b = (Button) findViewById(R.id.button); b.setOnClickListener(view —> { // Your business logic }); "OESPJE+BWB -BNCEB 4JOHMF"CTUSBDU.FUIPEכ-BNCEB䒭׾⢪ֲֿהדأحؗٔה剅ֽ׷

Slide 15

Slide 15 text

val b = findViewById(R.id.button) as Button b.setOnClickListener { view -> // Your business logic } b.setOnClickListener { _ -> // No use args } b.setOnClickListener { //“it” is View } ,PUMJO ,PUMJOד׮ずׄ״ֲח剅ֽ׷ ⢪׻זְ䒷侧כ@ד邌ׅ 䒷侧ָאז׵ל ˑJU˒ؗ٦ٙ٦سד⿫撑 ׅ׷ֿה׮דֹ׷

Slide 16

Slide 16 text

䙼罋׾⿾僥׃װְׅ鎉铂堣腉  أ؝٦فꟼ侧  知患ז鎸鶢ך䩛⸔ֽ׾׃גֻ׸׷  ؎ً٦آ鸐׶ך؎ٝأةٝأך欰䧭ח⤑ⵃ  䭁䓸ꟼ侧  ְא׮ךⳢ椚׾ًاحسך״ֲח䪔ִ׷  傀㶷ךؙٓأח،سنحؙחًاحس׾鷄⸇  JG䒭 USZ䒭 XIFO䒭  ⦼׾鵤ֿׅהָדֹ׷

Slide 17

Slide 17 text

public static MyFragment newInstance(String str) { MyFragment fragment = new MyFragment(); Bundle args = fragment.getArguments(); if (args == null) { args = new Bundle(); } args.putString(KEY_TEXT, str); fragment.setArguments(args); return fragment; } +BWB 葺ֻ֮׷ؿ؋ؙزٔػة٦ٝ

Slide 18

Slide 18 text

,PUMJO أ؝٦فꟼ侧 fun newInstance(str: String) = MyFragment().apply { arguments = (arguments ?: Bundle()).apply { putString(KEY_TEXT, str) } } ˑBQQMZ˒כٖء٦غ׾「ֽ《׏גٖء٦غ׾鵤ׅ ➭ח׮MFU SVO XJUI BMTPָ֮׷׉׸׊׸䕵ⶴָ殯ז׷

Slide 19

Slide 19 text

,PUMJO أ؝٦فꟼ侧 var test: String? = null var result: String = text ?: run { // Some processing "Hello, world" } ٕؒؽأ怴皾㶨ה穈׫さ׻ׇג䊩鴟ָOVMMך㜥さך⦼׾ ⡦׵ַךⳢ椚ה穈׫さ׻ׇג《䖤דֹ׷ ˟+BWB4DSJQUך⽯儗ꟼ侧䠬鋙

Slide 20

Slide 20 text

+BWB public class StringUtils { public static boolean isNothing(String text) { return text == null || text.isEmpty(); } } OVMMת׋כ瑞俑㶵⴨ַוֲַ׾ثؑحؙ׃׋ְ

Slide 21

Slide 21 text

,PUMJO DMBTT PCKFDU class StringUtils { companion object { fun isNothing(text: String?): Boolean { return text == null || text.isEmpty() } } } object StringUtils { fun isNothing(text: String?): Boolean { return text == null || text.isEmpty() } } TUBUJDًاحسך״ֲח鋅ׇ׷ ˑPCKFDU˒׾⢪׏גءؚٕٝزٝד㹀纏ׅ׷

Slide 22

Slide 22 text

,PUMJO 䭁䓸ꟼ侧 fun String.isNothing(): Boolean = this == null || this.isEmpty() var test: String? = null test.isNothing() // true 㢌侧ך⚥魦ָˑOVMM˒ד׮/1&搀׃חثؑحָؙדֹ׷

Slide 23

Slide 23 text

ת׋כծؽٕز؎ׁٝ׸גְ׷׮ך׾⢪ֲ @kotlin.internal.InlineOnly public inline fun CharSequence?.isNullOrEmpty(): Boolean = this == null || this.length == 0 俑㶵⴨ךOVMMת׋כˑ瑞˒俑㶵ثؑحָؙדֹ׷ @kotlin.internal.InlineOnly public inline fun CharSequence?.isNullOrBlank(): Boolean = this == null || this.isBlank() 俑㶵⴨ךOVMMת׋כˑ瑞涯˒俑㶵ثؑحָؙדֹ׷

Slide 24

Slide 24 text

+BWB JG俑 String text = "This is java"; String result; if (text.length % 2 == 0) { result = "Even"; } else { result = "Odd"; } JGˑ俑˒ 㢌侧㹀纏ךة؎ىؚٝד ⦼׾然㹀דֹזְ

Slide 25

Slide 25 text

,PUMJO JG䒭 val text = "This is Kotlin" val result = if (text.length % 2 == 0) { "Even" } else { "Odd" } JGˑ䒭˒ה׃ג⦼׾鵤⽱ׅ׷ֿהָדֹ׷ךד 㢌侧㹑鎉儗ח⦼׾然㹀ׇׁ׵׸׷ JGFMTFぐـٗحؙך剑䖓ך遤ָ鐰⣣ׁ׸׷

Slide 26

Slide 26 text

+BWB TXJUDI俑 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(); } } ⢽ִלًصُ٦鼅䫛儗ךⳢ椚כ+BWBדכTXJUDI俑ד剅ֻֿהָ㢳ְ TXJUDI俑דכ⦼׾鵤ֿׅהָדֹזְךד؝٦سָ撕꧟חז׶װְׅ

Slide 27

Slide 27 text

,PUMJO XIFO䒭 fun onOptionsItemSelected(item: MenuItem?): Boolean = when(item?.itemId) { android.R.id.home -> { finish() true } else -> super.onOptionsItemSelected() } ,PUMJOחTXJUDI俑כזֻծ➿׻׶חXIFO䒭׾⢪ֲ
 XIFO䒭כ⽃秪ז瘝⣣嫰鯰⟃㢩ח׮侧⦼ךٖٝآ䭷㹀װ㘗ثؑحؙ׮〳腉

Slide 28

Slide 28 text

㴍׃ְהֿ׹ָˑث٦ي˒חוֲ⸬ְגֻ׷ַ  ِ٦أ؛٦أ׾邌׃׋؝٦سחז׶װְׅ  搀꼽ָזְךד؝٦سٖؽُ٦ָװ׶װְׅ  然钠ה䭷䶯ך怩׸ָ㼰זֻז׷  Ꟛ涪ה然钠ךٕ٦ف׾넝鸞⻉ׅ׷ֿהָדֹ׷  ِ٦ؠ٦פך⣣⦼䲿⣘ח꧊⚥דֹ׷

Slide 29

Slide 29 text

孡׾אֽ׋ְהֿ׹

Slide 30

Slide 30 text

,PUMJOח׮蕱ְהֿ׹ָ֮׷  ًاحس侧  ًاحسקו㟓ִ׷  Lًاحسⵖꣲחעאַ׷〳腉䚍ָ넝ת׷  "OOPUBUJPO1SPDFTTPS  BQQCVJMEHSBEMF  BOOPUBUJPO1SPDFTTPS̔LBQUח㢌ִ׷  LBQUָ欰䧭ׅ׷؝٦سח㉏겗ָ֮׷ֿה׮֮׷

Slide 31

Slide 31 text

וֲ㼪Ⰵ׾鹌׭גְַֻ

Slide 32

Slide 32 text

$IBU8PSL،فٔך植朐  ،فٔך؝٦سك٦أכ䎃湡ח瑱Ⰵ  ⢪׏גְ׷⚺זٓ؎ـٓٔ䪮遭  3FUSPMBNCEB  3Y+BWB  -JHIUXFJHIU4USFBN"1*  "OOPUBUJPO1SPDFTTPS  .VMUJEFY

Slide 33

Slide 33 text

וַֿ׵,PUMJO׾⢪ְ㨣׭׷ַ  Ⰻגך؝٦س׾,PUMJOחׅ׷ךכ⯓ָ黅ְ  鿇ⴓ涸ח,PUMJO⻉׃גְֻ  $IBU8PSLדכאך%JBMPH'SBHNFOUַ׵  הג׮⽃秪זت؎،ؚٗ  如ח傀㶷ך؝٦س׾א,PUMJO⻉  ثٍحزٕ٦يך⡲䧭٥刿倜ך"DUJWJUZ  ׁ׵ח׉ך䖓ծ倜鋉堣腉؝٦س׾,PUMJOד鷄⸇  醱꧟זٗآحؙ׮Ⰵ׏גְ׷

Slide 34

Slide 34 text

וֲװ׏גث٦يח嵴鷲ׇׁגְַֻ  ,PUMJOأة٦زـحؙ  ˑ鸐獥饔ץֿ劤˒׾Ⰻ㆞飑Ⰵ׃ג䩛⯋ח縧ֻ  爡ⰻך,PUMJOثٍحزד㉔褏崞⹛  +BWBה,PUMJOד剅ְ׋㜥さך䊴׾䫎珲  فؙٕٔؒأزח铡僇؝ًٝز׾♨㻝ח鎸鶢  +BWBדְֲהֿ׹ך⡦ַ  ,PUMJOך؎ر؍ؔيך铡僇  ٖؽُ٦䖓ثٍحزד椚鍑דֹ׋ַ然钠

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

ث٦ي㼪Ⰵך铬겗

Slide 38

Slide 38 text

ث٦يך稆㖑ה׃ג  כׄ׭ַ׵+BWBד؝٦س׾剅ְגְ׋  -BNCEB䒭׾䫺䫑זֻ「ֽⰅ׸׷ֿהָדֹ׋  -JHIUXFJHIU4USFBN"1*׾⢪׏גְ׋  0QUJPOBMך罋ִ倯ָ㕼〴ח֮׏׋ךדծ
 /VMMBCMFUZQFT /PO/VMMUZQFT׾
 أحה麩ㄤ䠬זֻ《׶鴥׬ֿהָדֹ׋  穠卓ה׃ג  ,PUMJOך؝٦سٖؽُ٦כ㉏겗זַ׏׋

Slide 39

Slide 39 text

׉׸ד׮  ث٦يⰋ㆞ָ,PUMJO׾غٔغٔ剅ֽגכְזְ  植㖈䩛ָֽגְ׷鿇ⴓך麩ְ׮֮׷ֽו׮  ⡦׾וֿתד,PUMJOד剅ַֻכ㹀ת׏גְזְ  ꬊず劍Ⳣ椚דBTZODBXBJU׾⢪׏גְַֻהַ  Ⰻ㆞ָ駈⚛׫׾䲧ִ׵׸׷ַוֲַ  铩ַ➂׌ָֽ,PUMJOח枠鹌׃גְֻ朐屣ָ
 ث٦يחה׏גծמְגכِ٦ؠ٦ך⣣⦼חז׷ַ  ,PUMJOך؝٦س׾頾⫈ח׃גכְֽזְ

Slide 40

Slide 40 text

䩛ָֽכׄ׭ה׃ג  ,PUMJO㼪Ⰵך⵸ח+BWBַ׵㨣׭ג׮葺ְַ׮  "OESPJE4UVEJPַ׵כ㢩鿇خ٦ָٕ♶銲חז׷  "OESPJE(SBEMF1MVHJO  EFTVHBSخ٦ٕثؑ٦ٝ  -BNCEB䒭װًاحسٔؿ؋ٖٝأָ⢪ִ׷  傀㶷فٗآؙؑزח,PUMJO׾㼪Ⰵׅ׷ז׵ל  㼭ֻׁ㨣׭׷  +BWBך؝٦سָ؎ً٦آדֹ׷ּ׵ְ㼭ׁז׮ך

Slide 41

Slide 41 text

ֶ׃תְ