
MVC ģʽµÄ×î»ù±¾¸ÅÄîÊÇ·Ö²ãÉè¼Æ£¬°ÑÎÒÃǵĴúÂë»ùÓÚ View£¨ÊÓͼ£©¡¢Model£¨Ä£ÐÍ£©¡¢Controller£¨¿ØÖÆÆ÷£©½øÐзÖÀà·â×°£¬ÕâÑù×öµÄÄ¿µÄÊÇΪÁËÇåÎú½á¹¹£¬Ê¹´úÂë¸üÒ×ά»¤ºÍÀ©Õ¹¡£
ÔÚÉÏһƪÎÄÕÂÖУ¬ÎÒÃÇÍê³ÉÁ˼ÆËãÆ÷µÄ½çÃæ»¹Ô£¬µ«ÑϸñÀ´Ëµ²¢²»ÊÇÕæÕýµÄ View
À࣬ÒòΪËü»¹Ã»·´Ó³ÊÓͼµÄÂß¼¡£ÔÚÕâ´ÎÎÄÕÂÖУ¬ÎÒÃǽ«±àд¼ÆËãÆ÷³ÌÐòµÄ View ²¿·Ö£¬Let¡¯s Go!
£¨×¢Ò⣺Õâ´ÎÔÚ´úÂëµÄ×¢ÊÍÖÐдÁ˽϶àµÄµã£¬ËùÒÔ¿ÉÒÔ¶à¿´×¢ÊͲ¿·Ö£©
Ò»£¬³õʶ Activity
Activity£¨»î¶¯£©×÷Ϊ Android ËÄ´ó×é¼þÖ®Ò»£¬Ï൱ÓÚÓ¦ÓÃÖеÄÕû¸ö½çÃæ£¬ÓÃǰ¶ËµÄ½Ç¶È¿´£¬¾ÍÏñÒ»¸ö
web Ò³¡£¶ø Activity µÄʵÖÊÊÇÊ²Ã´ÄØ£¿Õâ´ÎÏȼòÒªÃèÊö£¬´Ó Google ´óÉñÖпÉÖª£¬Activity
Æðʼ¼Ì³ÐÓÚ Context À࣬À´¿´¿´ËüÃǵÄÃèÊö¹Ø¼ü´Ê£º
android.content.Context
Interface to global information about an application
environment ¡ It allows access to application-specific
resources and classes, as well as up-calls for application-level
operation ¡
ÔÀ´ Context ±»¶¨ÒåΪ¹ØÓÚÓ¦Óó¡¾°(ÉÏÏÂÎÄ)µÄ³éÏóÀ࣬¾ßÓзÃÎÊÓ¦ÓòãÃæ×ÊÔ´ºÍÀàµÄȨÏÞ£¬²¢·â×°ÁËһЩӦÓü¶±ðµÄ·½·¨¡£
android.app.Activity
An activity is a single, focused thing that the user
can do ¡ interact with the user ¡ takes care of creating
a window (full-screen windows or floating windows) for
place UI ¡
Activity ±»¶¨ÒåΪÓëÓû§½»»¥(ʼþ)£¬¸ºÔð´´½¨¼ÓÔØÊÓͼµÄ´°¿ÚµÈ¹¦ÄܵŦÄÜÀà¡£¿ÉÒÔ˵Òò Context£¬Ê¹
Activity ¾ßÓÐÇ¿´óµÄ¹¦ÄÜ¡£
ÔÚ¿ªÊ¼±àдǰ£¬ÏȽéÉÜÒ»¸öÖØÒªµÄ Java Îļþ ¨C R.java£¬ÔÚÇ°Ãæ½éÉܹý£¬gen Ŀ¼»á×Ô¶¯Éú³ÉһЩϵͳÐèÒªµÄÎļþ£¬´ò¿ª
R.java£º

R Ààͨ¹ý attr£¬color£¬drawable£¬id£¬layout
µÈ¾²Ì¬ÄÚ²¿À࣬¼Ç¼ÁËËùÓбêʶ¡£
£¨×¢Ò⣺RÀàµÄ±êʶ»á×Ô¶¯Éú³É£¬²»ÓÃÈ¥Ð޸ģ©
¶þ£¬ÔÚ onCreate ÖбàдÎÒÃǵijÌÐò
Activity ÓиöÃ÷ÏÔµÄÌØµã£¬¾ÍÊÇÓÐÉúÃüÖÜÆÚ¡£¿ÉÒÔÏëÏóÒ»ÏÂÆ½Ê±Ó¦ÓõÄʹÓùý³Ì£¬´ÓÒ»¸ö½çÃæ»¬ÈëÖÁÁíÒ»½çÃæ£¬ÓÖ´Óµ±Ç°½çÃæ·µ»Ø£¬°éËæµÄ¾ÍÊÇ
Activity ÖÜÆÚµÄ²»Í¬½×¶Î¡£´ò¿ª Calculator ÏîÄ¿µÄ MainActivity.java
Îļþ£º

ÔÚǰ¶Ë±à³ÌÖУ¬×îÖØÒªµÄÊÇ»ñÈ¡²Ù×÷¶ÔÏó£¨dom£©¡£ÔÚ Android ÖÐÒ²Èç´Ë£¬Ö÷Ҫͨ¹ý
id ±êʶ»ñÈ¡²Ù×÷¶ÔÏó¡£ÎÒÃÇÊ×Ïȸøactivity_main.xml ÖÐµÄ TextView ºÍ Button
¼ÓÉÏÒÔÏ id ±êʶ£º
£¨@+id/{name} µÄÒâ˼ÊÇÔÚ R ÀàÖÐÔö¼ÓΪ {name} µÄ
id ±êʶ£©
TextView£º@+id/ResultOutput
Button Êý×Ö 0 ~ 9£º@+id/Operand0 ~ @+id/Operand9
Button ³ýºÅ£º@+id/Operate0
Button ³ËºÅ£º@+id/Operate1
Button ¼õºÅ£º@+id/Operate2
Button ¼ÓºÅ£º@+id/Operate3
Button µÈºÅ£º@+id/Operate4
Button Çå³ý£º@+id/Operate5
ÈçͼËùʾ£¬ÇëÎñ±ØÎªÔªËؼÓÉÏÕýÈ·µÄ id¡£

ÔÚ Android ÖУ¬Ö÷Ҫͨ¹ý findViewById() ·½·¨»ñÈ¡²Ù×÷¶ÔÏó£¬ÈçTextViewµÄ»ñÈ¡£º

ÔÚǰ¶Ë±à³ÌÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ý getElementsByTagName() ·½·¨»ñȡһϵÁвÙ×÷ÔªËØ£¬µ«ÔÚ
Android ÖÐȴûÄÇôÐÒÔËÁË£¬Ã»ÓÐÕâÖÖ·½·¨¡£ÄÇÓÐʲô¿ì½ÝµãµÄ·½Ê½²»£¿´ð°¸Êǿ϶¨µÄ¡£ÎÒÃÇÖªµÀ findViewById()
´«ÈëµÄÊÇÒ»¸ö int ÀàÐ͵ÄÒýÓÃÖµ£¬ÄÇô¿É·ñͨ¹ýÑ»·µÄ·½Ê½ÕÒ³öÕâЩÒýÓÃÖµ£¬È»ºóÖ±½Ó»ñÈ¡ÄØ£¿ÎÒÃÇ°Ñ Button
ÔªËØ·ÖΪÁ½×飬²Ù×÷ÊýµÄ id ÒÔ Operand0 ~ 9 ÃüÃû¡£¶øÆäÓàΪÔËËã·û£¬ÔòÒÔ Operate0
~ 5 ÃüÃû£¨ÈçÉÏÃæÌáʾµÄ£©¡£ÕâÑùÎÒÃÇÔò¿ÉÒÔ£º

ÕâÑù£¬Í¨¹ýÒ»¸ö TextView ºÍÁ½¸öÊý×飬ÎÒÃǾͰÑÐèÒªµÄ²Ù×÷ÔªËØÈ«²¿ÊÕ¼¯ºÃÁË¡£

Èý£¬·ÖÀë¼°¶¨Òå View ÀàµÄ½Ó¿Ú
´ÓÉÏÃæµÄ´úÂë¿´£¬Ò»ÇÐËÆºõ¶¼ºÜÃÀºÃ£¬µ«ÕâÖÖÃæÏò¹ý³ÌµÄ˼¿¼·½Ê½Êǵ¼Ö´úÂëѸËÙÅòÕÍ£¬ÄÑÒÔά»¤µÄÔÒòÖ®Ò»¡£°´
MVC µÄÉè¼ÆË¼Ï룬ÉÏÃæ±àдµÄ´úÂëÓ¦ÊôÓÚÊÓͼ²¿·ÖµÄÂß¼£¬¸üºÃµÄ°ì·¨Ó¦¸Ã·â×°ÔÚÊÓͼÄÚ£¬ÊµÏÖϸ½Ú²»±»ÆäËüÀàËùÖª¡£ÎÒÃÇÏÖÔÚ×ñÑÕâһ˼Ïë´ÓÐÂ×é֯һϴúÂ룺
£¨×¢Ò⣺ÕâÀïÖ»ÆÓËØµØÓà MVC ˼Ïë±í´ïÒâͼ£¬ÖÁÓÚ»®·Ö¼°±àдµÄºÏÀíÐԾͲ»Ì½¾¿ÁË£©
¼ÆËãÆ÷½«ÓÉÁ½¸ö View Àà×é³É£¬Ò»¸öÊÇÓÃÓÚÏÔʾ½á¹ûµÄ CaOutputView À࣬һ¸öÊÇÓÃÓÚÓû§ÊäÈëµÄ
CaInputView Àà¡£Ê×ÏȽ¨Á¢´æ·Å View ÀàµÄ°ü£¬Í¨¹ý°üÇø·Ö²»Í¬ÀàÐÍÎļþ¡£


È»ºóÎÒÃǽ¨Á¢ÕâÁ½¸ö View Àࣺ


½Ó×Å£¬ÎÒÃÇ´ò¿ª CaInputView.java Îļþ¡£ºÃÁË£¬ÏÖÔÚÎÒÃÇÀ´Ë¼¿¼Ò»¸öÎÊÌ⣬CaInputView
¸ºÔðÓëÓû§µÄ½»»¥£¬×ÔÈ»»áÖªµÀÓû§°´ÁËʲô°´Å¥£¬µ«ÔõÑù֪ͨ Activity Óû§µÄÐÐÎªÄØ£¿ Õâ¸ö¾ÍÊÇÎÒÃÇ×¼±¸Òª½Ó´¥µÄ»Øµ÷»úÖÆµÄ¸ÅÄî¡£
¾ÍºÃ±È£¬CaInputView ¶Ô Activity ˵£ºÄã°Ñ¡°ÁªÏµ·½Ê½¡±ÁôÎÒ£¬Óû§ÊäÈëÁËÎÒ¾Í֪ͨÄã¡£¶ø¡°ÁªÏµ·½Ê½¡±ÓжàÖÖʵÏֵķ½Ê½¡£Õâ´Î¾Íͨ¹ýίÍеķ½Ê½ÊµÏÖ£¬Ï൱ÓÚ
iOS ÖеĴúÀí£¨delegate£©µÄ¸ÅÄ

ËÄ£¬±àд View Àà
ÏÖÔÚÎÒÃǼÌÐø±àд CaInputViewÀ࣬°ÑÔÏÈ Activity ÀàµÄ´úÂëÂß¼¹éÈë
CaInputView Àࣺ

¼ÌÐø±àд CaOutputView À࣬CaOutputView Àà±È½Ï¼òµ¥£¬Ö»ÓÃÓÚÏÔʾ£º

Î壬ÔÚ Activity ÖÐʹÓà View Àà
Á½¸ö View ÒѾ´´½¨Íê±Ï£¬ÏÖÔÚ¿ÉÒÔ³¢ÊÔÔÚ Activity ÖÐʹÓÃÁË£º

ÉÏͼÌáʾ´íÎó£¬ÊÇÒòΪʵÀý»¯ÁË CaInputView£¬È´Ã»ÓÐʵÏÖ½Ó¿Ú£¬ËùÒÔÌáʾ MainActivity
Ó¦¸ÃʵÏÖ CaInputView ÉùÃ÷µÄ½Ó¿Ú£º

ʵÏÖ CaInputView ÉùÃ÷µÄ½Ó¿ÚºóÈÔÈ»»á±¨´í£¬ÒòΪûʵÏÖ½Ó¿ÚÉùÃ÷µÄ·½·¨£¬Ñ¡Ôñ¡°Add unimplemented
methods¡±Ôò×Ô¶¯Ìí¼ÓÁË·½·¨£¬ÈçÏÂͼ£º

×îºóµ± CaInputView ÓëÓû§·¢Éú½»»¥Ê±£¬ÎÒÃÇ¡°Í¨Öª¡± Activity£¬¶ø
Activity Ôòµ÷Óà CaOutputView ½«½á¹ûÏÔʾ³öÀ´£¬MainActivity ÀàµÄ×îÖÕ´úÂëÈçÏÂͼ£º

ÔËÐгÌÐò£¬µã»÷ÿ¸ö°´Å¥£¬¿´ÊÇ·ñÏÔʾÕýÈ·µÄÖµ£º

ͨ¹ý·Ö²ãÉè¼Æ£¬MainActivity ÖеĴúÂë±äµÃ¼ò½àºÜ¶à£¬ËüÖ»ÐèÖªµÀÈçºÎʹÓà View ÀàÔò¿É£¬Ê¹Ëü¿ÉÒÔרעÓÚ×Ô¼ºµÄÔðÈβ¿·Ö¡£
Áù£¬×ܽá
Õâ´Î˵Á˵ĵã±È½Ï¶à£¬Ö÷ÒªÓУº
MVC µÄÉè¼Æ¸ÅÄî
Á½ÖÖ·½Ê½»ñÈ¡²Ù×÷¶ÔÏó
Java µÄÀàÐͼ°×ªÐÍÏà¹Ø¸ÅÄî
»Øµ÷»úÖÆ¼°½Ó¿Ú
ÈçºÎʹÓà View Àà
Èç¹û¶ÔÕâЩµã»¹²»ÇåÎú£¬¿ÉÒÔÔÙϸ¿´×¢ÊͲ¿·Ö£¬»òÕßÁôÑÔ¸øÎÒ£¬Îһᾡ¿ì´ð¸´¡£ÁíÍâÎÒÒ²»á¾¡Á¿¼Ó¿ì¸üнø¶È£¬ÏÂÖܽ«ÀûÓõݹ麯Êý±àдÎÒÃǵÄ
Model À࣬¾´ÇëÆÚ´ý¡£ |