You are on page 1of 30
SRB BA Androi dees 5 2015. Android? 5] B¥ 7981-1217 FRPMRILA fy ARABI MBA | S815 8 Android SAR Flpy, TERETE BAS SBR FRAAMAB ERM, T% YOBO AIRS ERGABHR: PASH LRA FAA B Ceees EEX) + vono a voso api BAAS Sh Bk A EME, BATA RABE -AE TNL Ee BERRY VAR, DL ad FETS Si AF CER KS PC LINAC LSPA, RT, RIOT TL Wis Fike MEA ES, WIE. Se I. BURL, EERE ERAT EAL bee, Ui a AF. MURRELL A, LRA. PRAM 3 Kid RUAN, BRACE: © BATH Ay ny DAM © BAKE ATUL. S10, SLE MEAT 3G Ae RARER, Wik MAH, RET LEAT Mek; BAT YORO HGR BLASS TE RR Ay FATT OTA. CRAB AE AEA ARLE ARCA BAAR KE VIEF VOBO APL HOPES, EARN AT ARIE ACFE YOBO LAE, IX4FRF YORO BULAN EE TIS ALB Ae Te FER doe, AS SRAT VE LB BAG Ma AS RAT Ye AY PETG EA —ALARAS YOBO ITEM IMA—F, YOBO 64 F 2006 4 12 Hl, Ae TUL Maa, FGIEK “DNA”, REE SAR, ORR. ARS. HERB, SUL SSE AL REDE ATE BD OSE EDIE BAR, QR ACT ANG, JEU Ase Yi 2 tee IY RATE, CRABS, MAAS UNREST TTI. 2008 “FI, YOBO SRB MESURE GIRS, FFT YOO APL 3M YOBO APL, (2A 77 4) ZEN LS BEA RH, ANS LIEK YORO AAR. TARAS BES DH TEER ALS th EAE T- YOBO APL. Google Android FATS 15.1.1 YOBO fa sr YOBO Hit F “FFA DNA TL", ALATA TALBOT AYE RD RAAT SE HERE RE. HL SES VE YOBO “FY 06.4 4 RHA —4 ART. YORO Ht Wh es oy fe a anh IHGA AAI PERI. YOBO HI PUBLICA ALARA ASL E Si ebsehte 0h “DNA” S23] ICAI BEUTIN PK ALK. YOO BME PEPE BIE TCA DOK “PEST DNA” (WTF. SALE AL H-NET SAT. DLAI RARSIUIA FURR RTE (PAIRUISUTA MAK, JP CaAE TTA INRIA ca — ett, BH, ALA, TAR. ATT, Kia), HAM UE 50 BMKETE, 400 BTR iS, STITH 20 MEISE RAE Lf. SPAR SRA THI PERS Ay Pe TBE PAE HAT TAT ON TE RAE. Lb ASIA RS RATA REESE EAA ATT He. WL AOL Sebi fe SL: YOBO IH] PEMSURENHER, EA. 11h WOR, DISSiIL SRST Amrit. YOBO SS Uf FPA: “ACHHOSIT aA DNA!” YORO BHP WELL F fal le LUE NAS AEE Hh Zaks 9 TRA PPL Zed APART ARIAT Ak 0 TAREE H MIEN A Skea. YORO METER ATRIA TEBE, AAAS BRAD, WH PR ad TR Re RAN AL 16.1.2 YOBO SAEteA, PRA AT A CRITE. EERE KF YORO [Dy AREE A. YOBO 4: 2DH8E4i 3 4 CD) PE HERE: CRUE AR “DNA” AULLAEAWORIER, BR MEAP, MAC ICHH ACEP OR PRE hy A, SLL CORE Ia a SP aH (2) SIGH: 16 YOBO ATLL 4 CEE AVAR AREA MOR, WORT Ter fe mCHE ELM AR ART, GEECARI TaD BT. TRAE. SCHR RATE T Sey aie a (3) FARWOWT: CE YOBO, Minl La PES HRC AX, aca DLC Hee AE Cbd eat WER AAS 2A BCE CARICA, {HOT BLS Ne PE Se A. BY LBCE UCR PP aR ARICA REHEAT BR STH ME MIC, Be ARP. ea. cl. ATLA. Hem. BEAR BS RE SUT AB AHEM ME ON TE CLUE RK. HERR. SP ERRED, RTP BESR ETE HL LEE AE, 15.1.3 YOBO API 7+ AAR STZIN, YOBO APL UGE | Beta BBL, IEE GAA RAISE BTR, ALL WERENT S. CAMS TERE, ORME An Pz: © HLS RARE: RE A EE FB 15% Android £2 PE —$- 2B SA 0 SME des PERI Bs I ei ESATA © TRAILER iP «TRL AA eR © ALE Raa ee: AML UAE ARIEL, BK HBR. abe: Ce ee AINE, = ARLE. JE API IRAE WIE NIGER, BEARER PDK, AL AITO. eeLET APL. RE MR Lt 15.2.1 FES SD READ MUTE BBA AGAR, PCC) — Fe 4 A AR 1 AE BE BAN CO TUS: Beh AF YOBO SiS) FALLS TT EL este OE 2) Na: CRATE SWAT ELAR. G) teat HERES CUA HEAL MeL a. (4) FA USE Cok FASE PL Ra CS) th Ts BPS PRIN PAL ARE A PA OA, legit HET ES CO) Leflhs mT ESIC AL si SE AS CA ETL 7) ABRs EA SROIRGA AE sie AE AT FL (8) AEACe MPRA AE TT eLaleae asi Laer Ac ae CO) KOs mY LE ook PTD A Mas 15.2.2 7e Seis Ul Rit PTR MM REE, BARAT UL Beebe As HEMT PREM, RY ab big BE UT APB, A MED id AA TRE Se CF YR AL HERR BERL, SUBPART NM ATS Av (i YORO (AHH) HERE YOBO KEK) Al: BEI IE AIIM, (PRU THRAL: GRR RY ea. EP TON Ze A a SAL 4s eee Ae SAT HE = A OBE 15-1 as Google Android FR AIT 3H 19.2.3 fee ACae de 7z 1B AT BEE UL, BU BEAT LA Ha ER 8 4 FS APE ds SL PT, A AR FRSA TE Sr fi. WSO HUB A OW TF AE ARAB BBR APSR, SI SLR A OGRE, ure eA PUG. AG 28S, UAT REV TR, OCR. ea EP BR RRA AR ATL GPG BE HHL POR Yi ED BS ARI Fe TS SS RMR RAT J SHE VOBO HEE APL SEIN GRIN, FASE REEE. GG TR. BUNT SER ERED, PTA] SharePreference 3 (Fifi. X * SharePreference (FW BABY FATED 8 ROLLER UE Le SCHRAMM S.C MLR A APP [} eesnenaeem 15.3.1 i API Key Ha YOBO API MJ UE, BEAU YOBO LAURIN OTA EMD, AKER AS API Key AILSA API Secret, 47 FF TT AFL Chttpv//api.yobo.com), UEATEAR DTI, dF] 15-2 Pras. hi EH Yobo Web Servicis od 2815-2 anne CP 1S-2 FAAS AE aA FH FAL MeHUATTEL, HER IUSLA URL (Calback_url) P98 secret, JOR] Ms Sedona, (Cea Pa: // MRE AMS MIG ES 1/ SO2 EER public static String sig params (Hashtable params) | Vector zing> (params. keySet ()) Collect J/ Cleplay (sor! chtable String result = for (Enumeration © = y.elenento(); e-hasMoreBlements();) ( ng key = (String) ©.nextElement (); sget (key) "Key: + key + ";vali "4 vals Log. i("sig params", "result: + result); return result; ' Ye ARLE LUE EGET EMEGIL TTA, AH PORSOR EL. OFA APL 28-2 SR HERE I ARE Hh, lala PRITIEA—-A RALATV, MDS AUS CRIS LUE BEE public static String md5(Steing s) throws NoSuchAlgorithmException { System, out. printIn (Syatem. current TimeWillis ( MessageDigest m ~ MessageDigest.getinstance ("HDS moupdate(s.gotsytes(), 9, 2.lengthO |; String rdS str = new Bigintager(1, m.digest ()} costring(16)s Log-iCMDS*, mds return ma>_str: str); Google Android FRAIL AREER: YE + MessageDigest, #855 #11 AMF UNM MDS ff. Sb, iis BA pk ity $24 timestamp Ail nonce, FUVBLIT F Bias: long timestanp ~ System.curcentTimeMillis(); String nonco = YopoUtil.ma5 (String.valueOF |system current TimeMillis())+Preferencesttil.api_secret| Hashtablecstring, String> params ~ new Hashtable ()7 params.put (api_key", Preferencesttil.api key); Params.put ("nonce", once) ; Params.put ("tinestamp", String.valueOf (timestamp) ): Se AH: GALS OR, Ctimestamp) PLLA Ay (HLL ELM FL) System.currentTimeMillis()9ER, hi nonce 2 ARETE SLAB, PRAT A dR AAS APL (90) Capi_secret). Sia ¢e HH ‘MDS #84) Fo 2. BURRS ANE BG — Pte Android $01 CIA HTTP (4 Get AOR RA RAR, SNA LN Bias: ing sondcetRequest (String endpoint, jmestParameters) { idGetRaquest", endpoint) ; ult = null; aint starta@ith("htep://")) ( ced tty. Jf Saee te Stringgester daca = caw steingaurese()7 i) SRE ='ull 4& requestParameters.longth() > 0) ( quest Parameters; 2 ‘ion penConnection() ; 77 $9808 but terearead: Tnpu Fd = new BufferedReader (new InputStreamReader ( eam Q))3 5 = now StringBurter(); String lines while (Line = rd.readbine(}) != aul) f sb.append(1ine); tosteing |)? (Bxception e) | e-printStackTrace() i Log.1 ("sendGetRequest", result); return result; WR: [BRIG 707K sendGetRequest ¥ requestParameters #22ES1 endpoint (hb [:, JFARGER HA EL. 15S Android 8 fl X_—EAS A 3. SRR RBA TEAR, INABA. SBA OLR: (RA Roques Token BAM ML, Pattern p = Pattern.compile (regEx) ; Matcher m = pomatcher (xml); boolean rs = m.£ind if irs) ( System out .printin (MAMORU "4 mostart |) 6 "ROMER. + ncend{) SERB: 4S m.geoup())¢ return m.group(2); 1 URE EMR 270; paxToken FAL FRRINS XML Med 9fY token BULK. (BRATS 6 ix AA AMEN IH. 4. Sami RH FEAR OIE, BUI, APL BIRR AR, SRE ME 2 RIOT ae FOUN AE I+ 28 Android “Gea Sk REPS Py RUIN One, BUSTA LEARRUORLD RTS EER A Jr Meine Java ff) imputstream ii, 28 io FRA MA HEI 7S bitMap. bitMap 2 1] D4 8 Mele4> image View (HJ. FUN returnBitMap AHCI, RAT DLA. EHH URL FIRS Ee AHA BitMap, AURA Fig: public Sitmap returnfitMap(String uri) ( URL myfilevrl = null; Eitmap bitmap = null; myPileUrl = new URD(ur]); } catch (MalformedURLException ©) | o.printStackTeace (); snnection conn = (HttpURLConnection) myFilevrl tion t)? conn.setbolnput (teve) ; onnect ()7 ream is = conn.getinputstyeam(!; = BitmapFactory.decodest ream (is) ; return bitmap; ) (Cae RE: LARUE EAUILOSELH. VTL BitmapFactory.decodeStream()AiKAKIR—S Bitmap 1%, at TJLLFLBEE Android (IHF « 290 Google Android FAAS Sak 18.3.3 SEH Activity HARRIMAN ELTA! UT BERL, BRAWL I TE PBEM Activity ACE NEtK) MEAT. 1. E50 PTT BEA, FETT EAB Ye, 1 BEND SPURL RL, ALE ML, SPA “OFM” AL “AHH RH”, AE onCreate (SEM, (RAYuNF Bia: boverride poblul id enCreate(#undie savedinstancestate) ( perTitle (R.atring.ap , SAE: FIA FCHV LATA, AAT setContent View Sibi 4-47 I main (fj layout, HELL setTitle BE FRA, BRITE F mainaxml (1G. SU FB Aas 2E-aMe> tp: //schemas. android. com/apk/res/android™ android: layout width="£ill parent” [_parent"> Se CRE: a8 { CSA LinearLayout 456). Ska —(MARREERAI ie SF Th, ASPB BATT EINK (fe MC onCreateOptionsMenu, KILLUGLM FBT as oh Miseae i veing-menu_helps).satTcon | wable helps) .setAlphabecicshorteut ( Se ERE LCG, HESSEN, MENU_START @! MENU_HELP, S€atsingmrgny f7fdcdn Fs BAS # Andros 24 940 —$— 4 HR, ted(Menuttem item) { + Helps. cla: EAB AR OOF * BU MENU_START (MER, i oh Authclass 4/¥/ Activity: li NUH. MENU_HELP, Ill St 4s Helps. class A) AY Activity. FETA RAR LEI, AUT AAU ab FI PUT EI TO ESATA, TA ERP e, UL ph PRET INADA Tt, RRP 15-4 is 2. FA CE ae TE FRAT ASR BE FN aa fe AHERN” Feat Ny PEARL ATE AAFC override public yoid savedInatancestare) “TREAT” Bl POET”, IRTP AE Bl AW MAE REAL, WIE Taba. JE ELS My FBGA SCH helps java 164, Jt onCreate IDLH LN ERR: Title(yona: ibe mI RRRE USCA ALE 4-2, FW helps (4 layout, Jt du Fa: SFABREZE helps.xml PRS, AU "KF YoBO.Android:” Google Android FRAT SRA, wadt addin te CWE helps.xml 4a CPE ARH #6 TextView ALPE HDR ikas Me talDta Gh, FUE HESS ALICE A Bae, RHE BOR 15-5 as 3. APR Fin EOL” Hh, RAR BEAT TPL Ls ASE OF AL” UDR, IAN IRMA be SE AR, PRATER FPR ALP RAIS ME, BEATIN BE HEA) CF 1E YOBO Ff F% AA, BEA, Beal eT A AE IEA See. th RACAL Pe PHL, GeO Lipa Med: YOBO iH A eC ABR Rs TRA). HAL YORO It) APL TAS. FR{TT ANIL SEP BT ORILAL OAuth YATE, RIVET FPGA ae FL PUR AL Si, UALS RR, FRAY SM a 2s, BEAT aS ODUM. PPADS F onCreate Ji, Se BLAC HS an s@253 GEAe Dates a a FSi aR goverriac | public void onCreate [Bundle savedinstance’ APOE: 7E ASD, BUNTAT AEA, PSE TN] getSessionInPerence()4i 4 HEB, ROBE uinfo.xml Shas L2tFERLAI PME 1 ACRE ATR A LEAT RAM, FICE getSessionInPerence()IN SEAL, FLEA FP as PES, WROM AURAL BEAL, MH] showAlertDialog() fit PRECLA L acesstoke ( 292 BASH Android RGGI —§— se eK IR (UATE: LSE JE tT FH SharedPreferences "|! {249 ¢ ARAL: ONRYEE. J RANA AEE ALIN has AMR UAE, AAO FTAs te THI HEALEY session key, 209 BE FT MYA Be B aaheHe ;chAlgorithmException e) On Roaurl (get Token () ption #) { we (DOE: oo LAGS Hie, IAT AL, SB” HH > openWebBrowser() A ik41 Jt EAHA, HRM 15-6 Bias TF 15-64), JOSHUA, ULI CYEAT YOBO PON, WUE ARB" ASCOT ER SQM, AMAL PH R24 YOBO MWK. Say LEI “PEE” ORE CSIR. TRINAD DE. ASL REDO HRHLONIIN, det LAN, {i “EAR” HEU, HARA openWebBirowser(Tools getAuthorize Un(get Token()))iX S404, 2647 openWebBrowser(it)32HL, AASMIF Bias: uray: 2815-6 ArSiEtE Google Android FRAT SKA i.setbata (Uri.parse (url); startactivity(i); ) Ye ELMER: TGR ACESSEBEE A 4S Url Shik, eh —4P Activity, RAGE MAEVE, Ar R. Bit) +:8F Tools.getA uthorizeUri( get Token() 3X A) SIM, ANSP EE HE SP TIE AH, HEAT getAuthorizeUri() SEM, ARM RPT: | 1) RP Bebe ORL te static String gecAuthorizelicl (String token) ( | Intent i = new Intent (Intent .ACTION_VIEW); ing url encesitil.basetlr] + Preference + "Phoken=" + Loken? ) (taUHRE: FAP ATW THBP token 2, HMC INT API Key ASIN #4 BH Url Mit PEACH BEREHE. 1b} Preferencestnl Ps XT YOBO HEY FEREATG, I APL Key LAAT getToken(h Sl, FE BLE YORO API (KING, SER 41H) lal token, FE ALC Uh tokem AER Suh AAR —ABESG UF FUT token, AL HHA 4 BES AI a token HIRT access token, Z/AKHENL4 access token Vili MLAB. TOKE LA getTokent) RPE BE LAR —Y Tal token, HAE BEB A YOBO APL RY 2 SCINATRRE AACE AME, DL SER RR MORRHT. ABYar Fae: 17 BRI | private String | String token = Jer 4 | | 1. porizeurl foken() throng NoSuchAlgorithmexception { 7/1 Fie eR fem, currentTimeMillis() m5 (String. valueOf (System.curzent'TimeMi LLis()) pi_secret); String> params = ne Haghtablecstring, String> ()+ spi_koy", Preferonce@ltil.ap: key); hence); Params. put ("Limestamp", String. valueOf (timestarp) } | | 1) 2 SHAG ER Strang api_sig = Tools.nd5(Tools.sig params (params) + ProferencesUts1.opi_secest) 1 3RMapi_sig // params-put ("apl_sig™,api_sia) eb tel = Tools paramsToString(params) + "api_sig=" + api 1) 5 TREE, WE Request Token SR String vel_get = Freferencesvtil.baseUrl + Preferencesttil. tokentr1; Bog. ("url_get", vel_gett: String zesult ~' Tools. sondcetRequest (url get, parans_str): 17 6 RTBU AOL BETMAT, HE cequest Token BOB 001s .paxToken (result) BR-MEL eK Preferences settings = got: PreterencesUtil.preterencessett ing, erences ( BSH Android SS ALES RI settings edit () .putstring|Preferencestitil.token, token) .commit(); 1017 8 HA PR SEO URI, {/ url = FreferencesUtil-bascUrl + Preferencestitil-authori zettcL 17 + "2token=" + token; catch (leSuchAlgorithnException @) ( //-T0D0 Auto-generated catch block e.printStack?race (17 return token; BUSA NURI ECAR. PAG Ato BEN OK, GE APP timestamp, nonce LAA api_keys 28) YOBO API [*/WE¥0. 4)! Tools.sig_params (params) iffeaely. (HYMN KBE: 1) HBAS Bal THE Public static String sig params (Hashtablecstring, 7> params} ( VectoreString> v = new Vecter (params. keySet (0) Collections sort (v): // Display (sorted) hashtable, String result ~ ""; for (Enumerationcstring> o = y.elements(); ¢.hasMoreble: String key — (String) e.nextElement (7 String val = (String) params. get (key)? resule += keys result t= val; Log-i("sig params", “Key: 305) "+ key + "Val: "4 val sig params", "result:" + result); results Ye (CREE ABBE key AIF EEIFHEA. U..... J&PRAVI at, Ftilel ADP IGMUS AEH, REF TH ToolsmdS (Tools.sig_params (params) + PreferencesUtil.api_secret) EA. FUEL Dias 1/05 me public static String a5 (String s) throws NoSuchAlgorithmException | System. out .printIn (System-currentTLmemillis()}; Messagebigast m ~ MoesageDigest get Instance ("MDS") ; m.update (s.getBytes(), 0, s.length(]1; String md5 str = new Biginteger (1, m.digest (|| toString (16): Log-i ("D5*, md5_str) 2 if (md> strslength{) < 22) 4 nd3_str = "O".coneat (nd5_stx) 5 return ndS_strs } Ye MER: SINAC AT. ATEIOR. BAU Tools paramsToString VERANDA, (CLM KFA public static String pazamafostring Hashteble> parems) { Vector v = new Vectorsstzing? (paras keySeet) |? Collections. sort (vs 208 296 Google Android FRAT) SHAK elements(); e.hasMoreelements()2) | ement (07 et key): qparems", "Key: "+ key + "vali "+ valli: Logi ("sig_para ) Meesules” + result); (CURR: WAS, LMR ERR, kik EBM HTH Tools.sendGetRequest( url_get, params_str) MLB ROE FY url_get Wi |, Toth YOBO API HEAL APE UY token (HLH, AVE HTTP FR ALR MA FTE LES, ASAE, CURT A ACER E resul BRE, JR VU R ta EAP Tk Se I Be APE SAI token Mnf, UREN TAIT Bas: J/ WRF Request Token BEIM 10H, A Token Me public stati ing paxToken (String xml) { sprintln (EMER. "+ start |) + “ARATE” + mend() + m.group())7 return m.group(1!; ) (CER EBACE HRM DP BEL GEIB XML ASCO RE, EEUAT EA Token Hifi. AP TEP Le Np HLXML, A) ERUDORG Ab Ay es. AUS SINT token (FAKROR. iT BEA I, 1X1 EUR APE SharedPreferences 4, (% $i Pia: getSharedPrefacences ( exSetting, 0); (PreferencesUtii.token, token) commit 0s FRIED, KATA T UsTi token. HEAP IA 4 token [HAS YOBO API HMIAE GUM LTR BAL, aT A AAU onenWebBrowser() Ai. HEM MED 15-7 Bras. Wiel 15-7 fase AFP BRE UIE, Na SORE Be, BIAS ASEM TD af HE ff YOBO. b> ARR MUA MAT YOBO (ANG, MUIR: “ASAIN” PRU IInt ie, Met PEI. HARM GG 2oa PED GUM. FEWEST REG Ze SATE) LR TN, EAB CATO B15 3 Android £32536 4 $2 oo saa OR MOH 15-8 Bias. 22157 APR 2Bis8 MASH SVP 1-7 FBEBUHRPESE NUT, KLIN YL RS, BML TEE HI ee EUV al token Helle access token, FDL, RAMI BEIT TREY “SEMEN” AL ACRE BL, FCSN lol Bia oy ante tea GOverrice public boolean on¢reateoption: nu menu) { menu.add (0, NENU_DONE setreon ( sty :setIcon{ tary te (CRE: HARES IEP. be AE MT Bias: Intent intent = new Intent (); switch (item.getTtemIa()) | case MENU_DONE: try { Steing session = getsessioninPerence() : if (ses; v4 session = getsession (gerTokentnPerence(})s Updatedsertares (session) + } cateh (GeneralSecurityException e) // TORO Auto-generated catch block e-printStackTrace ()7 = (Tools. getAuthorizeUrl (get TokentaPerenice())): y, (CHER. ER CE. UUHE Y “SERCBAR” SEAL, AHS Hd ULAT getsession(getTokenInPerence()). AEN Jt PEA IAI UY; fH token HEIR access token, It getTokentnPerence( {i lal Kj: | {Ri srerodpretoronces HEBER UT acenstoken private String getTokenInPerence() ( 298 Google Android FHATTE A Log.i(TAG, "get'TokenInPerence SharedPreferences settlags naredPreferences ( PreterencesUtil.preterencesSetting, 0); String token = settings.getString(Preferencesvtil.token, "7 ir (token.equals("")) else return tokens , (CRUE: Be 4 TARR ii PTE, SharedPreferences 1) token Af, $&la (EH getSession()d YOBO API JIk9-288NR access token (Ff, HACE F Bras: 1 BRBP BRENDA, sossion public String getSession (String token) throws GeneralSecurityzxcept ion ( String session = ""; 1 AS BEBO long timestamp = System.currentTimeMillis() String nonce ~ Toole-md3 (String. valueO# (System.currentTimeMillis()) + PreferencesUtil,api_seczet); Washtable params - new Hashtable: params.put("api_key", PreferencesUtil-api key); params .put("nence", hence); Params.put ("timestamp", String.velueOf (timestamp) ); Params put ("token™, coken} ; 17 2. MBCRSE String api_sig = Tools.md$ (Tools. sig_parans (params) + ProforencesUtil.api_secret)+ 1) 4 REBT String params_str - Tools.paramsToString (params) + "api_sii 1) 5 ABR HR, BE Reques:Token felt String url_get = Proforoncosutil.baseUrl | Preferenceavt: Logi ("url get", url_get); String re Tools. sendGetRequest (url_get, params_str); 17 6. TRIN xD HATHA, BEI request Token WE session = Tools.paxsecslon|result!: Log. i(TAG, "seaaion=" + session); 117 RR RE ShazedPreferences settings = getsharedpreferences ( PreferencesUtil .preferencessetting, 0); settings edLt() -putstring(Preferencesutil. sexes return session; 1 Ye UAE: SUE BAM PORU HH token MA RLELG, LRAES RY POM, Lae (TRRARETUITH token (4, REALL Hop ARE RAIICRE access token (Aistbik F JKIIL access token, #5 Hi [HAVRE HEH! Tools.paxSession MHi— F, (ear F Mias: (1 RATER session HDR public static String paxSession(String xml) [ String regex = "cname>(.+2).*? (1 2)") Fattorn p= Pattern. compile (regex); Matcher m= p.matcher (xnl) 7 booloan rs = m.find(): if (rs) System ovt.printin ("HBR "+ m.scarc() + “HRQL, SUPRE I + m.groupl)): + apis sessiontrl: ) session) «commit () 7 v} mend) $815 B Android #3 $49 —_ FR m.group (2) hy ERE: JAH UG FE ORAM TPE NH, PRAY token (AL. FARR, RH SS ALTE WY WURCE yok. FTE IL FE, AGIA 4 seesion FF fii HE SharedPreferences 47 Ji sew T MAKER. 4%, MULIAN) updateUserinfos (session) i 4K LURAY MI A, Bed TARA, 4. AAPMSRRAE TOUTS AD PASI BRT LH AE READ PU AA To PRIMA A ML, AR seesion Ji 4FHA CE SharedPreferences 4}, Ll ja F\fy SEMt tt SharedPreferences Ht #4¢ 421% seesion WATT, WORF TE, BATFE seesion UEHUIPE IR AKU. ROTI MS RRR MEI, BATA TA BE FF updateUserinfos (session) iA], FL(HS UN Kira: 1 BRLBP OD MES public vold updateUsorrnfos (string sessian) | String url_get - PreferencesUtil.baseUrl + PreferencesUtil.user into; es lurl_get+"2id=a35856"); Tools. sendGoteequest (url_get, "id-825056") ; "eesult:" + result): ule) 'y domfac = Document SuilderFactory.newInstance (); cey | BecumentSuildes donbuilder = domfac.neKDocunentaui lder 0); InputStream is ~ new ByteArrayInputStream(result..getBytes ())s Document doc = dombullder.parse (is); Element root = doc.getDocumentElenent () + System.out.printIn (root .get Attributes () .getNameditem("status") getNodeValue()) NodeLast users ~ roct.getChildNodes 1) if (users = nll) { SharedPreferences settings ~ getsharedPreferences( PreterencesUtil.preferences3: Editor edit Phe) ( NT_NODE) F node != null; node ~ node getNextSibling ()) [ iF {node.gettlodeType () == Node. ELEMENT NODE) { String value = nede.getFirstcniza() “getNedevalue () + T.printin(node.getNedettame() + "2" nickname") { editor. putstring(Preferenceauta1nicknane, value); ) Af (node. ger jane () equalstgnoreCase( i editor Proferencesvtil.loved_singers, valuel: 300 Google Android FHA | 45 ke (node .getNodeName() .equ created date")) | Istgnorecase( editor putstringt Proferencesvtil.created date, value} ) if (node.getNodenane () sequalsfanoreCase("image")) | éditor-putstring (Preferencestitit.image, value); } Af (node. getNodename () .2¢ homepage”) ( editor.putString (PrefereacesUtil homepage, value); } Lstgnorecase( ) ) editor. commit ()+ rastorePrera(): catch (ParserconfigurationException e) | -printStackTrace()i catch (FileNot Founde: printStackTrace(); catch (SAXException ©) { eption ©) { "atch (lorxcopeion @) ( e.printstackteace()s ; ) ye AUR RE LA SHO AL, SEAR, TCU TRH SEARI: String result = Tools.sendGetRequest(url_getyifi 4y. HAH API IIMA, FCB (e1 9 Rete a oF 4on="1.0" encoding=rure-8"2> Icesk¥al beyond shomepage>http://iceskys|.1sters.com/ A#e /gondex> cereated date>20071007 sizo="small">http:// images. YOO. com/userimg/1122/0337278fdd9b375chS8c87e7b4 ah IBEd. 50. git http: // images .YORO.com/usering/1122/0337278 Fdd9b37ScASac27eTh4 838d, 20 O.gif darger "https //images . ¥080. com/userimg/1122/0337278 fdd9b3T4cB58c97e7b4a8389d.15 U.ait 15 Android £52 —$§$_z 8 AHR SOAR STM. GaP xe YOBO FETE BoxActivty 4:1 HI)" AS SH Hl fal, TRA AR. PAE OnCreate HACSEAL, HORE F Bias * called when the foverride public veld oncrea puper.onCreat = 302 Google Android HR AISI AL session = getSessionInPerence(); user = new User(session)? ListView itemlist ~ (ListView) findViewById(R. id. itemlist); ArrayAdapter adapter = new ArcayAdaptersBox> (this, android.R.layout.sinple list item 1, user.getAllBoxes (I); itemlist setAdapter [adapter) : itemlist.setOnItemClicktistener (this! ; itemlist.setselection (0); } Sy (CRF: A) EARS, HAL GIT getSessiontnPerence()iXIK iM RAEN scesion key. RR/FUH/H new User session) WMKifé 7 User SAE user, JLT Android HALT RIKEN IRA MDK. ike UES User (seesion) QUI, FACIE Userjava ), — FILMI, USM FBLA: public class User | public final String TAG = "User" private String nickname = au. private String created dat private String “homepagé = au: private String love sigers ~ nully private int boxes _count private int _staticns_c private List@Box> boxes private Liat ot ACO: PACE PT RUE NP User HEH), JULACIDABAE SE set, get AYSIR, LEHR. LAL AS ABW D. AUSHUS FE Box, HALAL AR ARIS, FOAM REID BB as: public class Box ( private String _id = null; private string private String private int itemcount = private List _itemlists ions_list+ public Box() 4 Ttemlige = new Veccorcasng (aps 7 ‘BRIERE: CRRA RI, AID. 25%. CUERATIH), i ANAL AFF ACK HA BLA FAT LAT BEATBURAL CaM, ESCA APL (UU Ria. ARRAY felt) APLBEL, JAI PHRBIPIE UD DOM Se, Bae APL IRA OPE, Ho lel (iets: box fhfLUCR 100 20081129 15K Android te AF ($e FAH + on Jat we (mH RE { Fi API Javaa $i fH Met ATU AUK F, 6. RMARAS eboaLt] XML Meat, EGER XML FRA Py ae > #1 DOM thé {RHE User java 'P. ia aR fri hb DE fare} AL PALS oy DLN + Ae) UE RR far ea HIP 4e YOBO. bab >) 2a re YOBO i LEAHY PMBILAT. 46 YOBO [di bib as ee, Suman 24 YOBO Mt) APL HLH, © fey HERD: RAIA PUN ren © Hi %: useristations. © Rey Get 303 Google Android FRAN SKA FU ibe Le BY Raa ACA OP Fis: 2 15:47:10 Urce/created tine> 22:46:11 UC om/artist/index/2304 tp: / www. YORO..com""> age>http: / www. YIBO.com/artist/index/2304 gerht tp: /fwww..¥080..com/album/index/14079 Paws. ¥080.com/song/index/83L8¢/trackpage> BCH RE HSAs BREE BNIEAY XSPF RCIA A. WASIEISL AY, CLES AT BLS SHURE DUTGEARHT XSPF BCI Cth. (ULAR SASSY, cH ACFE RIATOTDUUITIZE Android EAV@,, (AREA RIT. HAUL UE AT XSPP fC AARP TA Se RAL ee, CATTLE ALLELE YOBO APT dR TH a Ae FRR T ATK HT ZEAE Java DOM ARATE XML PE 3X ALE HY SAX KAA XSPF, FT CEMEUT XML TYR PE DOM IGE SAX, REHEAT SGP. PEA SAX AF Vi XML SOM. LEBER SHI BARA MI 12 Re, LRG T sit AN DefaultHandler IAA 2% (Parser), FPA ILM EAR BEN HOI TVA, IEA F Bae: public void parse() th SAXParserFacti InputStrean is URL url - new U1 xr.parse (new *S {CHUAE RE: FABLE MEI) URL SIRI, HEIR] XMLReader «19:14 parse WH. 9b startElement. endElement. characters JL 7 VANE THA}: XML. uaF 1 BORLA IN PHIM IR MET], HT LL/YOBO. Android/sre/us/imneviceskysl/xspf Fit Parserjava. SOBEL 4 PlayListActiviny 2K ibaa SNAE. "Cs PEE EDA IT 7S Activity HA INS Be SM Fe | // Beate sei tena private void revParams() | Intent starcingrntent ~ getiatent (1; if (startingIntent '= aull) { Bundle playlist = startingintent dread. antent.extra playlist"); ay ( = Google Android FAI SSCM BL HP type He rH a HA, MAT FB SE PPARHLTE PRN BEER type JsShUB (CRE parser,parse()i A219 /H AY MUI) XML WENT ERLIE XML LE, if parser-getPlaylist()AKICHE A MFI 2, ISLS ANI 15-13. Bias #214! YOBO API (FE BRIN. HAE, HE KM AA WA Es PAE AS LB, Fe dots kt XSRP AB SCH XML SOE AAT ATR APT, AA GR TP dy RB I aE fi, SEE A Hi 15.3.4 SCH Service DUT PG i BE HA Android "|" i 3.0 4f HE || WSU KD, eR ae AY iH ABR wt ENF Hh Me, AVABIS, (EIS BEE Gk HE, GY Service (Eli A HIACaB i, tH PS TUL BR A fe AS Ze HE HL. EAS LEER 10 Wf LR PRL Service (MLE AME NTI. SEMEL PIRI FICIENT 34 HU $# HEH] AIDL(Android Interface Definition Language) % Service fk11, XT AIDL ity n] bl 4% http://developer.android.com/guide/developing/tools/aidl.himl 1. ft ADL (1 iE its BS AIDE 4. SBR id, FT AE 1. #5 AIDL 3 CEI WANS AIDL Cth, 2 RAT MELL. KCAL Se Ra BAL HIB FU. FOP. MASEL RHR, BTL. ROM APSE ILIUE Ose U ATDL xf CYPRSInterface.aid!) {CHL F Rize: 806 15 -B Android 45-4 $6) $4 a IA void clearPlaylist(); void addSong?laylist| in String song } void playFile( in int position ); void pause ()+ void stop): void skiprorward() void skipBack() ) ARUN RE: Se) AMIE eR I. 2. TMBOAR Hi 2 OFA BERIEEL a, AIDL EMR 4 ate AIDL SCP PMILEY YPRSInterface java Xft, Vet Ay PEAS TG EEL, eA: Service 324M YPRService,java Sf, FL KY WA CEM Fae: private final YPRSInterface.Stub mBinder - new YPRSInterface.Stub\) | 1 EA Public void playfile(int position) throws DeadobjectException | hog.i ("playFile:", Integer. toString (position) ): cry { currentFosition = positions playSong (songs.get (position))+ } catch (IndexoucatBoundsexception e) | Log.e{getString(#.string.app_name), e.getMessage (1); BILE Aria, FP ALTAR RACs, HS I UR A AE, HR. PF 11 a public void addSongPlaylist (String song) throws DeadObjectException ( songs add (song) ; (Ra IT public vold clearPlaylist |) throws Desdobjectexception | ear(); Ue public void skipfack() throws DeadObjectException ( prevaong() 1 ee public void skipForward() throws Dead0pjectException | nextsong 0): , a public void pause () throws DeadObjectException ( Notification notification = new Notification (); pm.notify(NOTIFY_1D, notdtication] ; mpe-pause (17 , 1b public void stop() throws DeadObjectBxception { pm.cancel (NOTIFY 10) mpe.stop()+ } %e (eae fe Ay 308 Google Android FRAT SRAR ti, CNEL ABT TY . PIGEA ILD RE TTEARN F Bas: void playSong(steing file) { Filey: log. i ("playSong try = new Notification() ‘ompletionbistener (new OnCompletiontistener(} [ d onCompletion MediaPlayer =xg0) ( , Uke Private void prevsong() | Lf (mpr-getCurrentPosition() © 3000 && curzentPosition >= 1) | playSonj (songs. get (current Position) }7 Feiss | pLaySong (songs .get (eo 1 seaxmantereny ys ' UEP [ACB SER TAA CAR AD A BEE, IAL Jr Uf A # /YOBO.Android/sre/uslimneviveskysl Service/YPRService java <1}. 3. HOMER Eee HOO IASC 7. RUT TE RE ITEM, EMI, EATON TC peat 44: PlayListActivity & onCreate AVE) Ai HEA BMT UY Service, MIRA CHUM Fiz: | -bindService (new Intent (PlayListActivity lass), méonnection, Contest. BIND_AUTO CREATE) + Se (CELOPRE: AENTANIMIBSIR, HG Activity ilfict ServiceConnection 'F Service HbA. JL mConneetion isis LALA FHF a: © ServiceConnection mConnection = new Serviceconnection |) { © void onServiceConnected |ComponentName className, [Binder Service) { B15 8 Android ALI —Ees Rew npIntertace ~ YPRSInterface, Stub.asinterface((IBinder) Service): | eee | public d onserviceDisconnected (ComponentName className) { ] hpintertace © nulls > SS (URORRE: Bal FACE SEI FACS AUT EIN OR IE, IC HE INT OR MITA fC) ACMA) A A:, IE LARS} updateSongList IRA, FLSA RES Bias: eh AR ae void updategonghist |) { tey f mpInterface.clearPlaylist (0+ ck ? playlist.gertracks 0) [ ack .qotTitlo()+ a ist (track. gethocat ian |))+ Location ()); itemlist ~ (ulstviex) findViewByid(R. id. ArrayAdapter adapter ~ sew ArrayAdapter (this, J.R.layout-simple list item 2, pla pter) astener (this)? (Os } catch (Remotetxception =) ( Loge (get String (R.strind.app_name), o.getMessage())s Ye TOWER: Lag CRSLEAR ADT, FLERE LARSEN MN ALES A YPRSInterface Hs, ell AS HE Phe PESEINAEA P A UAE SRLAE M.ED Fake Qoverride public void onitomClick(AdapterView arg0, View argl, int position, long arg?) | Log. i (Tontlstrtemclick:", integer.to: try ( ring {pesition)); J catch (Remotezxception 0} | Log. e(getString (R.string.app_name), ©.getNessage (1)s LER: a Ak ee 2 SCI SCP RCE, RR BEG AS ACE, fll, AE", “PPL” SECURE, SAI SEIN, LEAL ann treo F Bia: 1) Mtb eB eoverride public boolean ontreate¢pt ionsMenu (Menu menu) 309 Google Android FAI) 5 3k SecAlphabet i SIR UES es 5 Pe] i ae SS Pe LDS EELS aie ad BA SCI An EA TES tl) eR FA 15-14 Seas 215-14 sae 16.3.5 aH ee {ERMA YOBO APL SEB T Cee Pe HERS, See TRE. PIR BRUT AME CUR each PU AAS, CER SRE. (LAE #2M YOBO API AUA-#H, WITT EMS CAEN. Gill. URE EA. MCE em) A SCRA: RANI RN. EASTMAN, OFAC RL, ONAL RTT RRS — AR SDI AE, Bets ye Wa A Bf I ACT A HL RT AE [) stensesamn PTAA SIGS 9c ir. SBE Ce BUSY WR ae aM ol RAL, A Ae De BURAK TR MADE (ASH Ar. CAC A idk 2 {AAD REIL Android (1) #8 TR HA EEL SE ie aR ATT EP RP [ES] -eecGmeMmnne, eae aS TCMRINI I Re LOHR ITO. ME RR A, EATER 4 EL » ROWPLACRE, HORE IFLRs AFSL SAE BAY apke SCP EL, MPH 15-15 Bias ‘Japk SCAT 4, Wnk 15-16 Was SEM. REAP LL [fel] Android Market | Ae4i f°. Sa1P 15-17 Bras RT AEF YORO API I AAAS. Hb AGdE Android iit Web AERA CLT FE, SEB CE BIS EERE HALA EOD, APT 9%) LEEW Pe aH RG RE RMT Be Te Service fi M%, LERRES C8 Hii AS

You might also like