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.2k
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
410
チーム開発と Android アプリの構成
ryugoo
5
1.2k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.6k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.6k
全て S になる -RxJava と LWS を持ち込む楽しさ-
ryugoo
4
720
Transition at RxJava 1.x to 2.x
ryugoo
0
520
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
500
Android エンジニアになって 2 年の学び
ryugoo
1
2.6k
Other Decks in Technology
See All in Technology
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
30分でわかる「リスクから学ぶKubernetesコンテナセキュリティ」/30min-k8s-container-sec
mochizuki875
3
450
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
290
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
Godot Engineについて調べてみた
unsoluble_sugar
0
440
Docker Desktop で Docker を始めよう
zembutsu
PRO
0
200
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.7k
コロプラのオンボーディングを採用から語りたい
colopl
5
1.4k
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
150
Building Scalable Backend Services with Firebase
wisdommatt
0
110
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
9k
Faster Mobile Websites
deanohume
305
30k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Scaling GitHub
holman
459
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Why Our Code Smells
bkeepers
PRO
335
57k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Optimizing for Happiness
mojombo
376
70k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Building Applications with DynamoDB
mza
93
6.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: