Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¾ÛÃÀ×é¼þ»¯Êµ¼ù֮·
 
  2993  次浏览      29
 2019-1-16  
 
±à¼­ÍƼö:
±¾ÎÄÀ´×Ô¾ò½ð,Ö÷Òª½²½âÁË×é¼þ»¯½á¹¹¡¢½¨Á¢×é¼þ»¯ÏîÄ¿½á¹¹¡¢×é¼þ¼äͨÐÅÒÔ¼°ÓÅ»¯¼ÓËÙ£¬¸ü¶àÄÚÈÝÇë²ÎÔÄÏÂÎÄ¡£

´ÓÈ¥Ä꿪ʼ£¬¾ÍÂ½Â½ÐøÐøµÄÔ½À´Ô½¶àµÄapp¿ªÊ¼½øÐÐÁË×é¼þ»¯Öع¹¡£Ò²Óкܶà·Ç³£ºÃµÄ×é¼þ»¯·½°¸²©¿Í·ÖÏí£¬ËùÒÔÕâÆªÎÄÕ²¢²»ÒÔ½éÉÜ×é¼þ»¯·½°¸×÷ΪÖ÷Ì⣬¶øÊÇÎÒÃÇÓ¦¸ÃÈçºÎÒ»²½²½µÄ´ÓÒ»¸ö¹ÅÀϵÄÏîÄ¿£¬ÂýÂýÒ»²½²½²ð·Ö£¬Íê³É×é¼þ»¯Öع¹µÄ¡£

×é¼þ»¯µÄ˼ÏëÊǺõ쬵«ÊDz¢²»ÊÇËùÓеÄÏîÄ¿¶¼ÊʺÏʹÓÃ×é¼þ»¯µÄ·½Ê½½øÐпª·¢£¬ËùÒÔÒ»°ãÐèҪʹÓÃ×é¼þ»¯µÄÏîÄ¿¡£»ù±¾¶¼ÊǾ߱¸ÏîÄ¿µü´úʱÆÚ¾ÃÔ¶¡¢ÏîÄ¿´ó¶øÓ·Öס¢ÏîÄ¿×é³ÉÔ±¶à¹µÍ¨³É±¾´ó¡¢ÏîÄ¿¸´ÔÓά»¤³É±¾ºÜ¸ßµÈÌØµã¡£ÕâÀàµÄÏîÄ¿²Å»áÓÐ×é¼þ»¯µÄÓÃÎäÖ®µØ¡£

¶øÆäËûµÄһЩÈËÔ±ÉÙ¡¢¹¦Äܼòµ¥µÄСÏîÄ¿¡£¾Í±ðÈ¥Ö±½Ó¿¼ÂÇ×é¼þ»¯ÁË¡£ÀÏÀÏʵʵֱ½ÓߣÂë¾ÍÐÐÁË¡£Ç¿ÐÐʹÓÃ×é¼þ»¯Ö»»áÔö¼Óά»¤³É±¾Ó뿪·¢³É±¾¡£µÃ²»³¥Ê§~

×é¼þ»¯½á¹¹

×é¼þ»¯´ÓÀ´²»ÊÇÒ»¸öËµÖØ¹¹¾ÍÄÜÖØ¹¹µÄ¶«Î÷£¬ÔÚ½øÐÐ×é¼þ»¯Öع¹Ö®Ç°¡£×îºÃÏȶÔ×é¼þ»¯µÄ½á¹¹ÓÐÒ»¸ö»ù±¾µÄÀí½â£º

ÉÏͼΪ×é¼þ»¯×î»ù±¾µÄ½á¹¹¡£´óÖ¿ÉÒÔ¿´³ö¡£×é¼þ»¯Ö÷Òª·ÖΪÈý²ã£º

1.app¿Ç£º

´ËΪ×é¼þ»¯µÄÔËÐÐÈÝÆ÷£¬¿ÇÖж¨ÒåappÈë¿Ú£¬ÒÀÀµÒµÎñ×é¼þ½øÐÐÔËÐС£

2.ÒµÎñ×é¼þ£º

´ËΪ×é¼þ»¯µÄÖмä²ã£¬ÔÚÒ»¸ö´óÐÍÏîÄ¿×éÖС£¶¼ÓÐϸ·ÖÏÂÀ´µÄ²»Í¬µÄÒµÎñ×飬±ÈÈç¹ÜµÇ¼µÄ¡¢¹Ü¹ºÎïµÄ¡¢¹ÜÊÓÆµµÄµÈµÈ¡£ÕâЩ²»Í¬ÒµÎñ×é·Ö±ðά»¤Ò»¸ö¸÷×ÔµÄÒµÎñ×é¼þ£¬ÒÔ´ïµ½¸÷×ÔÒµÎñ×éÒµÎñ½âñîµÄЧ¹û¡£

Ô­ÔòÉÏÀ´Ëµ£º¸÷¸öÒµÎñ×é¼þÖ®¼ä²»ÄÜÓÐÖ±½ÓÒÀÀµ£¡ËùÓеÄÒµÎñ×é¼þ¾ùÐèÒª¿ÉÒÔ×öµ½¶ÀÁ¢ÔËÐеÄЧ¹û¡£¶ÔÓÚ²âÊÔµÄʱºò£¬ÐèÒªÒÀÀµ¶à¸öÒµÎñ×é¼þµÄ¹¦ÄܽøÐм¯³É²âÊÔµÄʱºò¡£¿ÉÒÔʹÓÃapp¿Ç½øÐжà×é¼þÒÀÀµ¹ÜÀíÔËÐС£

3.»ù´¡×é¼þ£º

»ù´¡×é¼þÒ²½Ð»ù´¡¹¦ÄÜ×é¼þ¡£´Ë²¿·Ö×é¼þΪÉϲãÒµÎñ×é¼þÌṩ»ù±¾µÄ¹¦ÄÜÖ§³Ö¡£Èç»ù´¡ÍøÂç×é¼þ¡¢»ù´¡ÊÓͼ×é¼þ¡¢»ù´¡Êý¾Ý´æÈ¡×é¼þµÈ£¬ÒÔ¼°×é¼þ»¯µÄºËÐÄͨÐÅ×é¼þ£ºÂ·ÓÉ×é¼þ¡£ÒÔÉϼ´ÊÇ×é¼þ»¯µÄ×î»ù±¾½á¹¹£¬µ±È»ÔÚÕæÕýµÄÏîĿ֮ÖУ¬²»¿ÉÄÜ»á´æÔÚÕâô¼òµ¥µÄ½á¹¹£¬¶¼ÊÇÐèÒª¸ù¾ÝÄãµÄ¾ßÌåÏÖ×´½øÐÐÀ©³äµÄ¡£±ÈÈçÄã¿ÉÒÔÔÚ»ù´¡×é¼þÓëÒµÎñ×é¼þÖ®¼ä£¬Ìí¼ÓÒ»²ãÌØÊâµÄ¹¦ÄÜ×é¼þ¡£´Ë²ãµÄ¹¦ÄÜ×é¼þÖ»±»Ò»¸ö»òÕß¶à¸ö×é¼þ½øÐÐÒÀÀµ£¬Ö»Òª²»ÆÆ»µÕâ²ãÓÉϵ½Éϵ¥ÏòÒÀÀµÁ´¼´¿É£º

×¼±¸

×é¼þ»¯Öع¹´ÓÀ´¶¼²»ÊÇËµÖØ¹¹¾ÍÄÜÖØ¹¹µÄ£¬Ê×ÏȵÃÓиöÇ¿ÓÐÁ¦µÄÁ쵼ȥ֧³ÖÖ´ÐУ¬È»ºóÄã²Å¿ÉÄÜÈ¥¾ßÌåµÄ½øÐÐÖØ¹¹¡£

Æä´Î£¬ÄãµÃÌáǰ¶ÔÄãÃǵÄÏîÄ¿½øÐдó·½ÏòµÄ·Ö²ã½á¹¹»®·Ö£¬ÄÄЩ¶«Î÷ÐèÒª·ÅÔÚʲô²ã¡£ÐèÒªÌáǰÓиöÃ÷È·µÄ»®·Ö¡£

ÖØ¹¹ÄãµÄ»ù´¡×é¼þ£º¼´ÄãµÄ¸÷ÖÖ»ù´¡¹¦ÄÜ¿ò¼ÜÐèÒªÌáǰ´ÓÏîÄ¿Öвð·Ö³öÀ´¡£°üÀ¨ÍøÂ硢ͼƬ¼ÓÔØ¡¢Êý¾Ý´æ´¢¡¢Âñµã¡¢Â·Óɵȡ£

½¨Á¢×é¼þ»¯ÏîÄ¿½á¹¹

½¨Á¢»ù´¡×é¼þºÏ¼¯

ÄãÐèÒª´´½¨Ò»¸ö»ù´¡library module¡£ÓÃÓÚÒÀÀµËùÓеĻù´¡¹¦ÄÜ×é¼þ£¬Èçbaselib¡£

×÷ÓãºÓÃÓÚͳһÒÀÀµ»ù´¡¹¦Äܿ⣬²¢Í³³ï¡¢¹ØÁªºÃ¸÷¹¦ÄÜ¿ò¼ÜµÄ¹ØÏµ£¬×öºÃ¸÷¹¦ÄÜ¿âµÄ³õʼ»¯·â×°²Ù×÷¡£ÌṩÉϲãÒµÎñ×é¼þÖ±½Óµ÷Óá£

´´½¨¸÷×ÔÒµÎñÏßµÄÒµÎñ×é¼þ¼°app¿Ç

ÓëÆÕͨµÄ×é¼þ»¯·½°¸×ö·¨²»Í¬£¬ÆÕͨµÄ×é¼þ»¯·½°¸ÊÇʹÓÃÒ»¸ö±äÁ¿½øÐпØÖÆ¡£Ê¹µÃÒµÎñ×é¼þ¿ÉÒÔÔÚapplicationÓëlibraryÖ®¼ä½øÐÐÁé»îÇл»¡£Ê¹µÃ×é¼þÒ²ÊÇapplication¡£applicationÒ²ÊÇ×é¼þ¡£

µ«ÊÇÕâÖÖ×ö·¨£¬ÒòΪ×ÜÊÇÔÚlibraryModuleÓëapplicationModuleÖ®¼ä½øÐÐÇл»¡£ºÜÈÝÒ×µ¼Ö¸÷ÖÖ»ìÂÒÎÊÌ⣺±ÈÈçManifest³åÍ»£¬RÎļþ³åÍ»µÈ¡£

ËùÒÔÎÒÃDzÉÓõÄÊǶàapp¿Ç·Ö×é¼ÓÔØµÄ·½Ê½£º

¿ÉÒÔ¿´µ½£¬Ã¿¸öÒµÎñÏßµÄÒµÎñ×é¼þ¡£¶¼·Ö±ðÓÐÒ»¸ö¸÷×ÔµÄapp¿ÇÄ£¿é¡£¶øÖ÷app¿ÇÒÀÀµËùÓеÄÒµÎñ×é¼þ. ÔÚ½øÐÐÒµÎñ¿ª·¢Ê±¡£¸÷×ÔÒµÎñ×é³ÉÔ±¿ÉÒÔÖ±½ÓÔËÐи÷×ÔµÄapp¿ÇÄ£¿é½øÐвâÊÔ£¬Ö÷app¿Ç½øÐÐÈ«Á¿´ò°ü¡£

ÔÚ²ð·Ö³õÆÚ£¬Õâ¸öʱºòµÄ½¨ÒéÒÔÔ­±¾µÄÏîÄ¿application×÷ΪÖ÷app¿Ç¡£

Ô¤ÁôÒ»¸öºËÐÄÒµÎñ×é¼þ³öÀ´¡£±ÈÈçµÇ¼×é¼þ£º´ËÀà×é¼þΪҵÎñ×é¼þ£¬µ«ÊÇÓÖ±»ËùÓÐÆäËû×é¼þËùÐèÒª£¬ËùÒÔ½«Æäµ¥¶À×÷ΪºËÐÄÒµÎñ×é¼þ¶ÀÁ¢³öÀ´¡£È»ºó±ðµÄÒµÎñ×é¼þ¡£Í¨¹ý¸÷×ÔµÄapp¿Ç¹¤³Ì¡£ÒÀÀµ½øÈë¼´¿É£ºÔÙ´ÎÌáÐÑÒµÎñ×é¼þÖ®¼ä²»ÄÜÖ±½Ó½øÐÐÒÀÀµ£º

ÕâÖÖ·Ö²ã½á¹¹µÄºÃ´¦ÓУº

ÒµÎñ×é¼þ²»ÔÙÔÚlibraryÓëapplicationÖ®¼ä½øÐÐÇл»¡£¿ª·¢»·¾³Í³Ò»£¬²»Ò׳öÏÖ»·¾³Çл»³åÍ»

app¿Çµ¥¶À¶ÀÁ¢³öÀ´¡£¿ÉÒÔÔڿǹ¤³ÌÖÐÌí¼ÓÒ»Ð©ÌØÓеĶÀÁ¢´úÂ룬ÓÉÓÚ¸÷×ԵĿǹ¦Äܲ»»á²ÎÓëµ½Ö÷app¿ÇÖÐÈ¥½øÐбàÒ룬ËùÓÐÕâÀïÃæÄã¿ÉÒÔÕë¶Ô¸÷×ÔµÄÒµÎñ¡£Ìí¼ÓһЩ¶ÀÁ¢µÄÈë¿Ú¹ÜÀíÀà¡£±ÈÈçÌí¼ÓÒ»¸öRootActivity£¬ÔÚ´ËÌí¼ÓÒ»¸ö¿ÉÒÔÌø×ªµ½ÈÎÒâÒ³ÃæµÄÁÐ±í£¬·½±ã½øÐвâÊÔÔËÐеȡ£

gradleͳһÅäÖùÜÀí

×é¼þ»¯Öع¹ºó£¬module±ä¶àÁË£¬ËùÒÔ¾ÍÐèÒª¶ÔËùÓÐmoduleµÄһЩgradle½Å±¾½øÐÐͳһÅäÖùÜÀí¡£±ÜÃâ»ìÂÒ¡£

н¨dependencies.gradle½Å±¾¡£Ìí¼ÓͳһµÄÒÀÀµ°æ±¾ºÅ¹ÜÀí£º

ext {
COMPILE_SDK_VERSION = 25
BUILD_TOOLS_VERSION = '25.0.0'
MIN_SDK_VERSION = 16
TARGET_SDK_VERSION = 19

// SUPPORT
SUPPORT_VERSION = '23.2.0'
SUPPORTDEPS = [
supportV4 : "com.android.support:support-v4:${SUPPORT_VERSION}",
supportV13 : "com.android.support:support-v13:${SUPPORT_VERSION}",
appcompatV7 : "com.android.support:appcompat-v7:${SUPPORT_VERSION}",
cardview : "com.android.support:cardview-v7:${SUPPORT_VERSION}",
design : "com.android.support:design:${SUPPORT_VERSION}",
annotations : "com.android.support:support-annotations:${SUPPORT_VERSION}",
multidex : 'com.android.support:multidex:1.0.1'
]
...
}

´Ë½Å±¾Í³Ò»ÅäÖùÜÀíËùÓеİ汾ºÅÏà¹ØµÄÊý¾Ý¡£ÍⲿÐèҪʹÓð汾ºÅ¼°ÒÀÀµÊ±£¬ÐèҪͳһ´Ó´ËÎļþÅäÖÃÊôÐÔÖнøÐжÁÈ¡¡£±ÈÈçÒªÒÀÀµsupportV4°ü£º

compile "${SUPPORTDEPS.supportV4}"

¶¨ÒåbaseConfig.gradle¡£Í³Ò»ÅäÖÃ×é¼þ»ù´¡±àÒë½Å±¾

boolean isAppModule = project.plugins.hasPlugin('com.android.application')
android {
compileSdkVersion Integer.parseInt("${COMPILE_SDK_VERSION}")
buildToolsVersion "${BUILD_TOOLS_VERSION}"
lintOptions {
abortOnError false
}
defaultConfig {
if (isAppModule) {
applicationId "com.haoge.component.demo"
}
minSdkVersion Integer.parseInt("${MIN_SDK_VERSION}")
targetSdkVersion Integer.parseInt("${TARGET_SDK_VERSION}")
versionCode Integer.parseInt("${DEFAULE_CONFIG.versionCode}")
versionName "${DEFAULE_CONFIG.versionName}"
}
}

ÕâÑù¡£¾Í¿ÉÒÔʹÓÃapplyÓï·¨¡£ÈÃËùÓÐ×é¼þmodule¡£¶¼Í³Ò»ÒÀÀµ´Ëgradle½Å±¾¡£½øÐÐͳһ»·¾³ÅäÖÃÁË¡£

ϸÐĵãµÄ¿ÉÒÔ·¢ÏÖ¡£ÎÒÔÚbaseConfigÖУ¬Ìí¼ÓÁËĬÈϵÄapplicationIdµÄÖ¸¶¨¡£ÕâÊÇÒòΪ¶ÔÓڴ󲿷ÖÓ¦ÓöøÑÔ¡£¶¼ÓÐÓùý¸÷ÖֵĵÚÈý·½sdk¡£ÌرðÊǵÚÈý·½µÇ¼£¬ÕâÖÖµÄsdk¿ò¼Ü¡£ºÜ¶à¶¼»áÐèÒª½øÐаüÃûÑéÖ¤µÄ£¬ËùÒÔ½¨ÒéÓдËÖÖÇé¿öµÄ£¬ÔÚ´ËÌí¼ÓÉÏĬÈϵÄapplicationIdÖ¸¶¨½ÏºÃ¡£

Èç¹ûÓÐÏÓÂé·³µÄÓÖ¶¯ÊÖÄÜÁ¦Ç¿µÄ¡£¿ÉÒÔ¿¼ÂÇ×Ô¼º·â×°¸ögradle²å¼þÀ´½øÐÐͳһÅäÖùÜÀí

Ϊ×é¼þÌí¼Ó×ÊԴǰ׺

ÎÒÃÇÐèÒª¶Ô¸÷×ÔµÄ×é¼þ£¬·Ö±ðÉèÖÃËû×ÔÉíµÄ×ÊԴǰ׺À´×÷ΪÃüÃûÔ¼Êø£¬±ÜÃâ³öÏÖ²»Í¬µÄ×é¼þ¶Ô²»Í¬µÄ×ÊÔ´ÆðÁËͬһ¸öÃüÃû£¬µ¼Ö±àÒë³åÍ»µÈÎÊÌâ¡£

android {
resourcePrefix 'lg_'
}

 

Õâ¸ö×ÊԴǰ׺µÄ×÷ÓÃÊÇ£ºµ±ÄãÔÚ¸ÃmoduleÏ´´½¨ÁËÒ»¸ö×ÊÔ´ÃüÃûʱ£¬ÈôÃû×Ö²»ÄÜÓë´Ëǰ׺½øÐÐÆ¥Å䣬Ôò½«»á½øÐм´Ê±ÌáÐÑ¡£±ÜÃâ³åÍ»¡£

´óÎļþ×ÊÔ´¡¢Í¼Æ¬×ÊԴͳһ¹ÜÀí

×é¼þ»¯Ö®ºó¡£×ÊÔ´¹ÜÀíÒ²ÊǸöÎÊÌ⣬ͼƬ×ÊÔ´¡¢assets×ÊÔ´¡¢rawÎļþ×ÊÔ´µÈ¡£¶¼¾ßÓÐÕ¼ÓÃ×ÊÔ´´ó¡¢»ù±¾ºÜÉÙÐ޸ĵÈÌØµã¡£ËùÒÔÕâÀï×îºÃ½«Æäµ¥¶À²ð·Ö³öÀ´¡£Í³Ò»Ìṩ¸øËùÓÐ×é¼þ½øÐÐʹÓãº

ËùÒÔ£¬¿ÉÒÔ¿¼Âǽ«´ËÀà´óÎļþ×ÊÔ´£¬Í³Ò»·ÅÈë×é¼þ»¯µÄ×îµ×²ã¡£Ê¹µÃ²»Í¬×é¼þ²»ÓÃ×Ô¼ºµ¥¶Àά»¤Ò»·Ý´Ë´óÎļþ×ÊÔ´¡£±ÜÃâ×ÊÔ´À˷ѵÄÏÖÏó¡£±ÈÈç¿ÉÒÔÖ±½Ó½«´Ë²¿·Ö×ÊÔ´¡£Ö±½Ó·ÅÈëbaselibÖУ¬×÷Ϊ»ù´¡¹¦ÄÜÌṩ¿â½øÐÐʹÓá£

×öºÃ¸÷×é¼þµÄapplicationÅÉ·¢

¿ÉÄÜÓÐÈË»áÎÊ£ºÎªÊ²Ã´Òª×ö×é¼þµÄapplicationµÄÉúÃüÖÜÆÚÅÉ·¢£¿

¾Ù¸öÀõ×Ó£º¶¼ÖªµÀ¡£ÍøÂç¿â¡¢Í¼Æ¬¼ÓÔØ¿âµÈ£¬¶¼ÐèÒª½øÐжÔÓ¦µÄ³õʼ»¯²Ù×÷²ÅÄܽøÐÐʹÓõ쬵«ÊÇÔÚ×é¼þ»¯ÖУ¬Èç¹û²»½øÐи÷×ÔapplicationµÄÅÉ·¢¡£²»ÄܽøÐÐÒ»¸öͳһÁ÷³ÌµÄ³õʼ»¯²Ù×÷¡£ÄÇô¿ÉÄÜÄã×é¼þAÐèÒª×Ô¼ºÊÖ¶¯Ð´»ù´¡¿âµÄ³õʼ»¯²Ù×÷¡£×é¼þB¡¢×é¼þCÒ²ÐèÒª¡£×îºóÄãµÄÖ÷app¿ÇÒ²ÐèÒª£¬Õâ¸öʱºò¡£¾ÍÈÝÒ×ÂÒÁË£¡

ËùÒÔÐèÒªÓиö½á¹¹¡£À´Èø÷×ÔµÄ×é¼þ¡£·Ö±ðÍê³É×ÔÉíµÄ×é¼þµÄ¹¦Äܳõʼ»¯¡£

±ÈÈç»ù´¡¹¦ÄÜ×é¼þ£º³õʼ»¯ÍøÂ硢ͼƬ¿ò¼ÜµÈ£¬ÉϲãµÄÒµÎñ×é¼þA£¬³õʼ»¯×ÔÉíµÄÆäËû¹¦ÄܲÙ×÷¡£¸÷×ÔµÄ×é¼þ·Ö±ðÖ»³õʼ»¯×ÔÉíÕⲿ·ÖµÄ²Ù×÷¡£¶ø²»ÓùÜËùÒÀÀµµÄÆäËû×é¼þÐèÒª½øÐÐʲô³õʼ»¯¡£

Õⲿ·ÖµÄÉúÃüÖÜÆÚÅÉ·¢¿ÉÒԲο¼demoÖеÄbaselibµÄdelegate°üϵÄÀࣺ

demoÁ´½Ó·ÅÔÚÁËÎÄÕÂĩβ¡£

×é¼þ¼äͨÐÅ

·ÓÉͨÐÅ

×é¼þ¼äͨÐŵĺËÐÄÊÇ·ÓÉ¿ò¼Ü£¬Õⲿ·Ö¿ò¼ÜÐèÒª·ÅÖÃÔÚ×îµ×²ãµÄ»ù´¡¹¦ÄÜ×é¼þÖУ¬ÌṩÉÏ²ã½øÐÐʹÓã¬ÕâÀïÎÒʹÓõÄÊÇÎÒ×Ô¼ºµÄ·ÓÉ¿ò¼ÜRouter:Ò»¿îµ¥Æ·¡¢×é¼þ»¯¡¢²å¼þ»¯È«Ö§³ÖµÄ·ÓÉ¿ò¼Ü¡£

´Ë·ÓÉ¿ò¼ÜÖ§³ÖÔÚµ¥Æ·¡¢×é¼þ»¯¡¢²å¼þ»¯ÖоùÄÜʹÓá£Èç¹ûÄãÏëҪΪ×é¼þ»¯Ö®ºó£¬ÄÜÔÚºóÆÚÓÐÐèÒªµÄÇé¿öÏ£¬·½±ãµÄ´Ó×é¼þ»¯Çл»µ½²å¼þ»¯µÄ»·¾³ÖÐÈ¥£¬½¨ÒéʹÓôËRouter

Èç¹ûÄãÃÇÏîÄ¿ÖÐÒѾ­ÓÐʹÓÃ×Ô¼ºµÄ·ÓÉ¿ò¼Ü£¬ÇÒÒ²Ö±½ÓÖ§³Ö×é¼þ»¯»·¾³Ê¹Ó᣽¨ÒéÕâ¿é¾Í×îºÃ±ð¿¼ÂÇ»»ÁË¡£Êµ»°Ëµ»»Ò»¸ö·ÓÉ¿ò¼ÜÈÎÎñ»¹ÊÇÍ¦ÖØµÄ¡£

ÒòΪ»ù±¾ËùÓеĽéÉÜ×é¼þ»¯µÄblog£¬¶¼¶ÔÆäÖеÄ·ÓÉ¿ò¼Ü£¬×öÁ˷dz£ÏêϸµÄ˵Ã÷£¬ËùÒÔÕâ¿éÎҾͲ»×¼±¸Õ¹¿ª½øÐÐÏêϸµÄ׸ÊöÁË£¬ÈçÓиÐÐËȤµÄ£¬¿ÉÒԲο¼ÉÏ·½µÄÁ´½Ó½øÐÐÁ˽âʹÓá£

ʼþͨÐÅ

Óë·ÓÉͨÐŲ»Í¬µÄÊÇ£ºÂ·ÓÉÖ÷ÒªÓÃÓÚ×ö½çÃæÌø×ªÍ¨ÐÅ£¬¶ÔÓÚÆÕͨµÄʼþͨÐÅ×÷Óò»´ó¡£±ÈÈç˵ÎÒÊÇ×é¼þA£¬ÐèÒªµ÷×é¼þBÖеÄij¸ö½Ó¿Ú£¬²¢»ñÈ¡·µ»ØÊý¾Ý½øÐвÙ×÷¡£Õâ¸öʱºò£¬¾ÍÐèÒª±ðµÄ·½Ê½À´½øÐÐʵÏÖÁË¡£

ºÜ¶àÈËһ˵µ½Ê¼þͨÐÅ¡£¿ÉÄܾͻáÏëÆðʹÓÃEventBusÁË¡£µÄÈ·EventBusÊǸöºÜºÃµÄʼþͨÐÅ¿ò¼Ü£¬µ«ÊÇÏàÐÅÓùýµÄÈ˶¼ÖªµÀ¡£Ò»µ©EventBus±»ÀÄÓá£Ëæ×Åʱ¼äµÄµü´ú£¬ÓÉÓÚÆä¶ÀÌØµÄ½âñîÌØÐÔ£¬»áʹµÃÄãµÄ´úÂëºÜÄѽøÐе÷ÊÔ¡¢Î¬»¤¡£

ËùÒÔÕâ¸öʱºò£¬ÎÒÃÇÞðÆúÁËʹÓÃEventBusÀ´×÷Ϊ×é¼þ¼äʱ¼äͨÐŵÄÇÅÁº¡£¶øÊǼòµ¥µÄʹÓÿØÖÆ·´×ªµÄÊֶΡ£½«×é¼þ¼äͨÐÅЭÒ鶨ÒåÔڵײã»ù´¡×é¼þÖУ¬ÉϲãµÄÒµÎñ×é¼þ·Ö±ðʵÏֵײã¶ÔÓ¦µÄ¸÷×ÔµÄЭÒé½Ó¿ÚÀ´½øÐÐͨÐÅ¡£

ÎÒÃÇÒԵǼ×é¼þΪÀý£º

Ê×ÏÈ£¬ÔÚ»ù´¡×é¼þ²ãÌí¼ÓÒ»¸öЭÒé½Ó¿Ú¡£Õâ¸ö½Ó¿ÚÓÃÓÚ¶¨ÒåµÇ¼×é¼þËù¶ÔÍâÌṩµÄʱ¼äͨÐÅÈë¿Ú£¬±ÈÈçÍ˳öµÇ¼¡¢ÇåÀícookieµÈ£º

public interface LoginPipe extends Pipe{
void logout();
void clearCookie();
}

È»ºó¡£ÔڵǼ×é¼þÖС£ÊµÏÖ´ËЭÒé½Ó¿Ú¡£²¢×¢²áÈë¶ÔÓ¦µÄͨÐŹÜÀíÆ÷£º

// ×¢²á´ËʵÏÖ½øÐ­Òé¹ÜÀíÆ÷ÖÐ
// PipeManagerҲλÓÚ»ù´¡×é¼þÖС£
PipeManager.register(LoginPipe.class, new LoginPipeImpl());

 

// ×¢²á´ËʵÏÖ½øÐ­Òé¹ÜÀíÆ÷ÖÐ
// PipeManagerҲλÓÚ»ù´¡×é¼þÖС£
PipeManager.register(LoginPipe.class, new LoginPipeImpl());

È»ºó¼´¿ÉÔÚ±ðµÄ×é¼þÖС£Í¨¹ý´ËPipeManagerЭÒé¹ÜÀíÆ÷¡£¸ù¾ÝЭÒéÀà¡£»ñÈ¡µ½¶ÔÓ¦µÄʵÏÖÀà½øÐÐÖ±½Óµ÷ÓÃÁË£º

PipeManager.get(LoginPipe.class).logout();

ÉÏÃæÕâÖÖ×ö·¨£¬ËäÈ»µÄÈ·ºÜ¼òµ¥£¬µ«ÊǾ߱¸ÒÔϼ¸µãÓŵ㣺

Ìá¸ß¸÷×é¼þЭÒéµÄÄÚ¾ÛÐÔ¡£¸üÊÊÓÚ¸÷×Ô×é¼þ¶Ô¸÷×ÔµÄЭÒé½Ó¿Ú½øÐÐͳһ¹ÜÀíά»¤¡£

ʵÏÖ·½°¸¼òµ¥Ò×¶®£¬Ò×ÓÚµ÷ÊÔ¡£

ÔÚ×é¼þ»¯²ð·Ö½ø³ÌÖУ¬±ãÓÚ·½±ãºóÆÚ¶ÔÖ÷app¿ÇÎ޹شúÂë½øÐÐɾ³ý¡£

×îºóÒ»Ìõ¿ÉÄÜÏà¶Ô±È½Ï¸´ÔÓÒ»µã¡£ËùÒÔÏÂÃæÎÒÃÇÕë¶ÔÕâÌõ½øÐÐÕ¹¿ªÃèÊö£º

ÉÏÃæÎÒÃÇÌáµ½ÁË¡£ÔÚ¶ÔÀϾÉÏîÄ¿½øÐÐ×é¼þ»¯Öع¹µÄʱºò¡£Ê¹ÓÃÖ÷module×÷ΪµÄÖ÷app¿Ç£¬¶øapp¿ÇÆäʵÊÇÐèҪûÓоßÌåµÄÒµÎñ´úÂëµÄ¡£ËùÒÔÕâ¸öµØ·½´æÔÚ³åÍ»¡£µ«ÊÇÎÒÃÇ×é¼þ»¯²ð·ÖÒ²²»ÊÇ¿ÉÒÔÒ»õí¶ø¾ÍµÄ£¬Ö»ÄÜÂýÂýÒ»²½²½¡¢Ò»¸öÒ³ÃæÒ»¸öÒ³ÃæµÄ½øÐвð·Ö²¢²âÊÔ¡£ËùÒÔ²ð·Ö¹ý³ÌÆäʵÊǸöÂþ³¤µÄÍ´¿àµÄ¹ý³Ì¡£

¶øÔÚ²ð·Ö¹ý³ÌÖУ¬ºÜÄѱÜÃâµÄ¾ÍÊÇоɴúÂë¾ùÐèҪͬʱ´æÔÚµÄÞÏÞγ¡Ãæ¡£¶øÕâÖÖÞÏÞεij¡Ãæ»áÒ»Ö±³ÖÐøµ½ËùÓÐ×é¼þ¾ù²ð·ÖÍê±ÏÖ®ºó¡£

È»ºó²ð·Ö¹ý³ÌÖУ¬ÄãÒ²»áÓöµ½ÁíÍâÒ»¸öÎÊÌ⣺¾ÍÊǸ÷ÒµÎñ×éµÄ²ð·Ö¼Æ»®ÆäʵÊDz»Í¬²½µÄ£¬Ò²¾ÍÊÇ˵ºÜ¿ÉÄÜÄ㵱ǰ²ðµÄÒµÎñ¡£ÐèÒªµ÷Óõ½±ðµÄÒµÎñ×éµÄ¹¦ÄÜ£¬¶øÕâ¸ö¹¦ÄÜÕâ¸öʱºò¡£ºÜ¿ÉÄÜ»¹¸ù±¾Ã»Óб»Ìá½»µ½²ð·Ö¼Æ»®±íÉÏÀ´¡£ËùÒÔÕâ¸öʱºò¡£Äã¾Í±ØÐëÒªÔÚÄã²ð·ÖµÄ×é¼þÖУ¬»¹ÊÇÏÈÖ±½Óµ÷ÓÃÀÏÏîÄ¿ÖеÄÂß¼­´úÂë¡£

ËùÒÔʹÓÃÉÏÃæµÄʼþͨÐÅ»úÖÆ¡£Äã»áÐèÒªÔÚÖ÷appÖн¨ÒéÒ»¸öÁÙʱµÄЭÒé½Ó¿Ú¡£±ÈÈ磺

public interface MainPipe {
void doSomething();
}

 

¸´ÖÆ´úÂëÈ»ºóÖ÷ÏîĿʵÏÖ²¢×¢²áËü¡£Ìṩ¸øÄãµÄ×é¼þ½øÐÐʹÓ᣶øÆäËû×é¼þÓöµ½´ËÖÖÀàËÆÎÊÌâʱ£¬Ò²ÓÚ´ËÀàËÆ¡£ÔÚ´ËMainPipeÖÖ¼ÌÐøÌí¼Ó¶ÔÓ¦µÄͨÐÅЭÒé·½·¨²¢ÊµÏÖ¼´¿É¡£

ÓÉÓÚÕâÑùµÄ×ö·¨¡£½«ËùÓеÄÖ÷appµÄÁÙʱЭÒé½Ó¿Ú¡£¾ù·ÅÖÃÓÚ´ËMainPipeÖС£ÌáÉýÁËЭÒéµÄÄÚ¾ÛÐÔ¡£µ±ËùÓÐÒµÎñ×é¾ùÍê³É×é¼þ»¯Öع¹Ö®ºó¡£ÄÇô¾Í¿ÉÒÔͳһµÄÖ±½Ó¶Ô´ËMainPipe½øÐÐÖØ¹¹£¬½«ÆäÖи÷×Ô×é¼þµÄЭÒéÇ¨ÒÆÖÁ¸÷×Ô×é¼þµÄЭÒéÀàÖУ¬È»ºó¾Í¿ÉÒÔ°²È«µØ½øÐÐÖ÷appÖÐÎÞ¹ØÒµÎñ´úÂëͳһɾ³ýÁË¡£Ê¹Æä³ÉÎªÕæÕýµÄÖ÷app¿Ç¹¤³Ì¡£

Êý¾ÝͨÐÅ

ºÜ¶àʱºò£¬Æäʵ×é¼þ¼äͨÐÅ¡£´«µÝµÄÊý¾Ý¶¼ÊÇÆÕͨµÄ¼òµ¥Êý¾Ý£¬µ«ÊÇÒ²ÓÐһЩʱºò¡£»áÐèÒª´«µÝ¸´ÔÓÊý¾Ý¡£±ÈÈç½øÐпç×é¼þµ÷ÓÃapi½Ó¿Ú²¢»ñÈ¡·µ»ØÊý¾Ýʱ£¬»òÕß˵¶ÁÈ¡Óû§ÍêÕûÊý¾Ýʱ¡£

ÒÔ¶ÁÈ¡Óû§ÍêÕûÊý¾ÝΪÀý£¬Êý¾ÝͨÐŵÄЭÒ鶨ÒåÈÔ¾ÉÒÔÉÏ·½µÄʼþͨÐÅ»úÖÆ×÷ΪʵÏÖÔØÌ壺

public class User {
String uid;
String nickname;
String email;
String phone;
...
}

 

Õâ¸öUserÀà°üº¬ÁËËùÓеÄÓû§ÐÅÏ¢ÔÚÀïÃæ¡£È»ºóÏÖÔÚÐèÒª½«´ËuserʵÀý½øÐпç×é¼þ´«µÝʱ¡£Äã¾ÍÐèÒª¶¨ÒåÒ»¸öЭÒé·½·¨¡£Ìṩ»ñÈ¡´ËUserʵÀýµÄÈë¿Ú£º

public interface LoginPipe {
User getUser();
}

 

¸´ÖÆ´úÂëÕâÊÇÕý³£µÄ×ö·¨£¬µ«ÊÇÕâÑù×öµÄ»°£¬Äã¾ÍÐèÒª½«´ËUserʵÀýÒ²Ò»Æð¿½±´µ½Ð­Ò鶍֯²ã£¬¼´»ù´¡×é¼þÖÐÀ´¡£

¶øÔÚ¿ª·¢¹ý³ÌÖУ¬ÕâÖÖÏÖÏóºÜ³£¼û¡£¶øÇҺܶàʱºò£¬Ëæ×ÅÐèÇóÒ»¸ü¸Ä£¬ËùÐèÒª´«µÝµÄÊý¾ÝÒ²²»Ò»Ñù¡£Ò²²»¿ÉÄÜÿ´Î¶¼È¥½«¶ÔÓ¦µÄʵÌåbean½øÐÐÇ¨ÒÆ£¬·ÅÈëЭÒ鶍֯²ã¡£ÕâÑù¾ÍÌ«Âé·³ÁË¡£

ËùÒÔ¶ÔÓÚÕâÖÖ¿ç×é¼þͨÐŵÄ×ö·¨¡£½¨ÒéµÄ·½Ê½ÊÇͨ¹ýjsonÊý¾ÝÀ´½øÐÐÊý¾ÝͨÐÅ

jsonͨÐŵĻúÖÆ£¬¼´¿ÉÍêÃÀµÄ±ÜÃâʵÌåbeanÇ¨ÒÆµÄÎÊÌâ¡£Ò²ÄÜÈýÓÊÕ·½°´Ðè½âÎö¶ÁÈ¡Êý¾Ý£º

±ÈÈçÎÒ½ÓÊÕ·½µÄ×é¼þ¡£µ±Ç°Ö»ÐèÒªnicknameÓëuidÁ½¸öÊý¾Ý¡£ÆäËûÊý¾ÝÎÒ²»¹Ü¡£ÄÇôÎҾͿÉÒÔÖ»½âÎö´ËÁ½¸ö×ֶεÄÊý¾Ý¼´¿É¡£×öµ½°´Ðè½âÎö¡£

˵µ½ÕâÀï¡£ÍÆ¼öÒ»²¨ÎÒµÄÁíÒ»¸ö¿ò¼ÜParceler, ´Ë¿ò¼ÜÊÇ·â×°µÄBundleµÄ´æÈ¡²Ù×÷¡£Ò²Ö§³ÖjsonµÄ×Ô¶¯×ª»»¹¦ÄÜ¡£¾ßÌåÓ÷¨¿ÉÒԲο¼ÎÒÁíһƪ²©¿Í£¬ÓÐÐËȤµÄ¿ÉÒÔ¿´¿´¡£

ÓÅ»¯¼ÓËÙ

Ëæ×Å×é¼þ»¯²ð·ÖÖØ¹¹µÄ½øÐС£Äã»á·¢ÏÖÏîĿϵÄ×é¼þ±»²ð·ÖµÃÔ½À´Ô½¶à£¬ËäÈ»ÄãÒѾ­¶Ô×é¼þµÄ²ð·ÖÁ£¶È¡£½øÐйý°Ñ¿ØÁË¡£µ«ÊÇ×é¼þ»¯ºómodule³ÖÐøÔö¼ÓÊDz»ÕùµÄÊÂʵ£¬Õâ¸öʱºò¡£Ëæ×ÅmoduleµÄ³ÖÐøÔö¼Ó¡£ÄãµÄÏîÄ¿±àÒëʱ¼äÒ²»á³öÏÖ±©ÕÇ¡£

ÎÒÃÇÖªµÀ¡£ÏîÄ¿±àÒëÁ÷³ÌÖУ¬µÚÒ»²½»á½«ËùÓеÄlibrary moduleÏȽøÐдò°ü±àÒë¡£Éú³É¶ÔÓ¦µÄaar¡£Ìṩ¸øapp½øÐÐʹÓã¬appµÈ´ýËùÓÐmodule´ò°üÍê±Ïºó£¬ÔÙ½âѹaar¡£½øÐÐ×ÊÔ´¡¢´úÂëºÏ²¢£¬²¢´ò°ü³ÉapkÖ´ÐÐÔËÐС£

ËùÒÔÎÒÃÇÖÆ×÷ÁËÒ»¸ögradle¼ÓËÙ²å¼þ¡£ÓÃÓÚÌáǰ½«module½øÐÐaar±àÒëºÃ¡£Ìø¹ýmodule´ò°üaarµÄ¹ý³Ì¡£ÊµÏÖ±àÒë¼ÓËÙµÄЧ¹û¡£

 

   
2993 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì