锘??xml version="1.0" encoding="utf-8" standalone="yes"?>婷婷久久综合九色综合绿巨人 ,四虎国产精品成人免费久久,日韩中文久久http://www.shnenglu.com/ctou45/archive/2013/02/20/197947.htmlCPPXCPPXWed, 20 Feb 2013 02:18:00 GMThttp://www.shnenglu.com/ctou45/archive/2013/02/20/197947.htmlhttp://www.shnenglu.com/ctou45/comments/197947.htmlhttp://www.shnenglu.com/ctou45/archive/2013/02/20/197947.html#Feedback3http://www.shnenglu.com/ctou45/comments/commentRss/197947.htmlhttp://www.shnenglu.com/ctou45/services/trackbacks/197947.html涓囧垢鐨勬槸CROP鎻愪緵鐨勯夐」涓紝榪樻湁涓涓紝鍙互鑷畾涔夎鍒囪緭鍑虹殑鍥劇墖瀛樺偍浣嶇疆銆傚埄鐢ㄨ繖涓鐐癸紝灝卞彲浠ヨ閬縄ntent鎼哄甫淇℃伅鐨勪笉闈犺氨鎵閫犳垚鐨勫悆楗笉棣欍?br /> 01    //鍙戦佽姹?br /> 02    Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
03    intent.setType("image/*");
04    intent.putExtra("crop", "true");
05    intent.putExtra("aspectX", 1);
06    intent.putExtra("aspectY", 1);
07    intent.putExtra("outputX", 1000);
08    intent.putExtra("outputY", 1000錛?
09    intent.putExtra("scale", true);
10    intent.putExtra("return-data", false);
11    intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri());
12    intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
13    intent.putExtra("noFaceDetection", true);
14    startActivityForResult(intent, PHOTORESOULT);
15    
16    //閫夋嫨瀛樺偍浣嶇疆
17    Uri tempPhotoUri;
18    
19    private Uri getTempUri() {
20        Uri tempPhotoUri = Uri.fromFile(getTempFile());
21        return tempPhotoUri;
22    }
23    
24    private File getTempFile() {
25        if (isSDCARDMounted()) {
26    
27        File f = new File(Environment.getExternalStorageDirectory(),"temp.jpg");
28        try {
29            f.createNewFile();
30        } catch (IOException e) {
31                ...
32            }
33        return f;
34        }
35        return null;
36    }
37    
38    // 娉ㄦ剰錛屽湪鎴戝仛鐨勬祴璇曚腑錛屼嬌鐢ㄥ唴閮ㄧ紦瀛樻槸鏃犳硶姝g‘鍐欏叆瑁佸垏鍚庣殑鍥劇墖鐨勩傝澶у鏈夊叴瓚g殑嫻嬭瘯涓鐣紝鐪嬫槸鍚︽湁鎰忓銆?br /> 39    // 緋葷粺鏄敤鍏ㄥ眬鐨凜ontentResolver鏉ュ仛榪欎釜榪囩▼鐨勬枃浠秈o鎿嶄綔錛宎pp鍐呴儴鐨勫瓨鍌ㄨ蹇界暐銆傦紙鐚滄祴錛?br /> 40    /*
41        File f = new File(getCacheDir(), "temp.jpg");
42        try {
43            f.createNewFile();
44        } catch (IOException e) {
45           ...
46        }
47        return f;
48        }
49    */
50    
51    private boolean isSDCARDMounted(){
52        String status = Environment.getExternalStorageState();
53    
54        if (status.equals(Environment.MEDIA_MOUNTED)){
55            return true;
56        }
57        return false;
58    }
59    
60    // 澶勭悊緇撴灉
61    //
62    Bitmap bitmap = null;
63    try {              
64        bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(tempPhotoUri));
65    } catch (FileNotFoundException e) {
66        e.printStackTrace();
67    } Android鐩稿叧鍐呭:


CPPX 2013-02-20 10:18 鍙戣〃璇勮
]]>
Android搴旂敤紼嬪簭妯″瀷浠嬬粛http://www.shnenglu.com/ctou45/archive/2013/02/19/197930.htmlCPPXCPPXTue, 19 Feb 2013 02:57:00 GMThttp://www.shnenglu.com/ctou45/archive/2013/02/19/197930.htmlhttp://www.shnenglu.com/ctou45/comments/197930.htmlhttp://www.shnenglu.com/ctou45/archive/2013/02/19/197930.html#Feedback0http://www.shnenglu.com/ctou45/comments/commentRss/197930.htmlhttp://www.shnenglu.com/ctou45/services/trackbacks/197930.html

澶у鏁版搷浣滅郴緇燂紝鍦ㄥ簲鐢ㄧ▼搴忔墍瀵勫瓨鐨勫彲鎵ц紼嬪簭鏄犲儚錛堝Windows緋葷粺閲岀殑.exe錛夈佸畠鎵榪愯鐨勮繘紼嬩互鍙婂拰鐢ㄦ埛浜や簰鐨勫浘鏍囧拰搴旂敤涔嬮棿鏈変竴縐嶄弗鏍肩殑1瀵?鍏崇郴銆傚湪Android緋葷粺閲岋紝榪欎簺鍏寵仈瑕佹澗鏁e緱澶氥傚茍涓旈噸瑕佺殑鏄鐞嗚В鍚勭姒傚康鎬庝箞鏍風粍鎴愭暣浣撱?/p>

鐢變簬Android搴旂敤鍥烘湁鐨勭伒媧繪э紝褰撳疄鐜拌繖浜涗笉鍚屾柟闈㈢殑鏃跺欐湁涓浜涘熀鏈湳璇渶瑕佸姞浠ョ悊瑙o細

涓涓狝ndroid鍖?錛?apk錛夋枃浠訛紝鍏朵腑鍖呭惈涓涓簲鐢ㄧ▼搴忕殑浠g爜鍜岃祫婧愩傝繖鏄簲鐢ㄧ▼搴忓垎鍙戝拰涓嬭澆鐨勬枃浠訛紝鐢ㄦ埛鐢ㄦ潵瀹夎璇ュ簲鐢ㄧ▼搴忓湪浠栦滑鐨勮澶囦笂銆?
涓涓換鍔′竴鑸岃█鏄寚鐢ㄦ埛瑙嗕負鐨勪竴涓彲鍚姩搴旂敤紼嬪簭錛氶氬父浠誨姟鍦ㄦ闈紙home screen錛夋湁涓涓彲璁塊棶鐨勫浘鏍囷紝涓斿彲浠ヨ鍒囨崲鍒板墠鍙般?
涓涓繘紼嬫槸涓涓繍琛岀潃搴旂敤紼嬪簭浠g爜鐨勫簳灞傛牳蹇冭繃紼嬨傞氬父鎵鏈?apk閲岀殑浠g爜榪愯鍦ㄤ竴涓笓鏈夌殑榪涚▼閲屻備笉榪囷紝榪涚▼鏍囪涔熷彲浠ョ敤鏉ラ檺瀹氫唬鐮佽繍琛屼綅緗紝鎴栬呬負鏁翠釜.apk鎴栬呬負涓埆鐨勬椿鍔╝ctivity錛屾帴鏀惰卹eceiver錛屾湇鍔℃垨鎻愪緵鑰卲rovider錛岀粍浠躲?
浠誨姟

榪欓噷鐨勪竴涓叧閿偣鏄細褰撶敤鎴風湅鍒頒竴涓?#8220;搴旂敤”鏃訛紝浠栦滑瀹為檯涓婂湪鍜屼換鍔℃墦浜ら亾銆傚鏋滄偍鍒氬垰鍒涘緩涓涓寘鍚嫢騫叉椿鍔ㄧ殑.apk錛屽叾涓箣涓鏄《灞傚叆鍙g偣錛堥?榪囧姩浣渁ndroid.intent.action.MAIN鐨勬剰鍥捐繃婊ゅ櫒intent-filter鍜岀被鍒?android.intent.category.LAUNCHER錛夛紝閭d箞榪欎簨瀹炰笂灝嗕負鎮ㄧ殑.apk鍒涘緩涓涓換鍔★紝騫朵笖鎮ㄤ粠閭e効璧峰姩鐨勪換浣曟椿鍔ㄩ兘灝嗕綔涓?閭d釜浠誨姟鐨勪竴閮ㄥ垎榪愯銆?/p>

涓涓換鍔★紝閭d箞錛屼粠鐢ㄦ埛鐨勮搴︽潵鐪嬫槸鎮ㄧ殑搴旂敤紼嬪簭;鑰屼粠搴旂敤紼嬪簭寮鍙戣呯殑瑙掑害鏉ョ湅錛屽畠鏄竴涓垨澶氫釜鐢ㄦ埛鍦ㄩ偅涓換鍔′腑宸茬粡緇忓巻榪囦笖鏈叧闂殑媧誨姩錛屾垨鑰?璇存槸涓涓椿鍔ㄦ爤銆備竴涓柊鐨勪換鍔¢氳繃浠ntent.FLAG_ACTIVITY_NEW_TASK鏍囧織璧峰姩涓涓椿鍔ㄦ剰鍥炬潵鍒涘緩;榪欎竴鎰忓浘灝嗚鐢ㄦ潵浣滀負浠誨姟 鐨勬牴鎰忓浘錛屽畾涔変換鍔℃槸浠涔堛備換浣曚笉浠ヨ繖涓爣蹇楄搗鍔ㄧ殑媧誨姩灝嗗拰璧峰姩瀹冪殑媧誨姩鍦ㄧ浉鍚岀殑浠誨姟涓繍琛岋紙闄ら潪璇ユ椿鍔ㄥ凡璇鋒眰鐗瑰埆鍚姩妯″紡錛岀◢鍚庝細璁ㄨ錛夈備換鍔″彲浠ヨ閲?鏂板畨鎺掞細濡傛灉鎮ㄤ嬌鐢‵LAG_ACTIVITY_NEW_TASK鏍囧織浣嗗凡緇忔湁涓涓換鍔′互榪欎釜鎰忓浘榪愯錛屽垯褰撳墠浠誨姟鐨勬椿鍔ㄦ爤灝嗚鍒囨崲鍒板墠鍙拌屼笉鏄紑濮嬩竴涓?鏂扮殑浠誨姟銆?/p>

FLAG_ACTIVITY_NEW_TASK蹇呴』璋ㄦ厧浣跨敤錛氫嬌鐢ㄥ畠鎰忓懗鐫錛屽湪鐢ㄦ埛鐪嬫潵錛屼竴涓柊鐨勫簲鐢ㄧ▼搴忕敱姝よ搗鍔ㄣ傚鏋滆繖涓嶆槸浣犳墍鏈熸湜鐨勮涓猴紝浣?灝變笉璇ュ幓鍒涘緩涓涓柊鐨勪換鍔°傚彟澶栵紝浠呭湪鐢ㄦ埛鍙互浠庢闈㈣繑鍥炲埌浠栧師鏉ョ殑鍦版柟鍜屼互涓涓柊浠誨姟鍚姩鐩稿悓鎰忓浘鐨勬儏鍐典笅錛屼綘鎵嶅簲璇ヤ嬌鐢ㄦ柊鐨勪換鍔℃爣璁般傚惁鍒欙紝濡傛灉鐢ㄦ埛 鍦ㄤ綘宸茬粡鍚姩鐨勪換鍔¢噷鎸夋闈紙HOME錛夐敭錛岃屼笉鏄繑鍥烇紙BACK錛夐敭錛屼綘鐨勪換鍔″強鍏舵椿鍔ㄥ皢琚斁緗埌妗岄潰鍚庨潰錛屾病鏈夊姙娉曞啀鍒囨崲鍥炲幓銆?/p>

浠誨姟鍏辯敤鎬ffinity

鍦ㄦ煇浜涙儏鍐典笅錛孉ndroid闇瑕佺煡閬撲竴涓椿鍔ㄥ睘浜庡摢涓換鍔″嵆浣垮畠娌℃湁琚惎鍔ㄥ埌涓涓叿浣撶殑浠誨姟閲屻傝繖鏄氳繃浠誨姟鍏辯敤鎬э紙Affinities錛夊畬鎴?鐨勩備換鍔″叡鐢ㄦэ紙Affinities錛変負榪欎釜榪愯涓涓垨澶氫釜媧誨姩鐨勪換鍔℃彁渚涗簡涓涓嫭鐗圭殑闈欐佸悕縐幫紝榛樿鐨勪竴涓椿鍔ㄧ殑浠誨姟鍏辯敤鎬э紙Affinity錛夋槸瀹?鐜頒簡璇ユ椿鍔ㄧ殑.apk鍖呯殑鍚嶅瓧銆傝繖鎻愪緵浜嗛鏈熺殑鏍囧噯鐗規э紝鍗蟲墍鏈夊湪涓涓壒瀹氱殑.apk鍖呴噷鐨勬椿鍔ㄦ槸鍗曚釜鐢ㄦ埛搴旂敤紼嬪簭鐨勪竴閮ㄥ垎銆?/p>

褰撳紑濮嬩竴涓病鏈塈ntent.FLAG_ACTIVITY_NEW_TASK鏍囧織鐨勬椿鍔ㄦ椂錛屼換鍔″叡鐢ㄦffinities涓嶄細褰卞搷灝嗕細榪愯璇ユ柊媧?鍔ㄧ殑浠誨姟:瀹冩繪槸榪愯鍦ㄥ惎鍔ㄥ畠鐨勪換鍔¢噷銆備絾鏄紝濡傛灉浣跨敤浜哊EW_TASK鏍囧織錛岄偅涔堝叡鐢ㄦэ紙affinity錛夊皢琚敤鏉ュ垽鏂槸鍚﹀凡緇忓瓨鍦ㄤ竴涓湁鐩稿悓鍏辯敤 鎬э紙affinity錛夌殑浠誨姟銆傚鏋滄槸榪欐牱錛岃繖欏逛換鍔″皢琚垏鎹㈠埌鍓嶉潰鑰屾柊鐨勬椿鍔ㄤ細鍚姩浜庤繖涓換鍔$殑欏跺眰銆?/p>

 

榪欑鐗規у湪鎮ㄥ繀欏諱嬌鐢∟EW_TASK鏍囧織鐨勬儏鍐典笅鏈鏈夌敤錛屽挨鍏舵槸浠庣姸鎬佹爮閫氱煡鎴栨闈㈠揩鎹鋒柟寮忓惎鍔ㄦ椿鍔ㄦ椂銆傜粨鏋滄槸錛屽綋鐢ㄦ埛鐢ㄨ繖縐嶆柟寮忓惎鍔ㄦ偍鐨勫簲鐢ㄧ▼搴忔椂錛屽畠鐨勫綋鍓嶄換鍔″皢琚垏鎹㈠埌鍓嶅彴錛岃屼笖鎯寵鏌ョ湅鐨勬椿鍔ㄨ鏀懼湪鏈涓婇潰銆?/p>

浣犲彲浠ュ湪紼嬪簭娓呭崟錛圡anifest錛夋枃浠剁殑搴旂敤紼嬪簭application鏍囩涓負.apk鍖呬腑鎵鏈夌殑媧誨姩鍒嗛厤浣犺嚜宸辯殑浠誨姟鍏辯敤鎬ffinites錛屾垨鑰呭湪媧誨姩鏍囪涓負鍚勪釜媧誨姩榪涜鍒嗛厤銆備竴浜涜鏄庡叾濡備綍浣跨敤鐨勪緥瀛愬涓嬶細

濡傛灉鎮ㄧ殑.apk鍖呭惈澶氫釜鐢ㄦ埛鍙互鍚姩鐨勯珮灞傚簲鐢ㄧ▼搴忥紝閭d箞鎮ㄥ彲鑳介渶瑕佸鐢ㄦ埛鐪嬪埌鐨勬瘡涓椿鍔ㄦ寚瀹氫笉鍚岀殑affinities銆備竴涓笉閿欑殑鍛藉悕鎯緥鏄?浠ラ檮鍔犱竴涓互鍐掑彿鍒嗛殧鐨勫瓧絎︿覆鏉ユ墿灞曟偍鐨?apk鍖呭悕銆備緥濡傦紝“ com.android.contacts ”.apk鍙互鏈塧ffinities:“com.android.contacts錛欴ialer”鍜?#8220; com.android.contacts錛欳ontactsList”銆?
濡傛灉鎮ㄦ鍦ㄦ浛鎹竴涓氱煡錛屽揩鎹鋒柟寮忥紝鎴栧叾浠栧彲浠ヤ粠澶栭儴鍙戣搗鐨勫簲鐢ㄧ▼搴?鐨?#8220;鍐呴儴”媧誨姩錛屼綘鍙兘闇瑕佹槑紜瀹氭偍鏇夸唬媧誨姩鐨則askAffinity鍜屾偍鍑嗗鏇夸唬鐨勫簲鐢ㄧ▼搴忎竴鏍楓備緥濡傦紝濡傛灉鎮ㄦ兂鏇挎崲contacts璇︾粏淇℃伅瑙嗗浘 錛堢敤鎴峰彲浠ュ垱寤哄茍璋冪敤蹇嵎鏂瑰紡錛夛紝浣犲緱鎶妕askAffinity璁劇疆鎴?#8220;com.android.contacts”銆?
鍚姩妯″紡鍜屽惎鍔ㄦ爣蹇?/p>

鎮ㄦ帶鍒舵椿鍔ㄥ拰浠誨姟浜や簰鐨勪富瑕侀斿緞鏄氳繃媧誨姩鐨刲aunchMode 灞炴у拰鎰忓浘鐩稿叧鐨勬爣蹇梖lags銆傝繖涓や釜鍙傛暟鍙互浠ュ悇縐嶆柟寮忓悎浣滄潵鎺у埗媧誨姩鍚姩鐨勭粨鏋滐紝姝e瀹冧滑鐩稿叧鏂囨。涓弿榪扮殑閭f牱銆傚湪榪欓噷錛屾垜浠皢鐪嬬湅涓浜涘父瑙佺殑鐢ㄤ緥鍜屽弬鏁扮粍鍚堛?/p>

浣犲皢浣跨敤鐨勬渶甯歌鐨勫惎鍔ㄦā寮忥紙闄や簡榛樿鐨剆tandard妯″紡錛夋槸singleTop銆傝繖騫朵笉褰卞搷浠誨姟;瀹冨彧鏄伩鍏嶅嬈″湪涓涓爢鏍堥《閮ㄨ搗鍔ㄥ悓涓媧誨姩銆?/p>

singleTask鍚姩妯″紡瀵逛換鍔℃湁閲嶅ぇ鐨勫獎鍝嶏細瀹冧嬌媧誨姩濮嬬粓鏄紑濮嬩簬涓欏規柊鐨勪換鍔★紙鎴栧叾鐜版湁鐨勪換鍔¤甯﹀埌鍓嶅彴錛?銆備嬌鐢ㄨ繖縐嶆ā寮忛渶瑕佽皚鎱庡寰呬綘濡備綍涓庣郴緇熷叾浠栭儴鍒嗚繘琛屼氦浜掞紝鍥犱負榪欏獎鍝嶅埌榪欎釜媧誨姩涓殑姣忎竴涓礬寰勩傚畠搴斿綋浠呭湪媧誨姩澶勪簬搴旂敤紼嬪簭鍓嶅彴鏃朵嬌鐢紙涔熷氨鏄敮鎸?MAIN鍔ㄤ綔鍜孡AUNCHER綾誨埆錛夈?/p>

singleInstance鍚姩妯″紡鏇存槸涓撲笟錛屽茍搴斾粎鐢ㄤ簬鏁翠釜灝辨槸琚疄鐜頒負涓涓椿鍔ㄧ殑搴旂敤紼嬪簭涓?/p>

鏈変竴縐嶄綘浼氱粡甯擱亣鍒扮殑鎯呭喌鏄綋鍙︿竴涓疄浣擄紙濡係earchManager 鎴朜otificationManager錛夊紑濮嬫偍鐨勪竴涓椿鍔ㄣ傚湪榪欑鎯呭喌涓嬶紝蹇呴』浣跨敤Intent.FLAG_ACTIVITY_NEW_TASK 鏍囩錛屽洜涓鴻欏規椿鍔ㄦ槸鍦ㄤ換鍔′箣澶栬搗鍔ㄧ殑錛堣屼笖搴旂敤/浠誨姟鍙兘鏍規湰涓嶅瓨鍦級銆傛濡傚墠闈㈡墍榪幫紝榪欑鎯呭喌涓嬬殑鏍囧噯琛屼負鏄妸鍖歸厤鏂版椿鍔╝ffinity鐨勪換鍔″甫鍒?鍓嶅彴鍜屽湪姝や箣涓婅搗鍔ㄦ柊鐨勬椿鍔ㄣ備笉榪囷紝涔熸湁鍏朵粬鎮ㄥ彲浠ュ疄鏂界殑琛屼負綾誨瀷銆?/p>

鍏朵腑涓縐嶅父瑙佺殑鍋氭硶鏄紝榪樺彲浠ヤ嬌鐢↖ntent.FLAG_ACTIVITY_CLEAR_TOP 鍥芥棗涓嶯EW_TASK 銆傞氳繃榪欐牱鍋氾紝濡傛灉浣犵殑浠誨姟宸茬粡榪愯錛岄偅涔堝皢鎻愯鍓嶆櫙錛屾墍鏈夌殑媧誨姩錛屽叾鍫嗘爤娓呴櫎闄ゆ牴緋繪椿鍔涘拰鏍圭郴媧誨姏鐨刼nNewIntent 錛堟剰鍥撅級 鎵璋撶殑鎰忓浘姝e湪寮濮嬨傝娉ㄦ剰錛岃媧誨姩榪樺父甯鎬嬌鐢╯ingleTop 鎴杝ingleTask 鍙戝皠妯″紡鏃訛紝浣跨敤榪欑鏂規硶錛屽洜姝わ紝鐩墠鐨勬儏鍐墊槸鐢變簬鏂扮殑鎰忓浘鑰屼笉闇瑕佸皢瀹冩懅姣侊紝涓涓柊鐨勫疄渚嬪紑濮嬨?/p>

涓縐嶉氬父鐨勫姙娉曟槸鍜孨EW_TASK鑱斿悎璧鋒潵浣跨敤Intent.FLAG_ACTIVITY_CLEAR_TOP鏍囧織銆傝繖鏍鳳紝濡傛灉鎮ㄧ殑浠誨姟宸茬粡榪?琛岋紝閭d箞瀹冨皢浼氳甯﹀埌鍓嶅彴錛岄櫎鏍規椿鍔ㄥ鍏跺畠鎵鏈夊爢鏍堜腑鐨勬椿鍔ㄩ兘琚竻闄わ紝鑰屼笖榪欎釜鏍規椿鍔ㄧ殑鏂規硶onNewIntent(Intent)浼氬湪璇ユ剰鍥捐搗鍔ㄦ椂琚皟 鐢ㄣ傛敞鎰忚繖涓椿鍔ㄤ嬌鐢ㄨ繖涓柟娉曟椂緇忓父浣跨敤singleTop鎴栬卻ingleTask璧峰姩妯″紡錛岃繖鏍峰綋鍓嶅疄渚嬭璧嬩簣鏂扮殑鎰忓浘鑰屼笉鏄渶瑕侀攢姣佸畠鐒跺悗閲嶆柊璧峰姩 涓涓柊鐨勫疄渚嬨?/p>

鎮ㄨ兘閲囧彇鐨勫彟澶栫殑鏂規硶鏄緗氱煡媧誨姩鐨勪換鍔ffinity涓虹┖瀛楃涓?#8220;”錛堣〃紺烘病鏈塧ffinity錛夛紝騫惰緗?finishOnBackground灞炴с傝繖縐嶆柟娉曟槸鏈夌敤鐨勫鏋滀綘甯屾湜榪欎釜閫氱煡鎶婄敤鎴峰甫鍒頒竴涓崟鐙殑鎻忚堪瀹冪殑媧誨姩涓紝鑰屼笉鏄繑鍥炲埌搴旂敤紼嬪簭鐨勪換鍔°傞氳繃 鎸囧畾榪欎釜灞炴э紝璇ユ椿鍔ㄥ皢琚粨鏉熶笉綆$敤鎴烽氳繃BACK榪樻槸HOME紱誨紑瀹?濡傛灉榪欎釜灞炴ф病鏈夋寚瀹氾紝鎸夐欏靛皢瀵艱嚧榪欎釜媧誨姩鍙婂叾浠誨姟浠嶄繚鐣欏湪緋葷粺閲岋紝涓斿彲鑳芥病鏈?鍔炴硶榪斿洖瀹冦?/p>

璇峰姟蹇呴槄璇誨叧浜巐aunchMode灞炴у拰Intent鏍囧織鐨勬枃妗d互鑾峰彇榪欎簺閫夐」鐨勮緇嗚鏄庛?/p>

 

 

榪涚▼

鍦ˋndroid閲岋紝榪涚▼瀹屽叏鏄簲鐢ㄧ殑瀹炵幇緇嗚妭錛岃屼笉鏄敤鎴烽氬父浜嗚В鐨勯偅鏍楓傚叾涓昏鐢ㄩ斿氨鏄細

閫氳繃瀹夌疆涓嶅彈淇′換鐨勬垨涓嶇ǔ瀹氱殑浠g爜鍒板彟涓涓繘紼嬫潵鎻愰珮紼沖畾鎬ф垨瀹夊叏鎬с?
閫氳繃鍦ㄥ悓涓榪涚▼閲岃繍琛屽涓?apks鐨勪唬鐮佹潵鍑忓皯寮閿銆?
閫氳繃鎶婇噸閲忕駭浠g爜鏀懼湪鍗曠嫭鐨勮繘紼嬩腑鏉ュ府鍔╃郴緇熺鐞嗚祫婧愶紝璇ヨ繘紼嬪彲浠ュ湪涓嶅獎鍝嶅簲鐢ㄧ▼搴忓叾浠栭儴鍒嗙殑鎯呭喌涓嬭緇堟銆?
姝e鍓嶉潰鎵榪幫紝榪欎釜榪涚▼灞炴х敤鏉ユ帶鍒惰繍琛岀潃鐗瑰畾搴旂敤紼嬪簭緇勪歡鐨勮繘紼嬶紝娉ㄦ剰錛屾灞炴т笉鑳界敤浜庤繚鍙嶇郴緇熷畨鍏ㄦэ細濡傛灉鏈変袱涓笉鍏變韓鐩稿悓鐢ㄦ埛ID鐨?apks灝濊瘯榪愯鍦ㄥ悓涓榪涚▼涓紝榪欏皢涓嶄細琚厑璁革紝鐩稿弽浼氫負瀹冧滑姣忎竴涓垱寤轟笉鍚岀殑榪涚▼銆?/p>

鍙傝瀹夊叏 鏂囨。浠ヨ幏鍙栨洿澶氬叧浜庡畨鍏ㄩ檺鍒舵柟闈㈢殑淇℃伅銆?/p>

Android鐩稿叧鍐呭:


 

綰跨▼

姣忎釜榪涚▼鍖呭惈涓涓垨澶氫釜綰跨▼銆傚鏁版儏鍐典笅錛孉ndroid閬垮厤鍦ㄨ繘紼嬮噷鍒涘緩棰濆鐨勭嚎紼嬶紝浠ヤ繚鎸佸簲鐢ㄧ▼搴忓崟綰跨▼錛岄櫎闈炲畠鍒涘緩鑷繁鐨勭嚎紼嬨備竴涓噸瑕佺殑緇?鏋滃氨鏄墍鏈夊媧誨姩Activity錛屽箍鎾帴鏀跺櫒BroadcastReceiver浠ュ強鏈嶅姟Service瀹炰緥鐨勮皟鐢ㄩ兘鏄敱榪欎釜榪涚▼鐨勪富綰跨▼鍒涘緩鐨勩?/p>

娉ㄦ剰鏂扮殑綰跨▼騫朵笉浼氫負姣忎釜媧誨姩錛屽箍鎾帴鏀跺櫒錛屾湇鍔℃垨鑰呭唴瀹規彁渚涘櫒錛圕ontentProvider錛夊疄渚嬭屽垱寤猴細榪欎簺搴旂敤紼嬪簭鐨勭粍浠跺湪榪涚▼閲岃瀹炰緥 鍖栵紙闄ら潪鍙︽湁璇存槑錛岄兘鍦ㄥ悓涓涓繘紼嬪鐞嗭級錛屽疄闄呬笂鏄繘紼嬬殑涓葷嚎紼嬨傝繖璇存槑褰撹緋葷粺璋冪敤鏃舵病鏈夊摢涓粍浠訛紙鍖呮嫭鏈嶅姟錛変細榪涜榪滅▼鎴栬呴樆濉炴搷浣滐紙灝卞儚緗戠粶璋冪敤鎴?鑰呰綆楀驚鐜級錛屽洜涓鴻繖灝嗛樆姝㈣繘紼嬩腑鐨勬墍鏈夊叾浠栫粍浠躲備綘鍙互浣跨敤鏍囧噯鐨勭嚎紼嬬被Thread鎴栬匒ndroid鐨凥andlerThread渚挎嵎綾誨幓瀵瑰叾瀹冪嚎 紼嬫墽琛岃繙紼嬫搷浣溿?/p>

榪欓噷鏈変竴浜涘叧浜庤繖涓嚎紼嬭鍒欑殑閲嶈鐨勪緥澶栵細

  銉?瀵笽Binder鎴栬匢Binder瀹炵幇鐨勬帴鍙g殑璋冪敤鐢辮皟鐢ㄧ嚎紼嬫垨鏈湴榪涚▼鐨勭嚎紼嬫睜錛堝鏋滆鍛煎彨鏉ヨ嚜鍏朵粬榪涚▼錛夊垎鍙戯紝鑰屼笉鏄畠浠殑榪涚▼鐨勪富綰跨▼銆傜壒孌婃儏鍐?涓嬶紝涓涓湇鍔$殑IBinder鍙互榪欐牱璋冪敤銆傦紙灝界璋冪敤鏈嶅姟閲岀殑鏂規硶宸茬粡鍦ㄤ富綰跨▼閲屽畬鎴愩傦級榪欐剰鍛崇潃IBinder鎺ュ彛鐨勫疄鐜板繀欏昏鏈変竴縐嶇嚎紼嬪畨鍏ㄧ殑鏂?娉曪紝榪欐牱浠繪剰綰跨▼鎵嶈兘鍚屾椂璁塊棶瀹冦?br />   銉?瀵笴ontentProvider涓昏鏂規硶鐨勮皟鐢ㄧ敱璋冪敤綰跨▼鎴栬呬富綰跨▼鍒嗗彂,濡傚悓IBinder涓鏍楓傝鎸囧畾鐨勬柟娉曞湪鍐呭鎻愪緵鍣ㄧ殑綾婚噷鏈夎褰曘傝繖鎰忓懗鐫瀹炵幇榪欎簺鏂規硶蹇呴』瑕佹湁涓縐嶇嚎紼嬪畨鍏ㄧ殑妯″紡錛岃繖鏍蜂換鎰忓叾瀹冪嚎紼嬪彲浠ュ悓鏃惰闂畠銆?br />   銉?瑙嗗浘鍙婂叾瀛愮被涓殑璋冪敤鐢辨鍦ㄨ繍琛岀潃瑙嗗浘鐨勭嚎紼嬩駭鐢熴傞氬父鎯呭喌涓嬶紝榪欎細琚綔涓鴻繘紼嬬殑涓葷嚎紼嬶紝濡傛灉浣犲垱寤轟竴涓嚎紼嬪茍鏄劇ず涓涓獥鍙o紝閭d箞緇ф壙鐨勭獥鍙h鍥懼皢浠庨偅涓嚎紼嬮噷鍚姩銆?/p>

CPPX 2013-02-19 10:57 鍙戣〃璇勮
]]>
Android濡備綍鍒ゆ柇鎵嬫満鏄惁鑱旂綉? http://www.shnenglu.com/ctou45/archive/2013/02/18/197898.htmlCPPXCPPXMon, 18 Feb 2013 01:50:00 GMThttp://www.shnenglu.com/ctou45/archive/2013/02/18/197898.htmlhttp://www.shnenglu.com/ctou45/comments/197898.htmlhttp://www.shnenglu.com/ctou45/archive/2013/02/18/197898.html#Feedback0http://www.shnenglu.com/ctou45/comments/commentRss/197898.htmlhttp://www.shnenglu.com/ctou45/services/trackbacks/197898.html鍦ˋndroid鎵嬫満涓垽鏂槸鍚﹁仈緗戝彲浠ラ氳繃 ConnectivityManager 綾葷殑isAvailable()鏂規硶鍒ゆ柇錛?br />
棣栧厛鑾峰彇緗戠粶閫氳綾葷殑瀹炰緥

     ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 錛?br />
     浣跨敤cwjManager.getActiveNetworkInfo().isAvailable(); 鏉ヨ繑鍥炴槸鍚︽湁鏁堬紝濡傛灉涓篢rue鍒欒〃紺哄綋鍓岮ndroid鎵嬫満宸茬粡鑱旂綉錛屽彲鑳芥槸WiFi鎴朑PRS銆丠SDPA絳夌瓑錛?br />
     鍏蜂綋鐨勫彲浠ラ氳繃ConnectivityManager 綾葷殑getActiveNetworkInfo() 鏂規硶鍒ゆ柇璇︾粏鐨勬帴鍏ユ柟寮忥紝   

     闇瑕佹敞鎰忕殑鏄湁鍏寵皟鐢ㄩ渶瑕佸姞鍏?br />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 榪欎釜鏉冮檺錛?br />
Android鐩稿叧鍐呭:


CPPX 2013-02-18 09:50 鍙戣〃璇勮
]]>
Eclipse涓嬬紪璇慉ndroid鑷甫鑱旂郴浜哄簲鐢?/title><link>http://www.shnenglu.com/ctou45/archive/2013/02/17/197873.html</link><dc:creator>CPPX</dc:creator><author>CPPX</author><pubDate>Sun, 17 Feb 2013 02:30:00 GMT</pubDate><guid>http://www.shnenglu.com/ctou45/archive/2013/02/17/197873.html</guid><wfw:comment>http://www.shnenglu.com/ctou45/comments/197873.html</wfw:comment><comments>http://www.shnenglu.com/ctou45/archive/2013/02/17/197873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ctou45/comments/commentRss/197873.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ctou45/services/trackbacks/197873.html</trackback:ping><description><![CDATA[<div>鏈榪戝嚭浜庡Android緋葷粺鑷甫鑱旂郴浜哄簲鐢ㄥ姞杞借仈緋諱漢鍙嶅簲涔嬭繀閫熺殑鏁僵鍜屾櫙浠幫紝鎯崇粍緇囧嚑浣嶅悓浜嬩竴璧烽槄璇昏搴旂敤婧愮爜錛屾棤濂圗clipse涓嬬紪璇戜竴鍫嗛敊璇傛渶緇堜笉寰椾笉涓嬭澆浜嗗畬鏁寸殑Android婧愮爜錛屽湪Ubuntu涓嬬紪璇戝畬鎴愬悗錛屽鍏ヨ搴旂敤鎵闇鐨凧ar鍖呫? <br /> 鎸夌収涓婇潰甯栧瓙鐨勬弿榪幫紝鏂板User Library鍚庯紝鏁翠釜宸ョ▼鍙墿涓嬫嫧鍙風洏欏甸潰榪樻湁15涓敊璇紱 <br /> <p> 鐪嬩笅閿欒鎻忚堪錛屾槸<br />     import com.android.phone.CallLogAsync;  <br />     import com.android.phone.HapticFeedback;  </p> <p> 緙哄け榪欎袱涓紩鐢紝鍛靛懙錛屾槑鐧戒簡錛屽鍏ョ數璇濈紪璇戠敓鎴愮殑Jar鍖?</p> <p> out\target\common\obj\APPS\Phone_intermediates\classes.jar   </p> OK錛屽氨榪欎箞緙栬瘧閫氳繃浜嗭紝濂戒簡錛屼笅鍛ㄤ竴鍙互寮濮嬪拰鍚屼簨涓璧烽槄璇昏浠g爜浜?nbsp;璁板綍涓嬫潵錛屽笇鏈涘鍒殑鏈嬪弸鑳芥湁涓鐐圭偣甯姪 <br />Eclipse鐩稿叧鍐呭: <ul><li> <a rel="nofollow">榪庢帴Eclipse 3.5(Galileo)錛氭柊鐗規?/a> </li><li> <a rel="nofollow">鍒涘緩鍜屾墦鍖匛clipse婧愪唬鐮佹彃浠?/a> </li><li> <a rel="nofollow">鍦‥clipse涓嬌鐢╢indbug</a> </li><li> <a rel="nofollow">Google鍙戝竷Eclipse鎻掍歡</a> </li><li> <a rel="nofollow">eclipse涓璖ystem.out蹇嵎閿瀹?/a> </li></ul></div><img src ="http://www.shnenglu.com/ctou45/aggbug/197873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ctou45/" target="_blank">CPPX</a> 2013-02-17 10:30 <a href="http://www.shnenglu.com/ctou45/archive/2013/02/17/197873.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MyEclipse10.0 閲囩敤鎻掍歡鏂瑰紡瀹夎 SVNhttp://www.shnenglu.com/ctou45/archive/2013/02/16/197862.htmlCPPXCPPXSat, 16 Feb 2013 08:03:00 GMThttp://www.shnenglu.com/ctou45/archive/2013/02/16/197862.htmlhttp://www.shnenglu.com/ctou45/comments/197862.htmlhttp://www.shnenglu.com/ctou45/archive/2013/02/16/197862.html#Feedback0http://www.shnenglu.com/ctou45/comments/commentRss/197862.htmlhttp://www.shnenglu.com/ctou45/services/trackbacks/197862.html涓銆佸埌瀹樻柟涓婁笅杞絪vn1.8.3錛屼笅杞藉悗鐨勬枃浠跺悕鍙玸ite-1.8.3.zip
      鍦板潃錛歨ttp://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240  榪欓噷鏈夊緢澶氱増鏈紝璇瘋嚜宸遍夋嫨鍚堥傜殑錛?br />
浜屻佽В鍘嬶紝鍒犻櫎瑙e帇鍚庡緱鍒扮殑鏂囦歡涓櫎浜嗗悕鍙玣eatures鍜宲lugins鐨勪袱涓枃浠跺す浠ュ鐨勫叾浠栨墍鏈夋枃浠躲?br />
涓夈佸湪MyEclipse10.0鐨勫畨瑁呯洰褰曚腑鑷繁鏂板緩涓涓枃浠跺す錛堟垜鐨勫彨MyPlugins錛夌劧鍚庢妸瑙e帇騫跺垹闄よ繃鏂囦歡鍚庡緱鍒扮殑閭d釜SVN鏂囦歡澶?澶嶅埗鍒拌鐩綍錛?br />
鍥涖佸湪MyEclipse10.0鐨勫畨瑁呯洰褰曚笅鐨刣ropins鏂囦歡澶逛腑寤虹珛涓涓枃鏈枃浠訛紝鍐呭杈損ath=浣犵殑svn璺緞錛岋紙鎴戠殑鏄痯ath=E:\\MyEclipse\\MyEclipse 10\\MyPlugins\\SVN-1.8.3錛夛紝鐒跺悗淇濆瓨錛屼繚瀛樺悗灝嗚鏂囦歡鍚嶉噸鍛藉悕鎴怱VN.lnk(璁頒綇鎵╁睍鍚嶆槸鏄?lnk涓嶆槸緗戜笂鏈夌綉鍙嬭鐨刲ink).

浜斻佹帴涓嬫潵鍒犻櫎 MyEclipse10.0鐨勫畨瑁呯洰褰曚笅configuration鏂囦歡澶逛腑鐨刼rg.eclipse.update鏂囦歡澶廣?br />
鍏侀噸鍚紞銆塐K銆?br />
MyEclipse鐩稿叧鍐呭:


CPPX 2013-02-16 16:03 鍙戣〃璇勮
]]>
C++瀹炵幇鍏巻杞啘鍘嗙殑綆楁硶http://www.shnenglu.com/ctou45/archive/2012/08/21/187846.htmlCPPXCPPXTue, 21 Aug 2012 06:25:00 GMThttp://www.shnenglu.com/ctou45/archive/2012/08/21/187846.htmlhttp://www.shnenglu.com/ctou45/comments/187846.htmlhttp://www.shnenglu.com/ctou45/archive/2012/08/21/187846.html#Feedback0http://www.shnenglu.com/ctou45/comments/commentRss/187846.htmlhttp://www.shnenglu.com/ctou45/services/trackbacks/187846.html浠婂ぉ鏄啘鍘嗗嚑鏈堝嚑鏃ユ槦鏈熷嚑鐨勬煡璇?
浠ヤ笅鏂囦歡鍦╨inux   g++ (GCC) 4.1.2 鐜緙栬瘧閫氳繃

//file: lunarday.h

//author: cuichaox@gmail.com

//2007-02-13 11:22:04


#ifndef LUANR_CALENDAR_H
#define LUANR_CALENDAR_H

namespace lunar
{
     //淇濆瓨涓涓啘鍘嗘棩鏈?br />
     typedef struct T_Date
     {
     //騫?br />
     int year;
     //鏈?br />
     int month;
     //鏃?br />
     int day;
     //鏄惁闂版湀

     bool leap;    
     } Date;
     
     //鍏巻杞啘鍘?br />
     Date LuanrDate(int solar_year,int solar_month,int solar_day);
}


//file: lunarday.cpp

//author: cuichao@gmail.com

//2007-02-13 11:22:48


#include "lunarday.h"
#include <ctime>
#include <cassert>
#include <cstring>
#include <iostream>

using namespace std;
using lunar::Date;


//浣跨敤姣旂壒浣嶈褰曟瘡騫寸殑鎯呭喌

//0~4 鍏?bit 鏄ヨ妭鏃ヤ喚

//5~6 鍏?bit 鏄ヨ妭鏈堜喚

//7~19 鍏?3bit 13涓湀鐨勫ぇ灝忔湀鎯呭喌(濡傛灉鏃犻棸鏈堬紝鏈鍚庝綅鏃犳晥)錛屽ぇ鏈堜負1,灝忔湀涓?

//20~23 鍏?bit 璁板綍闂版湀鐨勬湀浠斤紝濡傛灉娌℃湁闂版湀涓?

static const int BEGIN_YEAR = 1901;
static const int NUMBER_YEAR = 199;
static const unsigned int LUNAR_YEARS[199] = {
     0x04AE53,0x0A5748,0x5526BD,0x0D2650,0x0D9544,
     0x46AAB9,0x056A4D,0x09AD42,0x24AEB6,0x04AE4A, //1901-1910

     0x6A4DBE,0x0A4D52,0x0D2546,0x5D52BA,0x0B544E,
     0x0D6A43,0x296D37,0x095B4B,0x749BC1,0x049754, //1911-1920

     0x0A4B48,0x5B25BC,0x06A550,0x06D445,0x4ADAB8,
     0x02B64D,0x095742,0x2497B7,0x04974A,0x664B3E, //1921-1930

     0x0D4A51,0x0EA546,0x56D4BA,0x05AD4E,0x02B644,
     0x393738,0x092E4B,0x7C96BF,0x0C9553,0x0D4A48, //1931-1940

     0x6DA53B,0x0B554F,0x056A45,0x4AADB9,0x025D4D,
     0x092D42,0x2C95B6,0x0A954A,0x7B4ABD,0x06CA51, //1941-1950

     0x0B5546,0x555ABB,0x04DA4E,0x0A5B43,0x352BB8,
     0x052B4C,0x8A953F,0x0E9552,0x06AA48,0x7AD53C, //1951-1960

     0x0AB54F,0x04B645,0x4A5739,0x0A574D,0x052642,
     0x3E9335,0x0D9549,0x75AABE,0x056A51,0x096D46, //1961-1970

     0x54AEBB,0x04AD4F,0x0A4D43,0x4D26B7,0x0D254B,
     0x8D52BF,0x0B5452,0x0B6A47,0x696D3C,0x095B50, //1971-1980

     0x049B45,0x4A4BB9,0x0A4B4D,0xAB25C2,0x06A554,
     0x06D449,0x6ADA3D,0x0AB651,0x093746,0x5497BB, //1981-1990

     0x04974F,0x064B44,0x36A537,0x0EA54A,0x86B2BF,
     0x05AC53,0x0AB647,0x5936BC,0x092E50,0x0C9645, //1991-2000

     0x4D4AB8,0x0D4A4C,0x0DA541,0x25AAB6,0x056A49,
     0x7AADBD,0x025D52,0x092D47,0x5C95BA,0x0A954E, //2001-2010

     0x0B4A43,0x4B5537,0x0AD54A,0x955ABF,0x04BA53,
     0x0A5B48,0x652BBC,0x052B50,0x0A9345,0x474AB9, //2011-2020

     0x06AA4C,0x0AD541,0x24DAB6,0x04B64A,0x69573D,
     0x0A4E51,0x0D2646,0x5E933A,0x0D534D,0x05AA43, //2021-2030

     0x36B537,0x096D4B,0xB4AEBF,0x04AD53,0x0A4D48,
     0x6D25BC,0x0D254F,0x0D5244,0x5DAA38,0x0B5A4C, //2031-2040

     0x056D41,0x24ADB6,0x049B4A,0x7A4BBE,0x0A4B51,
     0x0AA546,0x5B52BA,0x06D24E,0x0ADA42,0x355B37, //2041-2050

     0x09374B,0x8497C1,0x049753,0x064B48,0x66A53C,
     0x0EA54F,0x06B244,0x4AB638,0x0AAE4C,0x092E42, //2051-2060

     0x3C9735,0x0C9649,0x7D4ABD,0x0D4A51,0x0DA545,
     0x55AABA,0x056A4E,0x0A6D43,0x452EB7,0x052D4B, //2061-2070

     0x8A95BF,0x0A9553,0x0B4A47,0x6B553B,0x0AD54F,
     0x055A45,0x4A5D38,0x0A5B4C,0x052B42,0x3A93B6, //2071-2080

     0x069349,0x7729BD,0x06AA51,0x0AD546,0x54DABA,
     0x04B64E,0x0A5743,0x452738,0x0D264A,0x8E933E, //2081-2090

     0x0D5252,0x0DAA47,0x66B53B,0x056D4F,0x04AE45,
     0x4A4EB9,0x0A4D4C,0x0D1541,0x2D92B5 //2091-2099

};
//璁$畻榪欎釜鍏巻鏃ユ湡鏄竴騫翠腑鐨勭鍑犲ぉ

static int DayOfSolarYear(int year, int month, int day )
{
     //涓轟簡鎻愰珮鏁堢巼錛岃褰曟瘡鏈堜竴鏃ユ槸涓騫翠腑鐨勭鍑犲ぉ

     static const int NORMAL_YDAY[12] = {1,32,60,91,121,152,
                     182,213,244,274,305,335};
     //闂板勾鐨勬儏鍐?br />
     static const int LEAP_YDAY[12] = {1,32,61,92,122,153,
                 183,214,245,275,306,336};
     const int *t_year_yday_ = NORMAL_YDAY;
     
     //鍒ゆ柇鏄惁鏄叕鍘嗛棸騫?br />
     if( year % 4 ==0 )
     {
     if(year%100 != 0)    
     t_year_yday_ = LEAP_YDAY;
     if(year%400 == 0)
     t_year_yday_ = LEAP_YDAY;              
     }
     return t_year_yday_[month -1] + (day -1);
}

Date lunar::LuanrDate(int solar_year,int solar_month,int solar_day)
{
     Date luanr_date ;
     luanr_date.year = solar_year;
     luanr_date.month = 0;
     luanr_date.day = 0;
     luanr_date.leap = false;
     
     //瓚婄晫媯鏌ワ紝濡傛灉瓚婄晫錛岃繑鍥炴棤鏁堟棩鏈?br />
     if(solar_year <= BEGIN_YEAR || solar_year > BEGIN_YEAR + NUMBER_YEAR - 1 )
          return luanr_date;
          
     int year_index = solar_year - BEGIN_YEAR;
     
     //璁$畻鏄ヨ妭鐨勫叕鍘嗘棩鏈?br />
     int spring_ny_month = ( LUNAR_YEARS[year_index] & 0x60 ) >> 5;
     int spring_ny_day = ( LUNAR_YEARS[year_index] & 0x1f);
     
     //璁$畻浠婂ぉ鏄叕鍘嗗勾鐨勭鍑犲ぉ

     int today_solar_yd = DayOfSolarYear(solar_year,solar_month,solar_day);
     //璁$畻鏄ヨ妭鏄叕鍘嗗勾鐨勭鍑犲ぉ

     int spring_ny_yd = DayOfSolarYear(solar_year,spring_ny_month,spring_ny_day);
     //璁$畻浠婂ぉ鏄啘鍘嗗勾鐨勭鍑犲ぉ

     int today_luanr_yd = today_solar_yd - spring_ny_yd + 1;
     //濡傛灉浠婂ぉ鍦ㄦ槬鑺傜殑鍓嶉潰錛岄噸鏂拌綆梩oday_luanr_yd

     if ( today_luanr_yd < 0)
     {
      //鍐滃巻騫存瘮褰撳墠鍏巻騫村皬1

     year_index --;
     luanr_date.year --;
     //瓚婄晫錛岃繑鍥炴棤鏁堟棩鏈?br />
     if(year_index <0)
     return luanr_date;
     spring_ny_month = ( LUNAR_YEARS[year_index] & 0x60 ) >> 5;
     spring_ny_day = ( LUNAR_YEARS[year_index] & 0x1f);    
     spring_ny_yd = DayOfSolarYear(solar_year,spring_ny_month,spring_ny_day);
         
     int year_total_day = DayOfSolarYear(luanr_date.year,12,31);         
     today_luanr_yd = today_solar_yd + year_total_day - spring_ny_yd + 1;    
     }
     
     int luanr_month = 1;
     //璁$畻鏈堜喚鍜屾棩鏈?br />
     for(;luanr_month<=13;luanr_month++)
     {    
     int month_day = 29;    
     if( (LUNAR_YEARS[year_index] >> (6 + luanr_month)) & 0x1 )
     month_day = 30;    
     if( today_luanr_yd <= month_day )
     break;
     else
     today_luanr_yd -= month_day;    
     }
     luanr_date.day = today_luanr_yd;
     //澶勭悊闂版湀

     int leap_month = (LUNAR_YEARS[year_index] >>20) & 0xf;
     if(leap_month > 0 && leap_month < luanr_month )
     {    
     luanr_month --;
     //濡傛灉褰撳墠鏈堜負闂版湀錛岃緗棸鏈堟爣蹇?br />
     if( luanr_month == leap_month )    
     luanr_date.leap = true;         
     }
     assert(leap_month <= 12);
     luanr_date.month = luanr_month;
     return luanr_date;
}

嫻嬭瘯涓誨嚱鏁幫紝鎵撳嵃褰撳墠鍐滃巻鏃ユ湡


//file: chdate.cpp

//author: cuichaox@gmail.com

//2007-02-13 11:21:45


#include <iostream>
#include <ctime>
#include "lunarday.h"


int main(int argc, char *argv[])
{
     using namespace std;
     using namespace lunar;
     
     time_t current_time;
     time(&current_time);
     tm *current_tm = localtime(&current_time);
     
     int year = current_tm->tm_year + 1900;
     int month = current_tm->tm_mon +1;
     int day = current_tm->tm_mday;
     
     Date lunar_date = LuanrDate(year,month,day);
     
     cout<<lunar_date.year<<"騫?;
     if(lunar_date.leap)
     cout<<"闂?;
     cout<<lunar_date.month<<"鏈?;
     cout<<lunar_date.day<<"鏃?;
     cout<<endl;     
     return 0;
}


Makefile鏂囦歡錛屽涓?br />#makefile for chdate
CPP = g++
LD = g++

CC_FLAG =   
LD_FLAG =

FILE_LIST = lunarday.cpp chdate.cpp
OBJ_LIST =  $(FILE_LIST:%.cpp=%.o)
BIN = chdate


default: $(BIN)

$(BIN): $(OBJ_LIST)
    $(LD) $(LD_FLAG) -o $(BIN) $(OBJ_LIST)


%.o : %.cpp
    @$(CPP) $(CC_FLAG) -c $< -o $@

clean:
    rm $(OBJ_LIST) $(BIN)

鎵ц鏁堟灉濡備笅
sideleft@doom:~/workspace/luanrday$ ./chdate
2006騫?2鏈?6鏃?/div>

CPPX 2012-08-21 14:25 鍙戣〃璇勮
]]>C/C++ Reference澶у叏http://www.shnenglu.com/ctou45/archive/2011/12/05/161478.htmlCPPXCPPXMon, 05 Dec 2011 01:40:00 GMThttp://www.shnenglu.com/ctou45/archive/2011/12/05/161478.htmlhttp://www.shnenglu.com/ctou45/comments/161478.htmlhttp://www.shnenglu.com/ctou45/archive/2011/12/05/161478.html#Feedback0http://www.shnenglu.com/ctou45/comments/commentRss/161478.htmlhttp://www.shnenglu.com/ctou45/services/trackbacks/161478.htmlGeneral C/C++

    Pre-processor commands
    Operator Precedence
    Escape Sequences
    ASCII Chart
    Data Types
    Keywords

Standard C Library

    Standard C I/O
    Standard C String & Character
    Standard C Math
    Standard C Time & Date
    Standard C Memory
    Other standard C functions

All C Functions
C++

    C++ I/O
    C++ Strings
    Miscellaneous C++

C++ Standard Template Library

    C++ Algorithms
    C++ Vectors
    C++ Double-Ended Queues
    C++ Lists
    C++ Priority Queues
    C++ Queues
    C++ Stacks
    C++ Sets
    C++ Multisets
    C++ Maps
    C++ Multimaps
    C++ Bitsets


CPPX 2011-12-05 09:40 鍙戣〃璇勮
]]>
久久精品无码一区二区三区日韩| 亚洲国产精品成人久久蜜臀 | 久久亚洲色一区二区三区| 激情五月综合综合久久69| 久久久久久久国产免费看| 亚洲国产一成人久久精品| 99久久无码一区人妻| 一本色道久久88综合日韩精品| 久久人人妻人人爽人人爽| 国产成人综合久久久久久| 国产69精品久久久久久人妻精品| 青青草国产精品久久久久| 欧美精品国产综合久久| 久久亚洲精品中文字幕三区| 日本WV一本一道久久香蕉| 国产精品熟女福利久久AV| 久久99精品久久只有精品 | 777米奇久久最新地址| 人妻精品久久久久中文字幕| 久久国产精品一国产精品金尊| 色婷婷久久综合中文久久一本| 国产产无码乱码精品久久鸭| 亚洲&#228;v永久无码精品天堂久久 | 99久久99久久| 精品久久久久成人码免费动漫| 久久精品一区二区影院| 久久精品国产久精国产| 久久99精品久久久久子伦| 午夜精品久久久久久99热| 亚洲Av无码国产情品久久| 久久精品国产99久久丝袜| 狠狠色伊人久久精品综合网 | 久久香蕉国产线看观看乱码| 麻豆AV一区二区三区久久| 国产69精品久久久久9999APGF | 久久久99精品成人片中文字幕| 2022年国产精品久久久久 | 中文字幕日本人妻久久久免费| 九九精品久久久久久噜噜| 久久只有这精品99| 久久人人爽人人爽人人片AV不 |