Contenu connexe
Similaire à Androidで部 第7回 APTすごい
Similaire à Androidで部 第7回 APTすごい (6)
Plus de Masahiro Wakame (20)
Androidで部 第7回 APTすごい
- 2. @vvakame
Kinect ↓
Android
appengine
2010 12 23 2
- 4. APT
• Annotation Processing Tool
•
•
•
•
2010 12 23 4
- 6. Slim3 APT
• Entity ⇔ Model
• Map<String, Object>
POJO
•
• Reflection
2010 12 23 6
- 7. ← →
• Reflection •
• •
• •
• •
2010 12 23 7
- 8.
JavaSE5 JavaSE6 API
Slim3 JavaSE5
JavaSE5 → com.sun.mirror .
JavaSE6 → javax.model . JSR 269
JavaSE6 API
2010 12 23 8
- 9. • AbstractProcessor
•
• Messager
•
Warning Error
• ProcessingEnvironment
• Elements, Types (Util )
• RoundEnvironment
•
(Annotation )
2010 12 23 9
- 10. • Element
•
• javax.lang.model.element.*
• TypeMirror
• Primitive
• javax.lang.model.type.*
2010 12 23 10
- 11. • APT jar
• META-INF/services/
javax.annotation.processing.Processor
• Processor FQN
FQN = package +
2010 12 23 11
- 13. • @Kazzz
• http://d.hatena.ne.jp/Kazzz/20101208
• Aptina
• Processor JUnit
• http://d.hatena.ne.jp/koichik/20090620
• printf
• Eclipse ErrorLog
2010 12 23 13
- 14. ×
•
•
• 2pass
→
2010 12 23 14
- 15. FQN
• import
•
• List java.util.List
•
2010 12 23 15
- 16. •
•
•
•
•
2010 12 23 16
- 17. • APT
•
• Annotation
Annotation
…
•
• Retention SOURCE→CLASS …orz
2010 12 23 17
- 19. JsonPullParser
• https://github.com/vvakame/JSONPullParser
• APT Json→POJO Java
• Android http://bit.ly/hFTbtP
• Tweet →1Tweet
• pom.xml , Benchmark, patch
2010 12 23 19
- 20. • 6000 Tweet (MacBookPro)
• JsonPullParser (POJO Mapping)
• 1200ms
• Jsonic (POJO Mapping)
• 4400ms
• JsonLib(JSONArray convert)
• 3300ms
• Jackson
• orz
2010 12 23 20