Membangun Koneksi PHP MySQL dengan Android 2/23/2013 02:47:00 PM Android Android,, Networking Networking,, Tutorial 13 comments
alam !e"elo#er, kali ini kita akan mem$a%as tentang $agaimana $aga imana mem$angun koneksi antara P&P M'(l dengan a#likasi 'ang kita $uat di #lat)orm Android* +oneksi 'ang akan kita $angun ini menggunakan -N* .ntuk le$i% elasn'a mengenai a#a itu -N $isa di$uka #ada link $erikut* .ntuk #ersia#an, tool tool 'ang kita $utu%kan adala% 1* A#ac%e e$ e$ er"er dan m'( $isa #ake AMPP download disini AMPP 2* 5cli#se dan Android !+ "ersi 'ang sa'a gunakan disini ada 2*3*3 6ingger$eard 3* Note#ad atau !reamwea"er tersera% mau #ake 'ang mana untuk edit )ile P&P 4* +o#i/usu roti $akar
88 ai$ ai$ ni% meski cuman singkat tutorialn'a
Bagian 1 Buat Project Baru pada android etela% mem$uat #roect $aru $uat class $aru $ernama -NParser*a"a9disini -NParser*a"a9disini sa'a menggunakan #ackage dan main class sa'a sendiri, so ika anda co#as #er%atikan %al terse$ut -+* JSOParser!ja"a
#ackage com*ee#is*android; im#ort a"a*io*
-5?ce#tion; im#ort a"a*io*>n#uttream;
im#ort a"a*io*>n#uttream=eader; im#ort a"a*io*.nsu##orted5ncoding5?ce#tion; im#ort a"a*util*ist; im#ort org*a#ac%e*%tt#*&tt#5ntit'; im#ort org*a#ac%e*%tt#*&tt#=es#onse; im#ort org*a#ac%e*%tt#*Name@ org*a#ac%e*%tt#*Name@aluePair; aluePair; im#ort org*a#ac%e*%tt#*client*lientProtocol5?ce#tion; im#ort org*a#ac%e*%tt#*client*entit'* org*a#ac%e*%tt#*client*entit'*.rl5ncodedBorm5ntit'; .rl5ncodedBorm5ntit'; im#ort org*a#ac%e*%tt#*client*met%ods*&tt#Post; im#ort org*a#ac%e*%tt#*im#l*client*!e)ault&tt#lient; im#ort org*son*-N5?ce#tion; im#ort org*son*-N-$ect; im#ort android*util*og; #u$lic class -NParser C static >n#uttream is D null; static -N-$ect -$ D null; static tring son D EE; // constructor #u$lic -NParser9 C F #u$lic -N-$ect get-Nist)rom.=9tring get-Nist)rom.=9tring url,istGName@aluePair url,istGName@aluePair #aramsC
//initialiHe >n#uttream is D null; tring result D EE; -N-$ect Arra' D null;
//%tt# #ost tr'C !e)ault&tt#lient %tt#client D new !e)ault&tt#lient9; &tt#Post %tt##ost D new &tt#Post9url; %tt##ost*set5ntit'9new .rl5ncodedBorm5ntit'9#arams; &tt#=es#onse res#onse D %tt#client*e?ecute9%tt##ost; &tt#5ntit' entit' D res#onse*get5ntit'9;
is D entit'*getontent9; entit'*getontent9; Fcatc%95?ce#tion eC og*e9ElogItagE, E5rror in %tt# connection Ee*totring9; F //con"ert res#onse to string tr'C n#uttream=eader9is,Eiso8JJKL81E,J; tring
&tt#=es#onse %tt#=es#onse D %tt#lient*e?ecute9%tt#Post; &tt#5ntit' %tt#5ntit' D %tt#=es#onse*get5ntit'9; is D %tt#5ntit'*getontent9; %tt#5ntit'*getontent9; F catc% 9.nsu##orted5ncoding5?ce#tion e C e*#rinttackTrace9; F catc% 9lientProtocol5?ce#tion e C e*#rinttackTrace9; F catc% 9>-5?ce#tion e C e*#rinttackTrace9; F tr' C n#uttream=eader9 is, Eiso8JJKL81E, J; tring
url,istGName@aluePair url,istGName@aluePair #aramsC //%tt# #ost tr'C !e)ault&tt#lient %tt#client D new !e)ault&tt#lient9; &tt#Post %tt##ost D new &tt#Post9url; %tt##ost*set5ntit'9new .rl5ncodedBorm5ntit'9#arams; %tt#client*e?ecute9%tt##ost; Fcatc%95?ce#tion eC og*e9ElogItagE, E5rror in %tt# connection Ee*totring9; F F F
#onnectPHPMySQLActi"ity!ja"a
#ackage com*ee#is*android; im#ort a"a*util*Arra'ist; im#ort a"a*util*ist; im#ort org*a#ac%e*%tt#*Name@ org*a#ac%e*%tt#*Name@aluePair; aluePair; im#ort org*a#ac%e*%tt#*message*
#ri"ate static tring er"er.= D E%tt#://10*0*2*2/tes/E; /alamat lokasi )ile untuk menangka#/mengirim -N #ri"ate static tring #esanItag D E#esanE; Te?t@iew makanan,minuman; nstancetate C su#er*onreate9sa"ed>nstancetate; setontent@iew9=*la'out*main; //!eklarasi -$ect di M a'out makananD9Te?t@i makananD9Te?t@iew)ind@i ew)ind@iew<'>d9=*id*t?t1; ew<'>d9=*id*t?t1; minumanD9Te?t@iew)ind@iew<'>d9=*id*t?t2; li%atD9d9=*id*$tn1; li%at*set-nlickistener9t%is; #esanD95ditTe?t)ind@i #esanD95ditTe?t)ind@iew<'>d9=*id*edit1; ew<'>d9=*id*edit1; F -"erride #u$lic "oid onlick9@iew onlick9@iew " C //Memanggil class -NParser sonParser D new -NParser9; istGName@aluePair istGName@aluePair #arams D new Arra'istGName@aluePair9; #arams*add9new
main!$m%
/
GQ?ml "ersionDE1*0E encodingDEut)8JEQ Gineara'out ?mlns:androidDE%tt#://sc%emas*android*com/a#k/res/android ?mlns:androidDE%tt#://sc%emas*android*com/a#k/res/android E android:la'outIwidt%DE)illI#arentE android:la'outI%eig%tDE)illI#arentE android:orientationDE"erticalE android:#addingDE10d#E GTe?t@iew android:la'outIwidt%DE)illI#arentE android:la'outI%eig%tDEwra#IcontentE android:te?tDEPili%an MenuE android:la'outImarginTo#DE10d#E android:te?tiHeDE2Kd#E / G5ditTe?t android:idDEid/edit1E android:la'outIwidt%DE)illI#arentE android:la'outI%eig%tDEwra#IcontentE android:%intDE>si antara 18KE / G
AndroidMani&est!$m%
GQ?ml "ersionDE1*0E encodingDEut)8JEQ Gmani)est ?mlns:androidDE%tt#://sc%emas*android*com/a#k/res/android ?mlns:androidDE%tt#://sc%emas*android*com/a#k/res/android E #ackageDEcom*ee#is*androidE android:"ersionodeDE1E android:"ersionNameDE1*0E Guses8sdk android:mindk@ersionDE10E android:mindk@ersionDE10E / Ga##lication android:iconDEdrawa$le/icIlaunc%erE android:la$elDEstring/a##InameE Gacti"it' android:la$elDEstring/a##InameE android:nameDE*onnectP&PM'(Acti"it'E Gintent8)ilter Gaction android:nameDEandroid*intent*action*MA>NE / Gcategor' android:nameDEandroid*intent*categor'*A.N&5=E android:nameDEandroid*intent*categor'* A.N&5=E / G/intent8)ilter G/acti"it' G/a##lication Guses8#ermission android:nameDEandroid*#ermission*>NT5=N5TE / G/mani)est
Bagian ' Buat AP( yang meng)and%e re*uest dari Android Pada ser"er side kita mem$uat AP> 'ang menangka# &tt#8Post 'ang kita kirim "ia android dan mengem$alikann'a ke kita dalam $entuk -N SQL &i%e
=5AT5 TA<5 >B N-T 5>T R#esananR 9 RidR int92 N-T N. A.T-I>N=5M5NT, RmakananR "arc%ar91K N-T N., RminumanR "arc%ar91K N-T N., P=>MA=S +5S 9RidR 5N6>N5DM'>AM 5N6>N5D M'>AM !5BA.T &A=5TDlatin1 &A=5T Dlatin1
A.T-I>N=5M5NTD4 ; >N5=T >NT>NT- R#esananR 9RidR, RmakananR, RminumanR @A.5 91, nasi goreng, milks%ake, 92, nasi cam#ur, es eruk, 93, marta$ak, us al#ukat;
inde$!p)p
GQ#%# /UU Bile ini untuk meng%andle AP> =eOuest %asiln'a di encoda dalam $entuk -N /UU U c%eck )or P-T reOuest U/ i) 9isset9VIP-TWtagX YY VIP-TWtagX D C // Tag Vtag D VIP-TWtagX; // !ata$ase &andler reOuireIonce include/!
else C ec%o E>n"alid =eOuestE; F F else C ec%o EAccess !eniedE; F Q
con&ig!p)p
GQ#%# /UU U !ata$ase con)ig "aria$les U/ de)ine9E!
+B,#onnect!p)p
GQ#%# class !
reOuireIonce include/con)ig*#%#; // connecting to m'sOl Vcon D m'sOlIconnect9!
+B,-unction!p)p
GQ#%# class !
#u$lic )unction get!ata9Vid C VresultDm'sOlIOuer'9E55T U B=-M #esanan &5=5 idDVidE; VresultDm'sOlI)etc%Iassoc9Vresult; i) 9Vresult D null C return Vresult; F elseC return )alse; F F F Q
Bagian . Hasi% running ap%ikasi -i%e JSO yang dikirim ke android berbentuk
CEidE:E2E,EmakananE:Enasi cam#urE,EminumanE:Ees erukE,EsuccessE:1F Hasi% tampi%an pada ap%ikasi