ÔÚAndroid SDKÒ»ÎÄÖУ¬ÎÒÃÇ̸µ½Ä£¿é»¯ºÍ×é¼þ»¯£¬ÏÖÔÚÎÒÃÇÀ´ÁÄÁÄ×é¼þ»¯¿ª·¢±³ºóµÄÄÄЩÊÂ.×îÔçÊÇÔÚ¹ã¸æSDKÖÐÓ¦ÓÃ×é¼þ»¯,µ«ÊÇͬÑùÊÊÓÃÓÚÆÕͨӦÓÿª·¢
ÒÔϸßÄÜ,Çë×öºÃÐÄÀí×¼±¸,¿´²»¶®Ç뷢˽ÐÅÀ´½»Á÷.±¾ÎIJ»ÍƼöÐÂÊÖÔĶÁ,Èç¹ûÄã¸Õ½Ó´¥Android¿ª·¢²»¾Ã,ÇëÁ¢¿Ì·ÅÆúÔĶÁ±¾ÎÄ.
Ä£¿é»¯ºÍ×é¼þ»¯
Ä£¿é»¯
×é¼þ»¯²»ÊǸöиÅÄî,ÆäÔÚ¸÷Ðи÷Òµ¶¼Ò»Ö±±¸ÊÜÖØÊÓ.ÖÁÓÚ×é¼þ»¯Ê²Ã´Ê±ºòÔÚÈí¼þ¹¤³ÌÁìÓòÌá³öÒѾÎÞ´Ó¿¼¾¿ÁË,²»¹ýÄØ¿ÉÒÔÈ·ÈϵÄÊÇ×é¼þ»¯×îÔçÓ¦ÓÃÓÚ·þÎñ¶Ë¿ª·¢,ºóÀ´ÔÚ¸Ã˼ÏëµÄÖ¸µ¼ÏÂ,ǰ¶Ë¿ª·¢ºÍÒÆ¶¯¶Ë¿ª·¢Ò²²úÉú¸÷×ԵĿª·¢·½Ê½.
ÔÚÁ˽â×é¼þ»¯Ö®Ç°,ÏÈÀ´»Ø¹ËÏÂÄ£¿é»¯µÄ¶¨Òå
Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
¼òµ¥À´Ëµ,Ä£¿é»¯¾ÍÊǽ«Ò»¸ö³ÌÐò°´Õկ书ÄÜ×ö²ð·Ö£¬·Ö³ÉÏ໥¶ÀÁ¢µÄÄ£¿é£¬ÒÔ±ãÓÚÿ¸öÄ£¿éÖ»°üº¬ÓëÆä¹¦ÄÜÏà¹ØµÄÄÚÈÝ¡£Ä£¿éÎÒÃÇÏà¶ÔÊìϤ,±ÈÈçµÇ¼¹¦ÄÜ¿ÉÒÔÊÇÒ»¸öÄ£¿é,ËÑË÷¹¦ÄÜ¿ÉÒÔÊÇÒ»¸öÄ£¿é,Æû³µµÄ·¢ËÍ»úÒ²¿ÉÊÇÒ»¸öÄ£¿é.
×é¼þ»¯
ÏÖÔÚÀ´¿´¿´¡±×é¼þ»¯¿ª·¢¡±,ÕâÀïÎÒÃÇ¿´Ò»ÏÂÆä¶¨Òå:
Component-based software engineering (CBSE), also known as component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns in respect of the wide-ranging functionality available throughout a given software system. It is a reuse-based approach to defining, implementing and composing loosely coupled independent components into systems. This practice aims to bring about an equally wide-ranging degree of benefits in both the short-term and the long-term for the software itself and for organizations that sponsor such software.
ͨË×µã¾ÍÊÇ:×é¼þ»¯¾ÍÊÇ»ùÓÚ¿ÉÖØÓõÄÄ¿µÄ£¬½«Ò»¸ö´óµÄÈí¼þϵͳ°´ÕÕ·ÖÀë¹Ø×¢µãµÄÐÎʽ£¬²ð·Ö³É¶à¸ö¶ÀÁ¢µÄ×é¼þ£¬ÒѽÏÉÙñîºÏ¡£
Õ¦ÑùÒ»¿´»¹ÊǷdz£³éÏó,˵ÁËÕâô¶àºÃÏñ»¹ÊDz»Ã÷°×.ʲôÊÇ×é¼þÄØ?×é¼þ¿ÉÒÔÊÇÄ£¿é¡¢web×ÊÔ´,Èí¼þ°ü,±ÈÈçÆû³µµÄ·¢¶¯»úÊÇÒ»¸öÄ£¿é,Ò²ÊÇÒ»¸ö×é¼þ,ÔÙ»òÕßǰ¶ËÖеÄÒ»¸öÈÕÀú¿Ø¼þÊÇÒ»¸öÄ£¿é,Ò²Ò»¸ö×é¼þ.
Ä£¿é»¯ vs ×é¼þ»¯
µ±Äã¿´µ½ÕâµÄʱºò,Ïë±ØÐÄÀíÒ»Õó¶ñº®:Ä£¿é»¯?×é¼þ»¯?µ½µ×ÊÇʲô¹í?ÓÐÉ¶Çø±ð.
ÓÐÕâÖָоõ²ÅÊǶԵÄ,Ä£¿é»¯ºÍ×é¼þ»¯±¾ÖÊ˼ÏëÊÇÒ»ÑùµÄ,¶¼ÊÇ¡±´ó»¯Ð¡¡±,Á½ÕßµÄÄ¿µÄ¶¼ÊÇΪÁËÖØÓúͽâñî,Ö»Êǽз¨²»Ò»Ñù.Èç¹û·ÇÒªËµÇø±ð,ÄÇô¿ÉÒÔÈÏΪģ¿é»¯Á£¶È¸üС,¸ü²àÖØÓÚÖØÓÃ,¶ø×é¼þ»¯Á£¶ÈÉÔ´óÓÚÄ£¿é,¸ü²àÖØÓÚÒµÎñ½âñî.
×é¼þ»¯ÓÅȱµã
×é¼þ»¯¿ª·¢µÄºÃ´¦ÊÇÏÔ¶øÒ×¼û:ϵͳ¼¶µÄ¿ØÖÆÁ¦¶Èϸ»¯µ½×é¼þ¼¶µÄ¿ØÖÆÁ¦¶È,Ò»¸ö¸´ÔÓϵͳµÄ¹¹½¨×îºó¾ÍÊÇ×é¼þ¼¯³ÉµÄ½á¹û.ÿ¸ö×é¼þ¶¼ÓÐ×Ô¼º¶ÀÁ¢µÄ°æ±¾,¿ÉÒÔ¶ÀÁ¢µÄ±àÒë,²âÊÔ,´ò°üºÍ²¿Êð
²úÆ·×é¼þ»¯ºóÄܹ»ÊµÏÖÍêÕûÒâÒåÉϵİ´ÐèÇó½øÐвúÆ·ÅäÖúÍÏúÊÛ,Óû§¿ÉÒÔÑ¡ÔñʹÓÃÄÇЩ×é¼þ,×é¼þÖ®¼ä¿ÉÒÔÁé»îµÄ×齨.
ÅäÖùÜÀí,¿ª·¢,²âÊÔ,´ò°ü,·¢²¼ÍêÈ«¿ØÖƵ½×齨²ãÃæ,²¢´øÀ´ºÜ¶àºÃ´¦.±ÈÈçÒ»¸ö×é¼þС°æ±¾½øÐÐÉý¼¶,Èç¹û¶ÔÍâÌṩµÄ½Ó¿ÚûÓз¢ÉúÈκα仯,ÆäËû×é¼þÍêÈ«²»ÐèÒªÔÙ½øÐвâÊÔ.
µ«ÊÇ×é¼þ»¯µÄʵʩ¶Ô¿ª·¢ÈËÔ±ºÍÍŶӹÜÀíÕßÌá³öÁ˸ü¸ßˮƽµÄÒªÇó.Ïà¶Ô´«Í³·½Ê½,ÔÚÏîÄ¿µÄ¹ÜÀíºÍ×éÖ¯ÉÏÄѶȼӴó,ÒªÇ󿪷¢ÈËÔ±¶ÔÒµÎñÓиüÉî²ã´ÎÉϵÄÀí½â.
½ø¾üAndroid ÏîÄ¿
ΪʲôҪÔÚAndroidÖÐʵÐÐ×é¼þ»¯¿ª·¢
ΪʲôҪÔÚAndroidÖÐʵÐÐ×é¼þ»¯¿ª·¢ÄØ,Æä¸ù±¾ÔÒòÔÚÓÚÒµÎñµÄÔö³¤Ìá¸ßÁËÏîÄ¿µÄ¸´ÔÓÐÔ,ΪÁ˸üºÃµÄÊÊÓ¦ÍŶӿª·¢,Ìá¸ß¿ª·¢Ð§ÂÊ,ʵÐÐ×é¼þ»¯ÄË´óÊÆËùÇ÷.
ΪÁ˸üºÃµÄ°ïÖú´ó¼ÒÀí½âÉÏÃæÕâ¾ä»°,ÎÒ½«´Ó×îÔçµÄAndroid ÏîÄ¿¿ª·¢·½Ê½ËµÆð.
¼òµ¥¿ª·¢Ä£ÐÍ
ËùνµÄ¼òµ¥¿ª·¢Ä£ÐÍÊÇ×î»ù´¡µÄ¿ª·¢·½Ê½,¹¤³ÌÖÐûÓÐËùνµÄÄ£¿é,ûÓÐËùνµÄ¹æ»®,³£¼ûÓÚ³õѧÕßѧϰ½×¶Î»òÕßÊǸöÈËѧϰ¹ý³ÌËùдµÄdemo,Æä½á¹¹´ó¸ÅÈçÏÂ:

²»ÄÑ·¢ÏÖ,ÍùÍùÊÇÔÚÒ»¸ö½çÃæÖдæÔÚ×Å´óÁ¿µÄÒµÎñÂß¼,¶øÒµÎñÂß¼Öгä³âן÷ÖÖ¸÷ÖÖÍøÂçÇëÇó,Êý¾Ý²Ù×÷µÈÐÐΪ,Õû¸öÏîÄ¿ÖÐûÓÐËùνµÄÄ£¿éµÄ¸ÅÄî,ÏîÄ¿×é³ÉµÄ»ù±¾µ¥Î»²»ÊÇÄ£¿é,¶øÊÇ·½·¨¼¶µÄ.
¹ØÓÚÕâÖÖ¿ª·¢Ä£ÐÍûʲôÐèÒª½éÉܵÄ,ÎÒÃÇÔçÆÚ¶¼¾Àú¹ý,ÏÖÔÚ³ýÁ˺ÜÉٷdz£¹ÅÀϵÄÏîÄ¿ÒÔ¼°³õѧÕßÁ·ÊÖÖ®×÷,ÒѾºÜÉÙ¼ûµ½.
µ¥¹¤³Ì¿ª·¢Ä£ÐÍ
¸ÃÖÖ¿ª·¢Ä£ÐÍÒѾÓÐÁËÃ÷È·µÄÄ£¿é»®·Ö,²¢ÇÒͨ¹ýÂß¼Éϵķֲã³ÊÏÖ³ö½ÏºÃ½á¹¹,¸ÃÄ£ÐÍ×îΪÎÒÃÇËùÊìϤ,ͨ³£ÓÃÓÚÔçÆÚ²úÆ·µÄ¿ìËÙ¿ª·¢,ÍŶӹæÄ£½ÏСµÄÇé¿öÏÂ.¸ÃÖÖ¿ª·¢Ä£ÐͽṹÈçÏÂ:

Ëæ×ŲúÆ·µÄµü´ú,ÒµÎñÔ½À´Ô½¸´ÔÓ,ËæÖ®´øÀ´µÄÊÇÏîÄ¿½á¹¹¸´ÔӶȵļ«¶ÈÔö¼Ó,´ËʱÎÒÃÇÃæÁÙ׿¸¸öÎÊÌâ:
ʵ¼ÊÒµÎñ±ä»¯·Ç³£¿ì,µ«Êǹ¤³Ì֮ǰµÄÒµÎñÄ£¿éñîºÏ¶ÈÌ«¸ß,Ç£Ò»·¢¶ø¶¯È«Éí.
¶Ô¹¤³ÌËù×öµÄÈκÎÐ޸ͼ±ØÐëÒª±àÒëÕû¸ö¹¤³Ì
¹¦ÄܲâÊÔºÍϵͳ²âÊÔÿ´Î¶¼Òª½øÐÐ.
ÍŶÓÐͬ¿ª·¢´æÔڽ϶àµÄ³åÍ».²»µÃ²»»¨·Ñ¸ü¶àµÄʱ¼äÈ¥¹µÍ¨ºÍе÷,²¢ÇÒÔÚ¿ª·¢¹ý³ÌÖÐ,ÈκÎһλ³ÉԱû°ì·¨×¨×¢ÓÚ×Ô¼ºµÄ¹¦Äܵã,Ó°Ï쿪·¢Ð§ÂÊ.
²»ÄÜÁé»îµÄ¶Ô¹¤³Ì½øÐÐÅäÖúÍ×é×°.±ÈÈç½ñÌì²úÆ·¾Àí˵¼ÓÉÏÕâ¸ö¹¦ÄÜ,Ã÷ÌìÓÖ˵ȥµô,ºóÌìÔÚ¼ÓÉÏ.
ÔÚÃæÁÙÕâЩÎÊÌâµÄǰÌáÏÂ,ÎÒÃÇÖØÐÂÀ´Ë¼¿¼×é¼þ»¯,¿´¿´ËüÊÇ·ñÄܽâ¾öÎÒÃÇÔÚAndroid ÏîÄ¿¿ª·¢ÖÐËùÓöµ½µÄÄÑÌâ.
Ö÷¹¤³Ì¶à×é¼þ¿ª·¢Ä£ÐÍ
½èÖú×é¼þ»¯Õâһ˼Ïë,ÎÒÃÇÔÚ¡±µ¥¹¤³Ì¡±Ä£Ð͵Ļù´¡ÉÏ,½«ÒµÎñ²ãÖеĸ÷ÒµÎñ³éÈ¡³öÀ´,·â×°³ÉÏàÓ¦µÄÒµÎñ×é¼þ,½«»ù´¡¿âÖи÷²¿·Ö³éÈ¡³öÀ´,·â×°³É»ù´¡×é¼þ,¶øÖ÷¹¤³ÌÊÇÒ»¸ö¿ÉÔËÐеÄapp,×÷Ϊ¸÷×é¼þµÄÈë¿Ú(Ö÷¹¤³ÌÒ²±»³ÆÖ®Îª¿Ç³ÌÐò).ÕâЩ×é¼þ»òÒÔjarµÄÐÎʽ³ÊÏÖ,»òÒÔaarµÄÐÎʽ³ÊÏÖ.Ö÷¹¤³Ìͨ¹ýÒÀÀµµÄ·½Ê½Ê¹ÓÃ×é¼þËùÌṩµÄ¹¦ÄÜ.

(ÐèҪעÒâÕâÊÇÀíÏë״̬ϵĽṹͼ,ʵ¼ÊÏîÄ¿ÖÐ,ÒµÎñ×é¼þÖ®¼ä»á²úÉúͨÐÅ,Ò²»á²úÉúÒÀÀµ,¹ØÓÚÕâÒ»µã,ÎÒÃÇÔÚÏÂÎÄ»á̸)
²»ÂÛÊÇjar»¹ÊÇaar,±¾ÖÊÉ϶¼ÊÇLibrary,ËûÃDz»ÄÜÍÑÀëÖ÷¹¤³Ì¶øµ¥¶ÀµÄÔËÐÐ.µ±ÍŶÓÖгÉÔ±¹²Í¬²ÎÓëÏîÄ¿µÄ¿ª·¢Ê±,ÿ¸ö³ÉÔ±µÄ¿ª·¢É豸ÖбØÐëÖÁÉÙͬʱ¾ß±¸Ö÷¹¤³ÌºÍ¸÷×Ô¸ºÔð×é¼þ,²»ÄÑ¿´³öͨ¹ý¶ÔÏîĿʵÐÐ×é¼þ»¯,ÿ¸ö³ÉÔ±¿ÉÒÔרע×Ô¼ºËù¸ºÔðµÄÒµÎñ,²¢²»Ó°ÏìÆäËûÒµÎñ,ͬʱ½èÖúÎȶ¨µÄ»ù´¡×é¼þ,¿ÉÒÔ¼«´ó¼õÉÙ´úÂëȱÏÝ,Òò¶øÕû¸öÍŶӿÉÒÔÒÔ²¢Ðпª·¢µÄ·½Ê½¸ßЧµÄÍÆ½ø¿ª·¢½ø¶È.
²»µ«Èç´Ë,×é¼þ»¯¿ÉÒÔÁé»îµÄÈÃÎÒÃǽøÐвúÆ·×é×°,Òª×öµÄÎ޷ǾÍÊǸù¾ÝÐèÇóÅäÖÃÏàÓ¦µÄ×é¼þ,×îºóÉú²ú³öÎÒÃÇÏëÒªµÄ²úÆ·.ÕâÓеãÏñÍæ»ýľ,ͨ¹ý²»Í¬°Ú·Å,ÎÒÃǾÍÄܵõ½×Ô¼ºÏëÒªµÄÐÎ×´.
¶Ô²âÊÔͬѧ¶øÑÔ,ÄÜÓÐЧµÄ¼õÉÙ²âÊÔµÄʱ¼ä:ÔÓеÄÒµÎñ²»ÐèÒªÔٴνøÐй¦ÄܲâÊÔ,¿ÉÒÔרעÓÚ·¢Éú±ä»¯µÄÒµÎñµÄ²âÊÔ,ÒÔ¼°×îÖյɲâÊÔ¼´¿É.
µ½ÏÖÔÚΪֹ,ÎÒÃÇÒѾÓÐЧ½â¾öÁË¡±µ¥¹¤³Ì¿ª·¢Ä£ÐÍ¡±ÖÐһЩÎÊÌâ,¶ÔÓڴ󲿷ÖÍŶÓÀ´ËµÕâÖÖÒѾ¿ÉÒÔÁË,µ«ÊǸÃÄ£ÐÍÈÔÈ»´æÔÚһЩ¿ÉÒԸĽøµÄµã:ÿ´ÎÐÞ¸ÄÒÀÀµ°ü,¾ÍÐèÒªÖØÐ±àÒëÉú³Élib»òÕßaar.±ÈÈç˵СÑÕͬѧ½ÓÊÖÁËÒ»¸öÏîÄ¿ÓÐ40¶à¸ö×é¼þ,ÔÚ×îºó¼¯³ÉËùÓÐ×é¼þµÄʱºò,СÑÕͬѧ·¢ÏÖÆäÖÐij×é¼þ´æÔÚÎÊÌâ,ΪÁ˶¨Î»ºÍÐ޸ĸÃ×é¼þÖеÄÎÊÌâ,СÑÕͬѧ²»¶ÏÕâµ÷ÊÔ¸Ã×é¼þ.ÓÉÓÚÔÚ¸ÃÄ£ÐÍÏÂ,×é¼þ²»ÄÜÍÑÀëÖ÷¹¤³Ì,ÄÇôÒâζ×Å,ÿ´ÎÐ޸ĺó,СÑÕͬѧ¶¼ÒªÔÚÂþ³¤µÄ±àÒë¹ý³ÌÖеȴý.¸üÔã¸âµÄÊÇ,ÏÖÔÚÀëÉÏÏßÖ»ÓÐ5СʱÁË,ÿ´Î±àÒë10·ÖÖÓ,Ϊ¸ÄÕâ¸öbug,±àÒëÁË20´Î,¶÷¡.ʲôҲ²»ÓøÉÁË,¿ÉÒÔÌá½»ÀëÖ°±¨¸æÁË
ÈçºÎ½â¾öÕâÖÖÿ´ÎÐÞ¸Ä×é¼þ¶¼ÒªÁ¬Í¬Ö÷¹¤³ÌÒ»Æð±àÒëµÄÎÊÌâ?ÏÂÃæÎÒÃÇÀ´¿´Ö÷¹¤³Ì¶à×Ó¹¤³Ì¿ª·¢Ä£ÐÍÊÇÈçºÎ½â¾ö¸ÃÎÊÌâµÄ.
Ö÷¹¤³Ì¶à×Ó¹¤³Ì¿ª·¢Ä£ÐÍ
¸ÃÖÖ¿ª·¢Ä£ÐÍÔÚ¡±Ö÷¹¤³Ì¶à×é¼þ¡±¿ª·¢Ä£Ð͵Ļù´¡ÉÏ×öÁ˸Ľø,Æä½á¹¹Í¼ÈçÏÂ:

²»ÄÑ·¢ÏÖ,¸ÃÖÖ¿ª·¢Ä£ÐÍÔڽṹÉϺ͡±Ö÷¹¤³Ì¶à×é¼þ¡±²¢ÎÞ²»Í¬,ΨһµÄÇø±ðÔÚÓÚ:ËùÓÐÒµÎñ×é¼þ²»ÔÙÊÇmouble¶øÊÇ×÷Ϊһ¸ö×Ó¹¤³Ì,»ù´¡×é¼þ¿ÉÒÔʹmoudle,Ò²¿ÉÒÔÊÇ×Ó¹¤³Ì,¸Ã×Ó¹¤³ÌºÍÖ÷¹¤³Ì²»Í¬:DebugģʽÏÂÏÂ×÷Ϊapp,¿ÉÒÔµ¥¶ÀµÄ¿ª·¢,ÔËÐÐ,µ÷ÊÔ;ReleaseģʽÏÂ×÷ΪLibrary,±»Ö÷¹¤³ÌËùÒÀÀµ,ÏòÖ÷¹¤³ÌÌṩ·þÎñ.
ÔÚ¸ÃÖÖÄ£ÐÍÏÂ,µ±Ð¡ÑÕͬѧ·¢ÏÖij¸öÒµÎñ×é¼þ´æÔÚȱÏÝ,»áÈçºÎ×öÄØ?±ÈÈçÊÇ»ù´¡×é¼þ2³öÏÖÎÊÌâ,ÓÉÓÚÔÚDebugģʽÏÂ,»ù´¡×é¼þ2×÷Ϊapp¿ÉÒÔ¶ÀÁ¢ÔËÐеÄ,Òò´Ë¿ÉÒÔºÜÈÝÒ׵ضԸÃÄ£¿é½øÐе¥¶ÀÐÞ¸Ä,µ÷ÊÔ.×îºóÐÞ¸ÄÍêºóÖ»ÐèÒªÖØÐ±àÒëÒ»´ÎÕû¸öÏîÄ¿¼´¿É.
²»ÄÑ·¢ÏÖ¸ÃÖÖ¿ª·¢Ä£ÐÍÓÐЧµÄ¼õÉÙÁËÈ«±àÒëµÄ´ÎÊý,¼õÉÙ±àÒëºÄʱµÄͬʱ,·½±ã¿ª·¢Õß½øÐпª·¢µ÷ÊÔ.
¶Ô²âÊÔͬѧÀ´Ëµ,¹¦ÄܲâÊÔ¿ÉÒÔÌáǰ,²¢ÇÒÄܹ»¼°Ê±µÄ²ÎÓëµ½¿ª·¢»·½ÚÖÐ,½«·çÏÕ½µµ½×îµÍ.
µ½ÏÖÔÚ,ÎÒÃÇÔÚÀíÂÛ²ã´ÎÉϽ²Ã÷Á˲ÉÓÃ×é¼þ»¯¿ª·¢¸øÎÒÃÇ´øÀ´µÄ±ãÀû,¿Õ¿ÚÎÞÆ¾ÊÇûÓÐ˵·þÁ¦µÄ,ÔÚÏÂÃæµÄһС½ÚÖÐ,ÎÒÃÇÀ´Ì¸Ì¸ÈçºÎ×é¼þ»¯ÔÚAndroidÖеÄʵʩ¹ý³Ì.
×é¼þ»¯¹ý³ÌÖÐÓöµ½µÄÎÊÌâ
×é¼þ»®·Ö
×é¼þ»¯Ê×Òª×öµÄÊÂÇé¾ÍÊÇ»®·Ö×é¼þ.ÈçºÎ»®·Ö²¢Ã»ÓÐÒ»¸öÈ·Çеıê×¼,ÎÒ½¨ÒéÔçÆÚʵʩ×é¼þ»¯µÄʱºò,¿ÉÒÔÒÔÒ»ÖÖ¡±½Ï´Ö¡±µÄÁ£¶ÈÀ´½øÐÐ,ÕâÑù×óÓҵĺô¦ÔÚÓÚºóÆÚËæ×ŶÔÒµÎñµÄÀí½â½øÐÐÔÙ´Îϸ·Ö,¶ø²»»áÓÐÌ«´óµÄ³É±¾.µ±È»,ÎÒ½¨Òé»®·Ö×é¼þÕâÒ»¹¤×÷ÓÐÍŶӼܹ¹ÈËÔ±ºÍÒµÎñÈËÔ±ÐÉ̶¨ÖÆ.
×Ó¹¤³Ì¹¤×÷·½Ê½Çл»
ÔÚ¡±Ö÷¹¤³Ì¶à×Ó¹¤³ÌÄ£ÐÍ¡±ÖÐ,ÎÒÃÇÌáµ½×Ó¹¤³ÌÔÚDebugģʽÏÂ×öΪµ¥¶ÀµÄApplicationÔËÐÐ,ÔÚReleaseģʽÏÂ×÷ΪLibraryÔËÐÐ,ÈçºÎÈ¥¶¯Ì¬ÐÞ¸Ä×Ó¹¤³ÌµÄÔËÐÐÄ£Ê½ÄØ?ÎÒÃǶ¼ÖªµÀ²ÉÓÃGradle¹¹½¨µÄ¹¤³ÌÖÐ,ÓÃapply plugin: 'com.android.application'À´±êʶ¸ÃΪApplication,¶øapply plugin: 'com.android.library'±ê־λLibrary.Òò´Ë,ÎÒÃÇ¿ÉÒÔÔÚ±àÒëµÄÊÇͬͨ¹ýÅжϹ¹½¨»·¾³ÖеIJÎÊýÀ´ÐÞ¸Ä×Ó¹¤³ÌµÄ¹¤×÷·½Ê½,ÔÚ×Ó¹¤³ÌµÄgradle½Å±¾Í·²¿¼ÓÈëÒÔϽű¾Æ¬¶Î:
if (isDebug.toBoolean()) {
apply plugin: 'com.android.application' } else { apply plugin: 'com.android.library' } |
³ý´ËÖ®Íâ,×Ó¹¤³ÌÖÐÔÚ²»Í¬µÄÔËÐз½Ê½ÏÂ,ÆäAndroidMainifest.xmlÒ²ÊDz»ÏàͬµÄ,ÐèҪΪÆä·Ö±ðÌṩ×Ô¼ºAndroidManifest.xmlÎļþ:ÔÚ×Ó¹¤³ÌsrcĿ¼ÏÂ(ÆäËûλÖô´½¨)´´½¨Á½¸öĿ¼,ÓÃÀ´´æ·Å²»Í¬µÄAndroidManifest.xml,±ÈÈçÕâÀïÎÒ´´½¨ÁËdebugºÍreleaseĿ¼

½ÓÏÂÀ´Í¬ÑùÐèÒªÔÚ¸Ã×Ó¹¤³ÌµÄgradle¹¹½¨½Å±¾Öиù¾Ý¹¹½¨·½Ê½Öƶ¨:
android { sourceSets { main { if(isDebug.toBoolean()) {
manifest.srcFile 'src/debug/AndroidManifest.xml'
} else {
manifest.srcFile 'src/release/AndroidManifest.xml'
}
}
}
} |
×é¼þͨÐÅÓë×é¼þÒÀÀµ
ÔÚ¡±Ö÷¹¤³Ì¶à×é¼þ¡±ÕâÖÖÀíÏëÄ£ÐÍÏÂÒµÎñ×é¼þÊDz»´æÔÚÏ໥ͨÐźÍÒÀÀµµÄ,µ«ÏÖʵȴÊÇÏà·´µÄ,ÈçÏÂͼ:

ÕâÀï,ÒµÎñ×é¼þ1ºÍÒµÎñ×é¼þ3ͬʱÏòÒµÎñ×é¼þ2Ìṩ·þÎñ,¼´ÒµÎñ×é¼þ2ÐèҪͬʱÒÀÀµÒµÎñ×é¼þ3ºÍÒµÎñ×é¼þ1.
ÏÖÔÚÎÒÃÇÔÙÀ´¿´Ò»ÖÖ¸üÔã¸âµÄÇé¿ö:

ÓÉ´Ë¿´À´,ÔÚÒµÎñ¸´ÔÓµÄÇé¿öÏÂ,×é¼þÓë×é¼þÖ®¼äµÄÏ໥ÒÀÀµ»á´øÀ´Á½¸öÎÊÌâ:
ÖØ¸´ÒÀÀµ:±ÈÈç¿ÉÄÜ´æÔÚÒµÎñ×é¼þ3ÒÀÀµÒµÎñ×é¼þ1,¶øÒµÎñ×é¼þ2ÓÖÒÀÀµÒµÎñ×é¼þ3ºÍÒµÎñ×é¼þ1,´Ëʱ¾Íµ¼ÖÂÁËÒµÎñ×é¼þ1±»Öظ´ÒÀÀµ.
×ÓϵͳͨÐÅ·½Ê½²»ÄÜÒÀ¿¿´«Í³µÄÏÔʾÒâͼ.ÔÚ¸ÃÖÖÄ£ÐÍÏÂ,ʹÓÃÏÔʾÒâͼ½«µ¼ÖÂ×é¼þ¸ß¶ÈñîºÏ.±ÈÈçÒµÎñ×é¼þ2ÒÀÀµÒµÎñ×é¼þ1,²¢Í¨¹ýÏÔʾÒâͼµÄ·½Ê½½øÐÐͨÐÅ,Ò»µ©ÒµÎñ×é¼þ1²»ÔÙʹÓÃ,ÄÇôҵÎñ×é¼þ2ÖÐʹÓÃÏÖʵÒâͼµÄµØ·½»á³öÏÖ´íÎó,ÕâÏÔÈ»ÓëÎÒÃÇ×é¼þ»¯µÄÄ¿µÄ±³µÀ¶ø³Û.
½â¾ö×é¼þͨÐÅ
ÏÈÀ´½â¾öÒµÎñ×é¼þͨÐÅÎÊÌâ.µ±Äê¿´µ½ÉÏÃæÄÇÕŸ´ÔÓµÄ×é¼þͨÐÅͼʱ,ÎÒÃDz»ÄÑÏëµ½²Ù×÷ϵͳÒýÈë×ÜÏß»úÖÆÀ´½â¾öÉ豸¹ÒÔØÎÊÌâ,ͬÑù,½èÓÃ×ÜÏߵĸÅÄîÎÒÃÇÔÚ¹¤³ÌÌí¼Ó¡±×é¼þ×ÜÏß¡±,ÓÃÓÚ²»Í¬×é¼þ¼äµÄͨÐÅ,´Ëʱ½á¹¹ÈçÏÂ:

ËùÓйÒÔØµ½×é¼þ×ÜÏßÉϵÄÒµÎñ×é¼þ,¶¼¿ÉÒÔʵÏÖË«ÏòͨÐÅ.¶øÍ¨ÐÅÐÒéºÍHTTPͨÐÅÐÒéÀàËÆ,¼´»ùÓÚURLµÄ·½Ê½½øÐÐ.ÖÁÓÚʵÏֵķ½Ê½Ò»ÖÖ¿ÉÒÔ»ùÓÚϵͳÌṩµÄÒþʽÒâͼµÄ·½Ê½,ÁíÒ»ÖÖÔòÊÇÍêÈ«×ÔÐÐʵÏÖ×é¼þ×ÜÏß.ÕâÆªÎÄÕ²»´òËãÔڴ˲»×öÏêϸ˵Ã÷ÁË.
½â¾öÖØ¸´ÒÀÀµ
¶ÔÓÚ²ÉÓÃaar·½Ê½Êä³öµÄLibrary¶øÑÔ,ÔÚ¹¹½¨ÏîĿʱ,gradle»áΪÎÒÃDZ£Áô×îа汾µÄaar,»»ÑÔÖ®,Èç¹ûÒÔaarµÄ·½Ê½ÏòÖ÷¹¤³ÌÌṩÌṩÒÀÀµ²»»á´æÔÚÖØ¸´ÒÀÀµµÄÎÊÌâ.¶øÈç¹ûÊÇÖ±½ÓÒÔprojectÐÎʽÌṩÒÀÀµ,ÔòÔÚ´ò°ü¹ý³ÌÖлá³öÏÖÖØ¸´µÄ´úÂë.½â¾öprojectÖØ¸´ÒÀÀµÎÊÌâĿǰÓÐÁ½ÖÖ×ö·¨:1.¶ÔÓÚ´¿´úÂ빤³ÌµÄ¿â»òjar°ü¶øÑÔ,Ö»ÔÚ×îÖÕÏîÄ¿ÖÐÖ´ÐÐcompile,ÆäËûÇé¿ö²ÉÓÃprovider·½Ê½;2.ÔÚ±àÒëʱ¼ì²âÒÀÀµµÄ°ü,ÒѾÒÀÀµµÄ²»ÔÙÒÀÀµ
×ÊÔ´id³åÍ»
Ôںϲ¢¶à¸ö×é¼þµ½Ö÷¹¤³ÌÖÐʱ,¿ÉÄÜ»á³öÏÖ×ÊÔ´ÒýÓóåÍ»,
×î¼òµ¥µÄ·½Ê½ÊÇͨ¹ýʵÏÖÔ¼¶¨×ÊԴǰ׺Ãû(resourcePrefix)À´±ÜÃâ,ÐèÒªÔÚ×é¼þµÄgradle½Å±¾ÖÐÅäÖÃ:
andorid{ ... buildTypes{ ... } resourcePrefix "moudle_prefix" } |
Ò»µ©ÅäÖÃresourcePrefix,ËùÓеÄ×ÊÔ´±ØÐëÒÔ¸Ãǰ׺Ãû¿ªÍ·.±ÈÈçÉÏÃæÅäÖÃÁËǰ׺ÃûΪmoudle_prefix,ÄÇôËùÓеÄ×ÊÔ´Ãû¶¼Òª¼ÓÉϸÃǰ׺,Èç:mouble_prefix_btn_save.
×é¼þÉÏÏÂÎÄ(Context)
×îºóÐèҪעÒâÔÚDebugģʽϺÍReleaseģʽÏÂ,ËùÐèÒªµÄContextÊÇ·ñÊÇÄãËùÏ£ÍûµÄ,ÒÔ±ÜÃâ²úÉúǿתÒì³£.
½áÊøÓï
×îÔç½Ó´¥×é¼þ»¯Õâ¸ö¸ÅÄîÊÇÔÚ´ÓÊÂ¹ã¸æSDK¹¤×÷ÖÐ,×î½üÂ½ÐøÐøµÄ×öÁËһЩ×ܽá,Òò´ËÓÐÁËÕâÆª¹ØÓÚ¡±×é¼þ»¯¿ª·¢¡±µÄÎÄÕÂ.ÁíÍâ,×é¼þ»¯¿ª·¢²»ÊÇÒøµ¯,²¢²»ÄÜÍêÈ«½â¾öµ±Ç°ÒµÎñ¸´ÔÓµÄÇé¿ö,ÔÚ½øÐÐÏîĿʵʩºÍ¸Ä½øÖ®Ç°,Ò»¶¨Òª¶à¼Ó¿¼Á¿.
¾´ÇëÆÚ´ýµÚ¶þƪ,ÎÒÃǽ«ÔÚµÚ¶þƪÄÚ½éÉÜÈçºÎ¶ÔÏîĿʵʩ×é¼þ»¯.
|