AsyncTask에서 추출한 adid(구글광고아이디)값과 ipAddress(ip주소)값을 onT2(adid, ipAddress, "")로,
Handler에서 json으로 파싱한 세 개의 파라미터(userid, ad_no, ecloud)를 Base64로 인코딩한 ud값도 onT2("","",ud)로 보내면 아래와 같이 파라미터를 분리해서 url이 찍힙니다.
파라미터를 묶어서 보낼 수 있는 방법이 있을까요?
AsyncTask에서 추출한 adid값과 ipAddress값을 불러왔을 때 Json파싱값이 있으면 한꺼번에 url을 보내고, 파싱값이 없을때는 adid값과 ipAddress값이 있으니까 파싱값이 불러와졌을때에만 url에 파라미터를 보내려면 어떻게 해야 하는가요?
감사합니당~
public class EclCPAPost extends AsyncTask<String, Void, HttpResponse>{
private Context ctx;
public EclCPAPost(Context context) {
this.ctx = context;
}
@Override
protected HttpResponse doInBackground(String... params) {
Info adInfo = null;
try {
adInfo = AdvertisingIdClient.getAdvertisingIdInfo(ctx);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
String adid = adInfo.getId();
Log.d("BP", adid); // 여기서 광고ID를 추출 할 수 있습니다.
WifiManager wm = (WifiManager) getSystemService(WIFI_SERVICE);
DhcpInfo dhcpInfo = wm.getDhcpInfo() ;
int serverIp = dhcpInfo.gateway;
final String ipAddress = String.format(
"%d.%d.%d.%d",
(serverIp & 0xff),
(serverIp >> 8 & 0xff),
(serverIp >> 16 & 0xff),
(serverIp >> 24 & 0xff));
Log.d("IP", ipAddress);
new Thread() {
final String adid = "";
final String ipAddress = "";
Message msg = Message.obtain(buiHandler, new Runnable(){
public void run() {
processing_Data2(adid, ipAddress,"");
Log.e("", "processing_Data2"+ line2);
}
});
}.start();
onT2(adid, ipAddress, "");
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@SuppressLint("HandlerLeak")
private Handler buiHandler = new Handler() {
@SuppressLint("HandlerLeak")
public void handleMessage(Message msg) {
try {
JSONObject json = new JSONObject(page);
JSONArray jArr = json.getJSONArray("items");
for (int i=0; i<jArr.length(); i++) {
json = jArr.getJSONObject(i);
int keyno = Integer.parseInt(json.getString("keyno"));
String str = String.valueOf(keyno);
String keyvalue = json.getString("keyvalue");
String packagename = json.getString("packagename");
final String userid = json.getString("userid");
final String ad_no = json.getString("ad_no");
final String ecloud = json.getString("ecloud");
final String ud = Base64.encodeToString((userid + "&ad_no=" + ad_no + "&ecloud=" + ecloud).getBytes(),0);
Log.d("ud1", ud);
onT2("","",ud);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
url = new URL("http://www.appang.kr/nas/api/join.json.asp?" + "os=" + os + "&ap=" + ap + "&a=" + a +"&ua=" + adid + "&ud=" + ud + "&ajip=" + ipAddress);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
로그값
11-02 21:08:13.095: D/F1(19144): http://www.appang.kr/nas/api/join.json.asp?os=a&ap=392f39a9837d7e0491da58443e5ebc0f&a=9beaf6edab0a1a61a19ab80834bcfdc0&ua=a2fcc4f9-5755-4ba9-a226-a7c414809c0d&ud=&ajip=192.168.0.1
11-02 21:08:13.095: D/F2(19144): http://www.appang.kr/nas/api/join.json.asp?os=a&ap=392f39a9837d7e0491da58443e5ebc0f&a=9beaf6edab0a1a61a19ab80834bcfdc0&ua=a2fcc4f9-5755-4ba9-a226-a7c414809c0d&ud=&ajip=192.168.0.1
11-02 21:08:13.245: D/F1(19144): http://www.appang.kr/nas/api/join.json.asp?os=a&ap=392f39a9837d7e0491da58443e5ebc0f&a=9beaf6edab0a1a61a19ab80834bcfdc0&ua=&ud=bGltcGlkb24mYWRfbm89NTUxMTgmZWNsb3VkPTIwNzU1ODUw
11-02 21:08:13.245: D/F1(19144): &ajip=
11-02 21:08:13.245: D/F2(19144): http://www.appang.kr/nas/api/join.json.asp?os=a&ap=392f39a9837d7e0491da58443e5ebc0f&a=9beaf6edab0a1a61a19ab80834bcfdc0&ua=&ud=bGltcGlkb24mYWRfbm89NTUxMTgmZWNsb3VkPTIwNzU1ODUw
11-02 21:08:13.245: D/F2(19144): &ajip=