±Ø¿´Android 500µÀ¸ßнÃæÊÔÌ⼯

·¢²¼Ê±¼ä : ÐÇÆÚÎå ÎÄÕ±ؿ´Android 500µÀ¸ßнÃæÊÔÌ⼯¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

IntentServiceÊÇServiceÀàµÄ×ÓÀ࣬ÓÃÀ´´¦ÀíÒì²½ÇëÇ󡣿ͻ§¶Ë¿ÉÒÔͨ¹ýstartService(Intent)·½·¨´«µÝÇëÇó¸øIntentService£¬IntentServiceͨ¹ýworkerthread´¦Àíÿ¸öIntent¶ÔÏó£¬Ö´ÐÐÍêËùÓеŤ×÷Ö®ºó×Ô¶¯Í£Ö¹Service¡£

˵Ã÷£ºworkerthread´¦ÀíËùÓÐͨ¹ý´«µÝ¹ýÀ´µÄÇëÇ󣬴´½¨Ò»¸öworkerqueue£¬Ò»´ÎÖ»´«µÝÒ»¸öintentµ½onHandleIntentÖУ¬´Ó¶ø²»±Øµ£ÐĶàÏ̴߳øÀ´µÄÎÊÌâ¡£´¦ÀíÍê±ÏÖ®ºó×Ô¶¯µ÷ÓÃstopSelf()·½·¨£»Ä¬ÈÏʵÏÖÁËOnbind£¨£©·½·¨£¬·µ»ØֵΪnull£»

ģʽʵÏÖÁËŶÄãStartCommand()·½·¨£¬Õâ¸ö·½·¨»á·Åµ½workerqueueÖУ¬È»ºóÔÚonHandleIntent()ÖÐÖ´ÐÐ0

ʹÓÃIntentServiceÐèÒªÁ½¸ö²½Ö裺 1¡¢Ð´¹¹Ô캯Êý

2¡¢¸´Ð´onHandleIntent()·½·¨

ºÃ´¦£º´¦ÀíÒì²½ÇëÇóµÄʱºò¿ÉÒÔ¼õÉÙд´úÂëµÄ¹¤×÷Á¿£¬±È½ÏÇáËɵØʵÏÖÏîÄ¿µÄÐèÇó ÓÃServiceÀ´´¦Àíºǫ́ºÄʱ²Ù×÷£¬È´ºÜÉÙ×¢Òâµ½»¹ÓиöIntentService

Ê×ÏÈIntentServiceÊǼ̳Ð×ÔServiceµÄ£¬ÄÇÎÒÃÇÏÈ¿´¿´ServiceµÄ¹Ù·½½éÉÜ£¬ÕâÀïÁгöÁ½µã±È½ÏÖØÒªµÄµØ·½£º

1.AServiceisnotaseparateprocess.TheServiceobjectitselfdoesnotimplyitisrunninginitsownprocess;unlessotherwisespecified,itrunsinthesameprocessastheapplicationitispartof.

2.AServiceisnotathread.Itisnotameansitselftodoworkoffofthemainthread(toavoidApplicationNotRespondingerrors).

ÉÔ΢·­Ò»ÏÂ(Ó¢ÎÄˮƽһ°ã)

1.Service²»ÊÇÒ»¸öµ¥¶ÀµÄ½ø³Ì£¬ËüºÍÓ¦ÓóÌÐòÔÚͬһ¸ö½ø³ÌÖС£

2.Service²»ÊÇÒ»¸öỊ̈߳¬ËùÒÔÎÒÃÇÓ¦¸Ã±ÜÃâÔÚServiceÀïÃæ½øÐкÄʱµÄ²Ù×÷

¹ØÓÚµÚ¶þµãÎÒÏë˵Ï£¬²»ÖªµÀºÜ¶àÍøÉϵÄÎÄÕ¶¼°ÑºÄʱµÄ²Ù×÷Ö±½Ó·ÅÔÚServiceµÄonStart·½·¨ÖУ¬¶øÇÒûÓÐÇ¿µ÷ÕâÑù»á³öÏÖApplicationNotResponding£¡Ï£ÍûÎÒµÄÎÄÕÂÄÜ°ï´ó¼ÒÈÏÇåÕâ¸öÎóÇø(Service²»ÊÇÒ»¸öỊ̈߳¬²»ÄÜÖ±½Ó´¦ÀíºÄʱµÄ²Ù×÷)¡£

ÓÐÈ˿϶¨»áÎÊ£¬ÄÇôΪʲôÎÒ²»Ö±½ÓÓÃThread¶øÒªÓÃServiceÄØ£¿¹ØÓÚÕâ¸ö£¬´ó¼Ò¿ÉÒÔÍøÉÏËÑËÑ£¬ÕâÀï²»¹ý¶à½âÊÍ¡£ÓÐÒ»µãÐèҪǿµ÷£¬Èç¹ûÓкÄʱ²Ù×÷ÔÚServiceÀ¾Í±ØÐ뿪ÆôÒ»¸öµ¥¶ÀµÄÏß³ÌÀ´´¦Àí£¡£¡£¡ÕâµãÒ»¶¨ÒªÃú¼ÇÔÚÐÄ¡£

IntentServiceÏà¶ÔÓÚServiceÀ´Ëµ£¬Óм¸¸ö·Ç³£ÓÐÓõÄÓŵ㣬Ê×ÏÈÎÒÃÇ¿´¿´¹Ù·½ÎĵµµÄ˵Ã÷£º IntentServiceisabaseclassforServicesthathandleasynchronousrequests(expressedasIntents)ondemand.ClientssendrequeststhroughstartService(Intent)calls;theserviceisstartedasneeded,handleseachIntentinturnusingaworkerthread,andstopsitselfwhenitrunsoutofwork.

This\TheIntentServiceclassexiststosimplifythispatternandtakecareofthemechanics.Touseit,extendIntentServiceandimplementonHandleIntent(Intent).IntentServicewillreceivetheIntents,launchaworkerthread,andstoptheserviceasappropriate.

Allrequestsarehandledonasingleworkerthread--theymaytakeaslongasnecessary(andwillnotblocktheapplication'smainloop),butonlyonerequestwillbeprocessedatatime.

ÉÔ΢·­ÒëÀíÒ»Àí£¬ÕâÀïÖ÷ÒªÊÇ˵IntentServiceʹÓöÓÁеķ½Ê½½«ÇëÇóµÄIntent¼ÓÈë¶ÓÁУ¬È»ºó¿ªÆôÒ»¸öworkerthread(Ïß³Ì)À´´¦Àí¶ÓÁÐÖеÄIntent£¬¶ÔÓÚÒì²½µÄstartServiceÇëÇó£¬IntentService»á´¦ÀíÍê³ÉÒ»¸öÖ®ºóÔÙ´¦ÀíµÚ¶þ¸ö£¬Ã¿Ò»¸öÇëÇ󶼻áÔÚÒ»¸öµ¥¶ÀµÄ

workerthreadÖд¦Àí£¬²»»á×èÈûÓ¦ÓóÌÐòµÄÖ÷Ị̈߳¬ÕâÀï¾Í¸øÎÒÃÇÌṩÁËÒ»¸ö˼·£¬Èç¹ûÓкÄʱµÄ²Ù×÷ÓëÆäÔÚServiceÀïÃ濪ÆôÐÂÏ̻߳¹²»ÈçʹÓÃIntentServiceÀ´´¦ÀíºÄʱ²Ù×÷¡£ÏÂÃæ¸øÒ»¸öСÀý×Ó£º

31

1Service£º

packagecom.zhf.service; importAndroid.app.Service; importAndroid.content.Intent; importAndroid.os.IBinder;

publicclassMyServiceextendsService{ @Override

publicvoidonCreate(){ super.onCreate(); }

@Override

publicvoidonStart(Intentintent,intstartId){ super.onStart(intent,startId);

//¾­²âÊÔ£¬ServiceÀïÃæÊDz»ÄܽøÐкÄʱµÄ²Ù×÷µÄ£¬±ØÐëÒªÊÖ¶¯¿ªÆôÒ»¸ö¹¤×÷Ïß³ÌÀ´´¦ÀíºÄʱ²Ù×÷

System.out.println(\try{

Thread.sleep(20000);

}catch(InterruptedExceptione){ e.printStackTrace(); }

System.out.println(\˯Ãß½áÊø\}

@Override

publicIBinderonBind(Intentintent){ returnnull; } }

2.IntentService£º

packagecom.zhf.service;

importAndroid.app.IntentService; importAndroid.content.Intent;

publicclassMyIntentServiceextendsIntentService{ publicMyIntentService(){ super(\}

@Override

protectedvoidonHandleIntent(Intentintent){

//¾­²âÊÔ£¬IntentServiceÀïÃæÊÇ¿ÉÒÔ½øÐкÄʱµÄ²Ù×÷µÄ

//IntentServiceʹÓöÓÁеķ½Ê½½«ÇëÇóµÄIntent¼ÓÈë¶ÓÁУ¬È»ºó¿ªÆôÒ»¸öworkerthread(Ïß³Ì)À´´¦Àí¶ÓÁÐÖеÄIntent

//¶ÔÓÚÒì²½µÄstartServiceÇëÇó£¬IntentService»á´¦ÀíÍê³ÉÒ»¸öÖ®ºóÔÙ´¦ÀíµÚ¶þ¸ö System.out.println(\try{

32

Thread.sleep(20000);

}catch(InterruptedExceptione){ e.printStackTrace(); }

System.out.println(\˯Ãß½áÊø\} }

²âÊÔÖ÷³ÌÐò£º

packagecom.zhf.service; importAndroid.app.Activity; importAndroid.content.Intent; importAndroid.os.Bundle;

publicclassServiceDemoActivityextendsActivity{ /**Calledwhentheactivityisfirstcreated.*/ @Override

publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main);

startService(newIntent(this,MyService.class));//Ö÷½çÃæ×èÈû£¬×îÖÕ»á³öÏÖApplicationnotresponding

//Á¬ÐøÁ½´ÎÆô¶¯IntentService£¬»á·¢ÏÖÓ¦ÓóÌÐò²»»á×èÈû£¬¶øÇÒ×îÖصÄÊǵڶþ´ÎµÄÇëÇó»áÔÙµÚÒ»¸öÇëÇó½áÊøÖ®ºóÔËÐÐ(Õâ¸ö֤ʵÁËIntentService²ÉÓõ¥¶ÀµÄÏß³Ìÿ´ÎÖ»´Ó¶ÓÁÐÖÐÄóöÒ»¸öÇëÇó½øÐд¦Àí)

startService(newIntent(this,MyIntentService.class)); startService(newIntent(this,MyIntentService.class)); } }

229. serviceµÄÆô¶¯ 230. Òì²½ÈÎÎñ 231. Ç¿ÒýÓÃ

232. ÐÂÀË΢²©Í·ÏñÉèÖà 233. ¼ÓÃÜËã·¨

MD5;SH1;Ë«Ãæ½âÃÜ

234. ¸ßµÂµØͼ

235. asynctaskºÍhandlerµÄÇø±ð 236. ÌøתͼƬÊÍ·Å

µ±Ç°Activity°üÀ¨¶àÕÅͼƬµ±µã»÷ijһÕÅͼƬÌøתActivityʱºò֮ǰActivityÊÇ·ñÊÍ·ÅÔõôÊͷŵģ¿

237. shareprefercnce±£´æÓû§ÃûÃÜÂëʱºòÔõô¼ÓÃÜ 238. ÀëÏßÏÂÔØÔõôʵÏÖ

239. ÓùýviewstubÂð£¿includeÄØ 240. androidÓ¦ÓóÌÐò×ÔÆô¶¯

241. serviceÊÇÔÚÖ÷Ïß³ÌÖÐÂð£¿serviceÖпɲ»¿ÉÒÔºÄʱ²Ù×÷ 242. Êý¾Ý¿âÓÅ»¯

33

243. socket 244. ÆÁÄ»ÊÊÅä

245. ¹ØÓÚͼƬѹËõ£¬ÓÃË㷨ʵÏÖ 246. ¹ØÓÚµÚÈý·½·ÖÏí 247. MVCÔÚ°²×¿µÄÌåÏÖ

248. surfaceviewºÍVIEWºÍGLsurfaceviewµÄÇø±ð 249. ¶¼Óùýʲôģʽ£¬¾­³£Óõ½µÄ·þÎñÆ÷ÊÇʲô

250. ±àд´úÂëÊäÈ밲׿abcºº×Ö6×Ö½ÚÊä³ö°²×¿abc¶ø²»ÊÇ°²×¿abcãß 251. ¿´Ò»¸öforÑ­»·Ñ­»·Á˼¸´Î

252. ÔõÑîÌø³öÒ»¸öÑ­»·¼ÌÐøÖ´ÐÐÏÂÒ»¸öÑ­»· 253. ʹһ¸ö×Ö·û´®ÄæÐòÊä³öStringa=abcde 254. Ò»¸öforÑ­»·£¬Ã¿´Îi+=2£¬½ØÈ¡×Ö·û´®Êä³ö¡£ 255. MathµÄ²Ù×÷£¬ÆäʵÓÃÁ˺ü¸¸ö·½·¨£¬Ñ¡ÔñÕýÈ·µÄ½á¹û 256. Ï̵߳Ä״̬ 257. ÏûÏ¢ÍÆËÍ,xmppÂÖѯ 258. udp/tcp 259. ¶¯»­

260. intentµÄ¼¸ÖÖģʽ

261. ·ÖÒ³¼ÓÔØ£¬Ã¿Ò³15ÌõÊý¾Ý£¬À­µ½µ×²¿×Ô¶¯¼ÓÔØÊý¾Ý¡£ 262. Androidϵͳ¼Ü¹¹´ÓСµ½´óд

Ó¦Óòã:JavaÓ¦Óÿª·¢¹¤³Ìʦ¿ª·¢µÄËùÓÐÓ¦ÓóÌÐò±ÈÈçµØͼ,ä¯ÀÀÆ÷,QQµÈÊôÓڸòã,ÊÖ»úÖеĶÌÐÅ,²¦ºÅ,ä¯ÀÀÆ÷µÈÕâЩӦÓóÌÐò¶¼ÊÇ¿ÉÒÔ±»¿ª·¢ÈËÔ±¿ª·¢µÄÆäËûÓ¦ÓóÌÐòËùÌæ»»£¬Õâµã²»Í¬ÓÚÆäËûÊÖ»ú²Ù×÷ϵͳ¹Ì»¯ÔÚϵͳÄÚ²¿µÄϵͳÈí¼þ£¬¸ü¼ÓÁé»îºÍ¸öÐÔ»¯ Ó¦Óÿò¼Ü²ã:Javaframework²ãÔ´ÂëOS¶¨ÖÆ¿ª·¢ÎªÓ¦Óò㿪·¢ÈËÔ±ÌṩAPI

ϵͳÔËÐпâ²ã:CÓïÑÔ°üÀ¨CÓïÑÔ±ê×¼¿â,¶àýÌå¿â,OpenGLES,SQLite,Webkit,DalvikÐéÄâ»úµÈ,¸Ã²ãÊǶÔÓ¦Óÿò¼Ü²ãÌṩ֧³ÖµÄ²ã,Java·ÃÎÊÓ²¼þÐèͨ¹ýNDKʵÏÖ LinuxÄں˲ã:AndroidÊÇ»ùÓÚLinux2.6Äںˣ¬ÆäºËÐÄϵͳ·þÎñÈ簲ȫÐÔ¡¢ÄÚ´æ¹ÜÀí¡¢½ø³Ì¹ÜÀí¡¢Íø·ЭÒéÒÔ¼°Çý¶¯Ä£ÐͶ¼ÒÀÀµÓÚLinuxÄÚºË

263. ÓôúÂëÊÖд¶ÑÕ» 264. ¼´Ê±Í¨Ñ¶

265. ¶àÈËÁÄÌ죬ÊÓƵ£¬ÓïÒô 266. ²àÀ­Ð§¹û

267. ²àÀ­¶à½çÃ棬×é¼þ½¹µã

268. ±ðµÄ¹«Ë¾·â×°ºÃµÄ²¥·ÅÆ÷£¬´ÓCÖÐÌáÈ¡Ô´Âë 269. AsyTaskµÄÈý¸ö²ÎÊýÊÇʲô

270. finish()ÓëSystem.exit(0)µÄÇø±ð£¬ÔÙ̸̸Äã¶ÔÍ˳öµÄÀí½â¡£

Ê×ÏÈÒ»¸öActivityÊÇÓÐÉúÃüÖÜÆÚonCreate,onStart,onResume,onPause,onStop,onDestroy... finishÊÇActivityµÄÀ࣬½ö½öÕë¶ÔActivity£¬µ±µ÷ÓÃfinish()ʱ£¬Ö»Êǽ«»î¶¯ÍÆÏòºǫ́£¬²¢Ã»ÓÐÁ¢¼´ÊÍ·ÅÄڴ棬»î¶¯µÄ×ÊÔ´²¢Ã»Óб»ÇåÀí£»µ±µ÷ÓÃSystem.exit(0)ʱ£¬É±ËÀÁËÕû¸ö½ø³Ì£¬Õâʱºò»î¶¯ËùÕ¼µÄ×ÊÔ´Ò²»á±»ÊÍ·Å¡£

Æä´Î£¬androidµÄ»úÖƾö¶¨ÁËÓû§ÎÞ·¨ÍêÈ«Í˳öÓ¦Ó㬵±ÄãµÄapplication×ʱ¼äûÓб»ÓùýµÄʱºò£¬android×ÔÉí»á¾ö¶¨½«application¹Ø±ÕÁË¡£ finish·½·¨¿ÉÒÔ¿ØÖÆÏñActivityÒ»ÑùµÄ×é¼þ£¬Ê¹Æä½áÊøÉúÃüÖÜÆÚ£¬µ«Ó¦ÓóÌÐòÈ«¾ÖµÄ×ÊÔ´²¢²»»áÁ¢¿ÌÊÍ·Å£¬Ïñstatic±äÁ¿µÄÖµÈÔÈ»»á±£Áô£¬±£ÒÔÔÙ´ÎʹÓá£

34

ÁªÏµºÏͬ·¶ÎÄ¿Í·þ£ºxxxxx#qq.com(#Ì滻Ϊ@)