마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

파라미터를 묶어서 보낼 수 있는 방법이 있을까요?

0 추천

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=

marimari (520 포인트) 님이 2015년 11월 3일 질문
marimari님이 2015년 11월 3일 수정

1개의 답변

0 추천
ArrayList<NameValuePair> p = new ArrayList<NameValuePair>();

p.add(new BasicNameValuePair("key", "value"));

이런식으로 보내시면 될듯하네요.,
이퀵퀵 (400 포인트) 님이 2015년 11월 4일 답변
...