Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Encouragement of ListView
Search
Ryutaro Miyashita
July 14, 2013
Technology
3
3.1k
Encouragement of ListView
Introduction of Titanium 3.1 ListView
Ryutaro Miyashita
July 14, 2013
Tweet
Share
More Decks by Ryutaro Miyashita
See All by Ryutaro Miyashita
Java で書かれた Android アプリを Kotlin で書き直すまでの話 / Talk of rewrite Android app for Java to Kotlin
ryugoo
0
1.6k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
0
390
チーム開発と Android アプリの構成
ryugoo
5
1.1k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.4k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.6k
全て S になる -RxJava と LWS を持ち込む楽しさ-
ryugoo
4
670
Transition at RxJava 1.x to 2.x
ryugoo
0
510
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
480
Android エンジニアになって 2 年の学び
ryugoo
1
2.6k
Other Decks in Technology
See All in Technology
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
JBUG岡山 #6 WordCamp男木島の チームビルディング
takeshifurusato
0
150
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
0
280
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
160
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
地理情報とAPIのトレンド
nagix
0
160
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Making Projects Easy
brettharned
111
5.7k
Leading Effective Engineering Teams 2024
addyosmani
3
300
A better future with KSS
kneath
231
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
Code Reviewing Like a Champion
maltzj
517
39k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Designing for humans not robots
tammielis
247
25k
Done Done
chrislema
179
15k
Six Lessons from altMBA
skipperchong
24
3.2k
Transcript
5JUBOJVN͘͘ձJO/*'5: -JTU7JFXͷεεϝ 5BCMF7JFXͱҰମͳʹ͕ҟͳΔͷ͔
3ZVUBSP.JZBTIJUB $IBU8PSL.PCJMF"QQ&OHJOFFS 5JUBOJVN.PCJMFϢʔβʔձॻه SZVHPP@ SZVUBSPNJZBTIJUB SZVHPP
JNUIJOLFSOFU 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: ࠓळɺϞόΠϧΞϓϦΛશ໘ϦχϡʔΞϧ 5JUBOJVN͘͘ձJO/*'5:
ύϑΥʔϚϯε 5JUBOJVN͘͘ձJO/*'5: 5JUBOJVNΞϓϦͰ·͞ΕΔ՝ͷͭ
5J6*5BCMF7JFX 5JUBOJVN͘͘ձJO/*'5: ΈΜͳେ͖͍ͬͺ͍͏
࣮ੑೳʷ 5JUBOJVN͘͘ձJO/*'5: ͔ͬͯΔͳ "OESPJEͳ
Ȓ 5JUBOJVN͘͘ձJO/*'5: ೦ɺզʑͷ5JUBOJVNऴΘͬͯ͠·ͬͨ
5JUBOJVN͘͘ձJO/*'5: ʘʘaaᵋ Т ʯʗʗ ͦΜͳ5JUBOJVNʹٹੈओ͕ ʘʘaaᵋ Т ʯʗʗ 5JUBOJVN͘͘ձJO/*'5: ͦΜͳ5JUBOJVNʹٹੈओ͕
5J6*-JTU7JFX 5JUBOJVN͘͘ձJO/*'5: 5JUBOJVNYʹݱΕͨ৽͍͠"1*
-JTU7JFXࢁͷSPXΛ࣋ͭ߹ੑೳ͕ྑ͍ 5JUBOJVN͘͘ձJO/*'5: “ListView is designed to perform better with a
large number of rows.”
Ξϓϩʔνͷҧ͍ 5JUBOJVN͘͘ձJO/*'5: -JTU7JFXͱ5BCMF7JFXͷҧ͍
σʔλͱϏϡʔ 5JUBOJVN͘͘ձJO/*'5: -JTU7JFXσʔλࢦ5BCMF7JFXϏϡʔࢦ
5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: σʔλ Ϗϡʔ ใͷҰཡ ԿΒ͔ͷը໘
l-BCFM*NBHF7JFXΛஔ͍ͨ 5BCMF7JFX3PXΛࢁ࡞ͬͯ 5BCMF7JFXͰදࣔ͢Δz 5BCMF7JFXͷΞϓϩʔν 5JUBOJVN͘͘ձJO/*'5:
l-BCFM*NBHF7JFXΛஔ͍ͨ 5BCMF7JFX3PXΛࢁ࡞ͬͯ 5BCMF7JFXͰදࣔ͢Δz 5BCMF7JFXͷΞϓϩʔν 5JUBOJVN͘͘ձJO/*'5: ύϑΥʔϚϯεͷϘτϧωοΫ
l-JTU7JFXͷ্Ͱ -BCFM*NBHF7JFXΛ Ͳ͏දࣔ͢Δͷ͔Λ༧ΊܾΊ͓ͯ͘z -JTU7JFXͷΞϓϩʔν 5JUBOJVN͘͘ձJO/*'5:
l-JTU7JFXͷ্Ͱ -BCFM*NBHF7JFXΛ Ͳ͏දࣔ͢Δͷ͔Λ༧ΊܾΊ͓ͯ͘z -JTU7JFXͷΞϓϩʔν ΞΠςϜςϯϓϨʔτ 5JUBOJVN͘͘ձJO/*'5:
ίʔυΛݟͤΖ 5JUBOJVN͘͘ձJO/*'5: ͬ͝ͱ
var plain_template = { childTemplates: [{ type: "Ti.UI.Label", bindId: "myLabel",
properties: { left: "10dp" }, events: { click: reportFunction } }] }; var list = Ti.UI.createListView({ templates: { plain: plain_template }, defaultItemTemplate: "plain" }); 5JUBOJVN͘͘ձJO/*'5: ςϯϓϨʔτͷઃఆ
var data = []; [1,2,3,4,5].forEach(function (idx) { data.push({ myLabel: {
text: "Row #" + idx }, properties: { itemId: "item" + idx } }); }); var section = Ti.UI.createListSection({ items: data }); list.sections = [section]; 5JUBOJVN͘͘ձJO/*'5: ςϯϓϨʔτΛͬͯΞΠςϜΛ࡞Δ
5JUBOJVN͘͘ձJO/*'5: list.addEventListener( "itemclick", function (e) { // Get clicked item
reference var item = e.section.getItemAt(e.itemIndex); console.log(item.properties.itemId); // Replace clicked item e.section.UpdateItemAt(e.itemIndex, item); } ); -JTU7JFXͷΠϕϯτϋϯυϦϯά
-JTU7JFXͱ ܾΊͨͱ͓ΓͷܗͰσʔλΛදࣔͤ͞ΔͨΊͷͷ 5JUBOJVN͘͘ձJO/*'5:
ύϑΥʔϚϯε ͦΕͰɺ5BCMF7JFXΑΓੑೳྑ͍ͷ͔Ͷ 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: 3PXT-JTU5BCMF 3PXΛ༻ҙ͢Δ࣌ؒಈ࡞ͷػහੑ .Z5BTL 3FOEFSJOHUJNFBU&QPDI NT *NBHF7JFX -BCFM -BCFM 5BCMF7JFX3PX
5JUBOJVN͘͘ձJO/*'5: )5$%FTJSF4 "OESPJE Y 4OBQESBHPO()[ .#3". (PPHMF/FYVT4 ˺
5JUBOJVN͘͘ձJO/*'5:
NT Y NT Y 1SFQBSF 1SFQBSF 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: ੌ͍ 5JUBOJVN͘͘ձJO/*'5: ੌ͍ "OESPJEͰ͍ "OESPJEͰ͍
-JTU7JFX 5BCMF7JFX ˚ "OESPJE Y J1IPOF 4JNVMBUPS
Y J1IPOF Y ୯Ґ<NT> 5JUBOJVN͘͘ձJO/*'5:
5JUBOJVN͘͘ձJO/*'5: J04ޮՌൈ܈ J04"OESPJEڞʹ͍ J04ޮՌൈ܈ 5JUBOJVN͘͘ձJO/*'5: J04"OESPJEڞʹ͍
ͬͨίʔυ 5JUBOJVN͘͘ձJO/*'5: IUUQTHJUIVCDPNSZVHPP5JUBOJVN-JTU7JFX4BNQMF
5JUBOJVN͘͘ձJO/*'5: ʘʘaaᵋ Т ʯʗʗ ͜ΕͰղܾͩ ʘʘaaᵋ Т ʯʗʗ 5JUBOJVN͘͘ձJO/*'5: ͜ΕͰղܾͩ
éĕÕǤʌñʞìè 5JUBOJVN͘͘ձJO/*'5: ͪΖΜɺ·ͩɺશ͕ͯղܾ͢ΔΘ͚Ͱͳ͍
5JUBOJVN͘͘ձJO/*'5: ࣮ɺ·ͩ·ͩ"1*͕Γͯͳ͍ “A complete list of implemented features is schedule
for the next list version, which is planned for Release 3.2.0.”
5JUBOJVN͘͘ձJO/*'5: 1SPQT FEJUJOHFEJUBCMF TFQBSBUPS$PMPS4UZMF &WFOUT ESBHTUBSUESBHFOE TDSPMMTDSPMMFOE IFBEFS7JFXGPPUFS7JFX EFMFUFNPWF ʜ
ʜ
5JUBOJVN 5JUBOJVN͘͘ձJO/*'5: Β͍͠ 8BJUJOH
·ͱΊ 5JUBOJVN͘͘ձJO/*'5: $PODMVTJPO
-JTU7JFX͍ 5JUBOJVN͘͘ձJO/*'5: 5BCMF7JFXͷYY͙Β͍͍
ͪΐͬͱ͍͠ 5JUBOJVN͘͘ձJO/*'5: 5BCMF7JFX΄Ͳͷॊೈੑແ͍
·్࣮ͩத 5JUBOJVN͘͘ձJO/*'5: 5JUBOJVNͰҰ௨Γͷ࣮͕ऴΘΔΒ͍͠
Ͱ͍ 5JUBOJVN͘͘ձJO/*'5: ෳࡶͳॲཧΛΘͳ͚Εेʹ͑Δ
ࢼ͢Ձ͋Γ 5JUBOJVN͘͘ձJO/*'5: 5BCMF7JFX͚͔ͩ͠Θͳ͍ͷମͳ͍
CODESTRONG ! 5JUBOJVN͘͘ձJO/*'5: