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

ֶ׃תְ