Slide 1

Slide 1 text

"OESPJEͰͪΐ͍,PUMJO @horinoA QIPUPCZ'SBOL7BTTFO$$#:

Slide 2

Slide 2 text

ࣗ෼୭ͳΜʁ w !IPSJOP" w +BWBঁࢠؔ੢Ͱָ͘͠ษڧͯ͠ΔΞϚνϡΞϓ ϩάϥϚ w 4XJGU΍Β,PUMJO΍Β࠷ۙௗ͍ͮͯΔ w ޷͖ͳञ͸8*-%5"3,:ʢ໺ੜͷࣣ໘ௗʣͱ '".064(3064&ʢ͔ͷ༗໊ͳཕௗʣ

Slide 3

Slide 3 text

"OESPJE͸+BWBͰ͢ΑͶPS[ *%&ิ׬͋Δͱ͸͍͑ίʔϧόοΫͱ͔௕͍Θʂ

Slide 4

Slide 4 text

,PUMJO͕͍͍Β͍͠ʁ w +7.্Ͱಈ͘ w ؔ਺Ϧςϥϧ΍ܕਪ࿦࢖͑Δ͍ΘΏΔϞμϯͳݴޠ w 4XJGUͱࣅͯΔʁʢॻ͍ͨ͜ͱ͋Δʣ w "OESPJE΋ϥΠϒϥϦ0QFO+%,ͳΔΒ͍͚͠Ͳ+BWBͱ ͔·ͩ౰෼ઌͷ࿩ɾɾɾ w 4XJGU"OESPJEͱ͔4DBMB"OESPJEͱ͔ɺͿͬͪΌ͚ҵͷಓ ͳΜ͡Όɾɾɾ

Slide 5

Slide 5 text

ࢼͯ͠ΈΑ͏͔ ϛʔϋʔͳͷΑwww

Slide 6

Slide 6 text

Πϯετʔϧͯ͠ΈΔ w ,PUMJOGPS"OESPJE͜ͱ͸͡Ί
 IUUQXXXHBQSPUKQQJDLVQUJQTLPUMJO@GPS@BOESPJE  w +BWBΠϕϯτKKVH@DDDͰ,PUMJOͷൃද͖ͯͨ͠Α
 IUUQUBSPIBUFOBCMPHKQFOUSZ  w Λࢀߟʹ$POpHVSFˠ1MVHJOTͰ,PUMJOݕࡧ w ී௨ʹΠϯετʔϧ w ͜Ε͚ͩ

Slide 7

Slide 7 text

,PUMJOΫϥεΛ࡞Δ w ࠷ॳ͸؆୯ͳσʔλΫϥεɺ.ZEBUBLU࡞੒ w ,PUMJOίʔυ༻ͷϑΥϧμ࡞੒͸͓޷ΈͰ CVJMEHSBEMFʹ TPVSDF4FUTͷઃఆཁ  w 5PPMT,PUMJO$POpHVSF,PUMJO1SPKFDUͰCVJMEHSBEMF ΁,PUMJO༻ͷهड़ΛڐՄ͢Δઃఆʹ͢Δ w +BWBΫϥεΛ,PUMJOʹม׵͔ɺ+BWBΫϥε͔Β,PUMJOΫϥε ͷΠϯελϯε֫ಘͨ͠λΠϛϯάͰCVJMEHSBEMF͕,PUMJO ༻ઃఆʹมߋ͞ΕΔͬΆ͍

Slide 8

Slide 8 text

+BWBଆ͔ΒݺΜͰΈΔ ී௨ʹϝιουग़Δ͠ɺಛʹͳΜͷ໰୊΋ͳ͔ͭ͑͘·͢ ʢͰ΋+BWBͷTFUUFS HFUUFSͱνϣτҧ͏ͷͰԼه֬ೝ͠ ͨ΄͏͕͍͍Ͱ͢ʣIUUQUBSPIBUFOBCMPHKQFOUSZ 

Slide 9

Slide 9 text

΋͏ͪΐͬͱൃల
 ͤ͞Α͏͔ʁ ͪΐͬͱ࣮ફతͳ࿅श $BMMCBDLTJOQMBDFPGHFOFSBUPSTJO,PUMJO IUUQKBNJFNDDSJOEMFPSHDBMMCBDLTQPPSNBOTZJFMEIUNM Λࢀߟʹ

Slide 10

Slide 10 text

ίʔϧόοΫ͔͍ͯΈΑ //Ҿ͖਺ʹؔ਺ϦςϥϧͭΊΔ fun testcall(settxt:String,callback:(String) -> Unit){
 val txt = "Hello "
 callback(txt + settxt)
 }
 
 fun runtest(){
 testcall("World",{println(it)})
 }
 //݁Ռ
 //System.out: Hello World


Slide 11

Slide 11 text

͑͑ײ͡ʹͳ͖ͬͯͨ

Slide 12

Slide 12 text

3FUSP'JUಋೖͯ͠ΈΑ͏ w 3&45௨৴؆୯ʹͯ͘͠ΕΔϥΠϒϥϦ w 3FUSP'JUͰ"OESPJEͷ3&45௨৴+40/ม׵Λ޾ͤʹ͢Δ
 IUUQRJJUBDPN)BNB5FDIJUFNTFBDEFDDECBG w 4JNQMF)551XJUI3FUSPpU
 IUUQTSFBMNJPOFXTESPJEDPOKBLFXIBSUPOTJNQMFIUUQ SFUSPpU w ͱެࣜαΠτ͋ͨΓΛࢀߟʹಋೖͯ͠ΈΔ
 IUUQTRVBSFHJUIVCJPSFUSPpUɹ


Slide 13

Slide 13 text

+BWB'JMFˠ,PUMJO'JMFΛ׆༻ fun retroFitCall(city: Int?,callback:(WeatherEntity) -> Unit) {
 
 val retrofit = Retrofit.Builder()
 .baseUrl("http://weather.livedoor.com")
 .addConverterFactory(GsonConverterFactory.create())
 .build()
 val service = retrofit.create(WeatherApi::class.java)
 
 val call = service.getWeather(city)
 call.enqueue(object : Callback {
 override fun onResponse(response: Response, retrofit: Retrofit) {
 callback(response.body())
 }
 override fun onFailure(t: Throwable) {
 callback(null!!)
 }
 })
 ,PUMJOΫϥεͰϥΠϒϥϦॻ͘ͱίʔυิ׬ͯ͘͠Εͳͯ͘ɺ͔ ͳΓਏຯ͕͋ͬͨͷͰɺ·ͣ+BWBͰॻ͍͔ͯΒ$PEFˠ$POWFSU +BWB'JMFUP,PUMJO'JMFͰ,PUMJOΫϥεʹมߋͨ͠΄͏ָ͕Ͱ͢

Slide 14

Slide 14 text

Ͱɺݺͼग़͢ଆ΋,PUMJOͰॻ͘ fun reflashListFragment() {
 val retro = RetroFitTest()
 retro.retroFitCall(400040,{
 if (it != null){
 Log.d("retro", "retrofitOk")
 mAdapter?.clear()
 mAdapter?.addAll(it.forecasts)
 mAdapter?.notifyDataSetChanged()
 }else{
 Log.d("retro", "retrofitError")
 }
 })
 }

Slide 15

Slide 15 text

Ͱ͖ͨ 8FC"QJ -JWFEPPSఱؾ ୟ͚ͨ

Slide 16

Slide 16 text

ඇಉظॲཧ΍ίʔϧόοΫͷ Α͏ͳɺؔ਺Ϧςϥϧ͕ಘҙ ͦ͏ͳ෦෼ͷΈ,PUMJOͰॻ͍ ͯޙ͸+BWBͰ͢·͢ͱಋೖ͠ ΍͍͔͢ͳʁͬͯײ͡Ͱ͢ɻ

Slide 17

Slide 17 text

͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠

Slide 18

Slide 18 text

ි౤͛Δ࣌͸ ༏ͯ͘͠͠Ͷ ʍТɾˑ ͯ΁΃Ζ

Slide 19

Slide 19 text

ࣗ࡞"OESPJEΞϓϦެ։த w (PPHMF1MBZͰ ʮ͖ΐ͏͍͘ͱ͜ʯ ͓खܰ஍ਤΞϓϦ Ͱ͢ɻ%-ͯ͠Ͷ

Slide 20

Slide 20 text

ࢀরαΠτ w (JU)VCʹϓϩδΣΫτ͋͛ͯ·͢
 IUUQTHJUIVCDPNIPSJOP" w ެࣜϦϑΝϨϯε
 IUUQTLPUMJOMBOHPSHEPDTSFGFSFODF w ࢉේԦʹ͓Ε͸ͳΔ
 ೔ຊ,PUMJOϢʔβʔάϧʔϓձ௕ͨΖ͏͞ΜͷαΠτɻ,PUMJOϢʔβʔඞಡ
 IUUQUBSPIBUFOBCMPHKQ w ٯҾ͖LPUMJO
 !ZZ@ZBOL͞Μ͕࡞੒͞ΕͨٯҾ͖αΠτɻ
 IUUQLPUMJOSFWTPMVUJPOIFSPLVBQQDPNTJUF@ w ,PUMJOͷίʔσΟϯά͕௙Δඪ४ϥΠϒϥϦ
 IUUQRJJUBDPNESPJCJUJUFNTDCCCUISFBELU w ,PUMJOͰϦεφʔ΍ίʔϧόοΫΛεοΩϦͱॻ͘ʲؔ਺Ϧςϥϧͱ4".ม׵ʳ
 IUUQRJJUBDPN3ZPUB.VSPIPTIJJUFNTCGBCGGD w ,PUMJO"EWFOU$BMFOEBS
 IUUQXXXBEWFOUBSPSHDBMFOEBST