åæ
EclipseãšIdeaã«ã¯ãAndroidã¢ããªã±ãŒã·ã§ã³çšã®ç¬èªã®èŠèŠç·šéããŒã¯ã¢ããããŒã«ããããŸãã NetBeansã«ã¯ãã®å¹žçŠããããŸããã ããªãã¿ã®NetBeansã«äŒŒããããªãã®ãæ¯èŒçç°¡åãªæ段ã§äœæããããšããé¡æãããããžã¥ã¢ã«ç·šéã®ããã»ã¹ãã¢ããªã±ãŒã·ã§ã³èªäœã«ç§»ããšããã¢ã€ãã¢ãçãŸããŸããã ããã€ãã®çç±ããããŸãã
- Androidèªäœã«ããNatural PreviewããŒã¯ã¢ããã
- ãã¹ã¯ãããIDEãªãã§ãªãã©ã€ã³ã§äœæ¥ããæ©èœïŒãŸãããã¶ã€ããŒã«ãšã£ãŠèå³æ·±ããããããŸããïŒã
- ãç¥ã¯ç¥ã§ãããã·ãŒã¶ãŒã¯ã·ãŒã¶ãŒã§ããã å®è£
ããå ŽåãViewãªããžã§ã¯ããã¯ã©ã¹å®æ°ãªã©ã®æ¢åã®ããŒã¿æ§é ã䜿çšãããšäŸ¿å©ã§ãã
ã©ã®ããã«æ©èœããŸããïŒ
ãã©ãŒããªãŒããŒã¯ã¢ããã äž»ãªã¢ã€ãã¢ã¯ãAndroidãã¬ã€ã¢ãŠããããŒããããšãã«çæããããŒã¯ã¢ãããªããžã§ã¯ãïŒãã¥ãŒïŒã®ããªãŒãšäžŠè¡ããŠããŸããããã°ã©ã ã¯ãç¬èªã®ãªããžã§ã¯ãïŒãã¬ãã£ãã¯ã¹Z-ZviewãZButtonã...ãæã€åãååã®ã¯ã©ã¹ïŒã®ãã©ãŒããªãŒãäœæããŸãã ããããã«ãªããžã§ã¯ããžã®ãªã³ã¯ããããŸã-ãªãªãžãã«ã§ãã ã¯ã©ã¹ã«ã¯Viewãšåæ§ã®ç¶æ¿ããããããšãã°ãxmlããŒã¯ã¢ãããã¡ã€ã«ã®çææãViewãã©ã¡ãŒã¿ãŒãªã¹ãã®äœææãªã©ãããªãŒã®ãã©ããŒã¹ã«é¢é£ãããã¹ãŠã®æ©èœããµããŒãããŸãã ããã«ããã©ãŒããªãŒã¯ãéããŠããã¬ã€ã¢ãŠããèšè¿°ããããã®äž»èŠãªããŒã¿æ§é ã§ããåãªããžã§ã¯ãã«ã¯ããã¥ãŒã®ããŒã¯ã¢ãããã©ã¡ãŒã¿ãŒã®ãã¯ãã«ãšLayoutParamsã®ãã©ãŒèšè¿°åãªããžã§ã¯ãã®2ã€ã®éèŠãªãã©ã¡ãŒã¿ãŒãå«ãŸããŸãã
衚瀺ãªãã·ã§ã³ã å
ã®ããŸããŸãªViewãã©ã¡ãŒã¿ãŒã¯ãZParamåŸç¶ã¯ã©ã¹ã®ã°ã«ãŒãã«ãã£ãŠãµããŒããããŠããŸããåã¯ã©ã¹ã¯ãç¹å®ã®ã¿ã€ãã®ãã©ã¡ãŒã¿ãŒã®å€éšããã³å
éšè¡šçŸãå€æãç·šéãã€ã¢ãã°ã®åŒã³åºããã³ã³ãã€ã«ããããã¡ã€ã«ã®å€ã®ã¿ã€ãã®ã³ã³ãã©ã€ã¢ã³ã¹ã®æ±ºå®ã®ãã¹ãŠã®è©³çŽ°ãå®è£
ããŸãã çŸåšå®è£
ãããŠããåã¯ãintãhexïŒ16é²intïŒãbooleanãfloatãstringãcharSequenceãdimenïŒdimensionsïŒãidïŒãªãœãŒã¹èå¥åïŒãimageãcolorãenumIntïŒååä»ãæŽæ°å®æ°ã®ãªã¹ãïŒãenumStringãenumClassã§ãã ïŒååä»ãæŽæ°ã¯ã©ã¹ã®ãªã¹ãïŒã åŸè
ã®å Žåãåæã¯ã©ã¹ããšã«ãç¬èªã®æŽŸçã¯ã©ã¹ãäœæãããŸãã
åãã¥ãŒã®ãã©ã¡ãŒã¿ãŒãã¯ãã«ã¯ãã¢ã»ããã«ãã察å¿ããxmlãã¡ã€ã«ããéã·ãªã¢ã«åãããŸãã ãã®ãããªãã¡ã€ã«ãäœæããæé ãç°¡çŽ åããããã«ãã¢ããªã±ãŒã·ã§ã³ã«ã¯ããã¹ãŠã®ãã¥ãŒã®ã²ãã¿ãŒ/ã»ãã¿ãŒãæ€çŽ¢ãããããããææ¡ããããã©ã¡ãŒã¿ãŒã®èª¬æãäœæããã³ã³ããŒãã³ãããããŸãã 次ã«ããããã®ãã¡ã€ã«ã¯ããã¥ã¢ã«ã«åŸã£ãŠæåã§ç·šéãããŸãã
LayoutParamsã¬ã€ã¢ãŠããªãã·ã§ã³ã ããŒã¯ã¢ãããªãã·ã§ã³ã®å Žåãåæ§ã®èšè¿°ãã¡ã€ã«ã¯ååšããŸããã 代ããã«ãåãã¥ãŒã®LayoutParamsãèªã¿åããïŒãã®ã¿ã€ãã¯ç¥å
ã®ã¿ã€ãã«äŸåããŸãïŒããªãã¬ã¯ã·ã§ã³ã®å©ããåããŠãåãååã®ã¯ã©ã¹ã®ãã³ãã«ãçæãããŸã-ZLPãšãã®æŽŸçç©ãåã¯ã©ã¹ã¯ãã©ã¡ãŒã¿ãŒã®ãã¯ãã«ãäœæãã察å¿ããLayoutParamsããèªã¿åãããå€ãæžã蟌ã¿ãŸã
ã³ã³ãã€ã«æžã¿ã¬ã€ã¢ãŠãxmlã Androidã¢ããªã±ãŒã·ã§ã³ãã¡ã€ã«ïŒapkïŒã«ã¯ãã¬ã€ã¢ãŠãèšè¿°ã®xmlãã¡ã€ã«ãã³ã³ãã€ã«ããã圢åŒã§å«ãŸããŠããŸãã 圢åŒã®è©³çŽ°ãªèª¬æã¯ã
justanapplication.wordpress.com/category/android/android-binary-xmlã§å
¥æã§ããŸãã ãã®åœ¢åŒã®çãã®ãªãå©ç¹ã¯ããã©ã¡ãŒã¿ã®å
éšããŒã¿åã®æ°ãéãããŠããããšã§ããããã¯ãç¬èªã®æ段ã§è§£æããã®ã«åååçŽã§ãïŒããšãã°ããã©ãŒããŒã¯ã¢ããããªãŒã§ãã³ãã衚瀺ãããããã©ã¡ãŒã¿ãååŸãããããïŒã ããã«ãå
éšAndroidããŒãµãŒã¯android.contentã¯ã©ã¹ã§ãã res.XmlBlockã¯ãåæ§ã®åœ¢åŒã®ããŒã¿ãå«ããã€ãé
åãããã¥ãŒãäœæã§ããŸãã
åè apkãã¡ã€ã«ã§ã¯ãã³ã³ãã€ã«ããããã¡ã€ã«ã¯å§çž®ããã圢åŒã§å«ãŸããŠããŸãã ãã ãããã®å Žåãããã¯éèŠã§ã¯ãããŸããã XmlBlockããŒãµãŒã¯ããããæ¢ã«è§£åããŸãã
ã©ã®ããã«æ©èœããŸããïŒ
èµ·åæã«ãã¢ããªã±ãŒã·ã§ã³ã¯ãªãã¬ã¯ã·ã§ã³ã䜿çšããŠAndroidã¯ã©ã¹ã«å¿
èŠãªå®æ°ã®ã³ã¬ã¯ã·ã§ã³ãããŒãªã³ã°ãã<name-value>ãã¢ã®åœ¢åŒã§ããŒãã«ãçæããŸãã
- R.javaã®ãªãœãŒã¹èå¥åïŒç°ãªãã¿ã€ã-ãµãã¯ã©ã¹ããšã«ïŒ;
- ã¯ã©ã¹å®æ°ã衚瀺ãã
- android.R.attr-ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒã®å
éšåå®æ°ã
- android.R.styleable-ãã©ã¡ãŒã¿ãŒã§äœ¿çšãããå®æ°ã®èšå·ã«ããæå®ã
ã¢ã»ããã«é
眮ãããxmlãã¡ã€ã«ããã®ãã¹ãŠã®ã¿ã€ãã®ãã¥ãŒã§ã¯ããã©ã¡ãŒã¿ãŒèšè¿°åãªããžã§ã¯ãïŒZParamã¯ã©ã¹ïŒã®ãã¯ãã«ãéã·ãªã¢ã«åãããŸãã
ãã®æ¹æ³ã§ã¢ãŠãã©ã€ã³ãç·šéããŸãã å
ã®æªç·šéã®ã¬ã€ã¢ãŠãã¯ãæšæºã®LayoutInflaterã«ãã£ãŠãªãœãŒã¹IDãéããŠããŒããããŸãã ããŒãããããã¥ãŒã¯ããªããžã§ã¯ãã®ãã©ãŒããªãŒãäœæããŸããåãã¥ãŒã«å¯ŸããŠããã©ã¡ãŒã¿ãŒã®å
ã®ãã¯ãã«ãã³ããŒãããŸãã 次ã«ãæšæºã®android.content.res.XmlResourceParserã«åºã¥ããŠæ§ç¯ãããç¬èªã®CXmlResourceParserãããã¹ãŠã®Viewã®ãã©ã¡ãŒã¿ãŒãèªã¿åããZParamãªããžã§ã¯ãã«æžã蟌ã¿ãŸãã å€ãããŒã¯ã¢ãããã¡ã€ã«ããèªã¿åããããã©ã¡ãŒã¿ãŒãªããžã§ã¯ãã¯ããŒã¯ãããŠããããããã©ã¡ãŒã¿ãŒã®äžè¬ãªã¹ãã§åžžã«åŒ·èª¿è¡šç€ºãããŸãã ãã¹ãŠã®ãã¥ãŒã®ã€ãã³ããã³ãã©ãŒã¯ãç·šéãã€ã¢ãã°ã®ããã°ã©ã ã³ãŒãã«å¯ŸããŠæ§æãããŸãã
ãã©ã¡ãŒã¿ãŒãå€æŽãããšããã€ãã£ãCXmlParserã¯ã³ã³ãã€ã«æžã¿xmlãã¡ã€ã«ã®åœ¢åŒã§ãã€ãé
åãæžã蟌ã¿ãããããXmlBlockããŒãµãŒãå€æŽããããã¥ãŒãäœæãããã¬ãã¥ãŒç»åãå€æŽããŸãã CXmlParserã¯ããã€ããªãã¡ã€ã«ãžã®å€æŽãé·æéä¿åãããšãã«ãåãããšãè¡ããŸãã å€æŽãããã¬ã€ã¢ãŠããããŒãããå Žåãåãã¹ããŒã ãæ©èœããŸãããç°ãªããã¢ã®ããŒãµãŒã§ããå
éšandroid.contentã®ã¿ã§ãã ãã¥ãŒãèªã¿èŸŒãããã®res.XmlBlockãšããã©ã¡ãŒã¿ãŒãèªã¿èŸŒãããã®ç¬èªã®CXmlParserã
å€éšã§äœ¿çšããããã«ãããŒã¯ã¢ãããéåžžã®xmlãã¡ã€ã«ã«ãšã¯ã¹ããŒãã§ããŸãã ãã®ããã«ãZViewããã³ZParamã¯ã©ã¹ã°ã«ãŒãã®ç¬èªã®ããŒã«ã䜿çšããŸãã
ããŒã¿ã®é
眮 ã ãã¹ãŠã®ããŒã¿ã¯ãSDã«ãŒãã®GUIWizardãã£ã¬ã¯ããªã«ãããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ãç¬èªã®ããã±ãŒãžã®ååã§ãã£ã¬ã¯ããªãäœæããŸãã ç·šéãããããŒã¯ã¢ããã®çæãããxmlãã¡ã€ã«ã«ã¯ãã¬ã€ã¢ãŠãã®ååãæžã蟌ãŸããŸãã cxmlæ¡åŒµåãæã€è£å©ã³ã³ãã€ã«æžã¿ããŒã¯ã¢ãããã€ããªã¯ãããŒã¿ãµããã£ã¬ã¯ããªã«æžã蟌ãŸããŸãã ãã¥ãŒçšã«çæããããã©ã¡ãŒã¿ãŒãã¡ã€ã«ã¯ãç¬èªã®ã¯ã©ã¹ã®ååïŒandroid.widget.ImageView.xmlãªã©ïŒã§ãããžã§ã¯ããã£ã¬ã¯ããªã«æžã蟌ãŸããŸãã
åè æåã¯ãå€æŽããããã©ã¡ãŒã¿ãç·šéãããšãã«ãã»ãã¿ãŒã«ãã£ãŠå¯Ÿå¿ãããã¥ãŒã«ããã«æžã蟌ãŸããååšããªãå Žåã¯ãã©ã€ããŒããã¥ãŒãã£ãŒã«ãã«çŽæ¥æžã蟌ãŸãããšæ³å®ãããŠããŸããã åæ§ã«ããã£ãŒã«ãã®çŸåšã®å€ãååŸããã«ã¯ãã²ãã¿ãŒãåŒã³åºãå¿
èŠããããŸããã ãã ããå°æ¥çã«ã¯ããparameter-field-setter-getterããšããæ確ãªäŸå€ã«ã¯ããªãã®æ°ã®äŸå€ãããããšãå€æããŸããã ããšãã°ãè€æ°ã®ã»ãã¿ãŒã1ã€ã®ãã©ã¡ãŒã¿ãŒã«å¯Ÿå¿ãã1ã€ã®ã»ãã¿ãŒãè€æ°ã®ãã©ã¡ãŒã¿ãŒãåãããšãã§ããŸãã ãããã£ãŠãZView-Viewãªããžã§ã¯ãã®çžäºäœçšãå®å
šã«æŸæ£ããããšã決å®ãããŸããã 代ããã«ãåãã©ã¡ãŒã¿ãŒã®å€æŽåŸãã³ã³ãã€ã«ãããxmlããŒã¯ã¢ãããã¡ã€ã«ãçæããããã€ãã¹ããªãŒã ã«æžã蟌ãŸããŸãïŒã€ãŸããããã¯æåéãã®æå³ã§ã®ãã¡ã€ã«ã§ã¯ãããŸããïŒã 次ã«ãXmlBlockããŒãµãŒã¯ããããå€æŽããããã¥ãŒãäœæããŸãã
åå°ãã©ã®ããã«ãããªãã§ïŒ
ã¢ããªã±ãŒã·ã§ã³ã¯ã以äžãå«ããªãã¬ã¯ã·ã§ã³ãéäžçã«äœ¿çšããŸãã
- Androidãã©ã¡ãŒã¿åå®æ°ãã¢ããªã±ãŒã·ã§ã³ãªãœãŒã¹ãViewã¯ã©ã¹å®æ°ã®èªã¿åãã
- çŸåšã®ãªããžã§ã¯ãã®ã¯ã©ã¹åã«å¿ããŠãã¯ã©ã¹ZviewãZparamãããã³Zlayoutã®ã°ã«ãŒãã®ãªããžã§ã¯ããçæããŸãã
- Androidã®äžéšã®ã¯ã©ã¹ã§ã¢ã¯ã»ã¹å¶éããã€ãã¹ããŸãã
NetBeansã®çµ±å
NetBeansã«çµã¿èŸŒãŸããã¢ãžã¥ãŒã«ã¯ç°¡åãªä»äºãããŸãã è¿œå ã®ãã¿ã³ãæŒããããšãADBåŒã³åºããéããŠãSDCard / GUIWizard / <Androidã¢ããªã±ãŒã·ã§ã³ã®ããã±ãŒãžå>ãã£ã¬ã¯ããªã®å
容ãã¹ãã£ã³ãããŸãã ããã±ãŒãžåã¯ããããžã§ã¯ããŠã£ã³ããŠã§éžæããçŸåšã®ãããžã§ã¯ãã®ãããã§ã¹ããã¡ã€ã«ããæœåºãããŸãã æ¡åŒµåã.xmlã®ãã¹ãŠã®ãã¡ã€ã«ã/ res / layoutã«ã³ããŒãããåé€ãããŸãã å€ãããŒãžã§ã³ã¯ãæ¡åŒµå.origã«å€æŽãããŸãã ã¢ãžã¥ãŒã«ãœãŒã¹
-bitbucket.org/solus_rex/netbeans_guiwizard_pluginçŸç¶
ãããžã§ã¯ãã®ãœãŒã¹ã¯ã
bitbucket.org / solus_rex / android_guiwizardã§å
¥æã§ããŸã
ãã³ã³ãã€ã«ãããããŒã¯ã¢ãããã¡ã€ã«ã®è§£æããããã°ããã«ã¯ãã¢ããªã±ãŒã·ã§ã³èªäœã«å«ãŸãããã€ããªãã¡ã€ã«ã䜿çšã§ããŸãã ãããè¡ãã«ã¯ãapkãã¡ã€ã«ã解åããxmlãã¡ã€ã«ãres / layoutããGUIWizard / <application package> / dataãµããã£ã¬ã¯ããªã«ã³ããŒããå¿
èŠããããŸãïŒãããã¯ã³ã³ãã€ã«æžã¿ãã€ããªåœ¢åŒã§æ ŒçŽãããŠããããšãæãåºããŠãã ããïŒã ã¬ã€ã¢ãŠãã§ã¯ããœãŒã¹ãã€ããªããŒã¯ã¢ãããã¡ã€ã«ãšããµã€ãºãäžèŽãããšãã«ããã°ã©ã ã«ãã£ãŠçæããããã¡ã€ã«ã®ãã€ãæ¯èŒãå®è¡ã§ããŸãã ãããè¡ãããã«ãã¢ããªã±ãŒã·ã§ã³ã¯ãåºåãã¡ã€ã«ãäœæãããšãã«ãååãšãã©ã¡ãŒã¿ãŒãªã¹ãã®ããŒãã«ããœãŒã¹ãã¡ã€ã«å
ã®é åºã§äžŠã¹æ¿ããŸãã
çŸåšã®æ®µéã®ç®çã¯ãäž»èŠãªã¢ã€ãã¢ããã¹ãããã¬ã€ã¢ãŠãã«å®è£
ããããšã§ããã ã¬ã€ã¢ãŠãã§ã¯æ¬¡ã®ããšãã§ããŸãã
- å®æ°ã®ãªã¹ãã衚瀺ããŸãã
- ç¬èªã®ããŒã¿ãã°ãšäŸå€ã¹ã¿ãã¯ãèªã¿åããŸãã
- ãã¥ãŒãã©ã¡ãŒã¿èšè¿°ãã¡ã€ã«ãçæããŸãã
- æ°ãã空ã®ã¬ã€ã¢ãŠããäœæããŸãã
- ã¬ã€ã¢ãŠããªã¹ãã衚瀺ããŸãïŒãã¹ãŠã®ãªã¹ãã§ãçãã¯ãªãã¯ã§ã¡ã€ã³ã³ãã³ããå®è¡ãããé·ãã¯ãªãã¯ã§ã³ãã³ãã®ã³ã³ããã¹ãã¡ãã¥ãŒã衚瀺ãããŸãïŒã
ã¬ã€ã¢ãŠããªã¹ãå
ã®çãã¯ãªãã¯ã§ãã¬ãã¥ãŒãåŒã³åºããããã€ããªãã¡ã€ã«ã«æåŸã«ä¿åããããã¡ã€ã«ãéãããŸãããã¡ã€ã«ããªãå Žåã¯ãã¢ããªã±ãŒã·ã§ã³èªäœã®ãªãœãŒã¹ã§ãã
ãã³ã°ã¯ãªãã¯ãããšãã¬ã€ã¢ãŠãã§å®è¡ãããã³ãã³ãã®ã¡ãã¥ãŒã衚瀺ãããŸãã ãã¬ãã¥ãŒã§ã¯ãä»»æã®èŠçŽ ãçãã¯ãªãã¯ãããšãã®ãã©ã¡ãŒã¿ãŒã®ãªã¹ãã衚瀺ãããçæãããxmlã¿ã°ãå«ãã¡ãã»ãŒãžãé·ãã¯ãªãã¯ããŸãã ã³ãã³ãã¡ãã¥ãŒã®[ãªã¹ãã®è¡šç€º]é
ç®ã«ã¯ããã¥ãŒã®ååãšã¿ã€ãããã¹ãããã圢åŒã§ãªã¹ã衚瀺ãããŸãã ãã®ãªã¹ãå
ãçãã¯ãªãã¯ãããšããã§ã«èª¬æãããã©ã¡ãŒã¿ãŒã®ãªã¹ãã衚瀺ãããé·ãã¯ãªãã¯ã§ã¯ãéžæãããã¥ãŒã«åãšããŠæ°ãããã¥ãŒãè¿œå ããã³ãã³ããããã³ã³ããã¹ãã¡ãã¥ãŒã衚瀺ãããŸãã
ãã©ã¡ãŒã¿ãªã¹ããçãã¯ãªãã¯ãããšããã®ã¿ã€ãã«å¯Ÿå¿ãããã€ã¢ãã°ã衚瀺ãããé·æéã¯ãªãã¯ãããšãããã«å²ãåœãŠãããšãã§ãããªãœãŒã¹ã®ãªã¹ãã衚瀺ãããŸãã
æ°ãããªãœãŒã¹ãè¿œå ããåé¡ã¯æªè§£æ±ºã®ãŸãŸã§ã-ãããã¯å
ã®ãããžã§ã¯ãã«çµã³ä»ããããªããã°ãªããŸããã