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

안드로이드 UUID를 이용한 스마트폰(기기) 식별코드 사용

0 추천
UUID를 스마트폰(기기) 식별코드로 사용하려고 합니다.

1. HttpURLConnection에서 아래처럼 보내면 되는 것인지 궁금합니다.

boundary = "------" + UUID.randomUUID().toString() + "------";

httpConn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
        outputStream = httpConn.getOutputStream();
        writer = new PrintWriter(new OutputStreamWriter(outputStream, charset), true);

 

2. 아니면 UUID를 쿠키나 세션으로 연결해야 하는지요?
앱이라네 (200 포인트) 님이 2019년 1월 21일 질문

1개의 답변

0 추천

서버와 합의 볼 사항이긴한데, 1번 방식으로 보내면 서버에서  귀찮아 할 겁니다. boundaray 에 있는 값은 http 전송 시에만 사용하는 값이라. 일반적인 http read 함수로는 제거된 상태로 read 되거든요..

2번 방식으로 하려면 세션 관리가 들어가야 하니. 복잡할듯 하고요.. 

가급적 Header에 넣어 보내시는게 좋을 듯 합니다.

PS. 현재 코드는 http multipart 전송을 위해 유니크한 값을 boundaray에 넣은 것일 뿐 

해당 기기라는 것을 알 방법이 없으며, 랜덤 생성이라. 보낼 때 마다 변경될텐데. 의도 하시는게 맞는지 모르겠습니다. 

값을 유지하고자 하시면 SharedPreference 같은데, 저장을 해서, 저장된 값이 있으면, 저장된 값, 없으면 UUID.randomUUID 값을 사용하고, SharedPreference 저장을 하는 방식으로 구현 하셔야 할 듯 합니다.

익명사용자 님이 2019년 1월 21일 답변
2019년 1월 21일 수정
도움말씀 고맙습니다. 환경변수 SharedPreference로 저장하는 방법은 알고있는데 header에 UUID값을 넣는 방법을 모르겠습니다.

제 기본실력이 아직 설렁설렁 해서 하루종일 검색해 보았는데도 아직 방법을 찾지 못했습니다.

HttpURLConnection에서 header에 UUID를 넣으려면 어떻게 해야 되는지요?
setRequestProperty 를 사용하시면 됩니다.

https://developer.android.com/reference/java/net/URLConnection.html#setRequestProperty(java.lang.String,%20java.lang.String)

name 값은 서버쪽과 적당히 합의를 보시면 되구요..

 name을 "UUID" 로 정한다면, 아래와 같은 걸 connect 호출 전 호출 해 주시면 됩니다.
    urlConnection.setRequestProperty("UUID", uuid);
정말 감사합니다. ^^
...