Android Http 프로 토 콜 액세스 네트워크 인 스 턴 스(3 가지)
Android 에서 http 연결 은 주로 네트워크 데 이 터 를 얻 기 위해 현재 알 고 있 는 세 가지 방법 이 있 습 니 다.
Httpconnection―본인 상용
네트워크 연결 은 시간 이 걸 려 서 UI 스 레 드 에서 작업 할 수 없 기 때문에 Handler 를 통 해 하위 스 레 드 에서 얻 은 데 이 터 를 가 져 옵 니 다.
Handler mhandler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//
}
};
UI 스 레 드 에서 Http 방법 류 를 어떻게 호출 하 는 지(오래 전에 다 듬 었 습 니 다):
new JsonText(mhandler);
돌아 오 는 유형 은 모두 String 입 니 다.여 기 는 한 종류 에 직접 쓰 면 편리 합 니 다.
public class JsonTest {
Handler handler;
public JsonTest(Handler handler) {
this.handler = handler;
thread.start();
}
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
Message msg=new Message();
try{
InputStream in=null;
HttpURLConnection connection=null;
URL url=new URL("http://guolin.tech/api/china");
connection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");// , , GET
connection.setConnectTimeout(5000);//
in=connection.getInputStream();
msg.arg1=0x01;
msg.obj=in.toString();
handler.sendMessage(msg);
}catch (Exception e){
e.printStackTrace();
msg.arg1=0x02;
handler.sendMessage(msg);
}finally {
connection.disconnect();
}
}
});
}
코드 가 복잡 하지 않 으 면 군말 하지 않 겠 습 니 다.다음 에 다른 몇 가 지 를 말씀 드 리 겠 습 니 다.thread:
sleep()와 wait()는 어떤 차이 가 있 느 냐 는 질문 을 자주 듣는다.sleep()방법 은 thread 클래스 에서 나 오고 wait()는 object 클래스 에서 나 옵 니 다.그 다음으로 sleep()방법 을 호출 할 때 시스템 자원 을 양보 하지 않 고 wait()는 시스템 자원 의 다른 스 레 드 가 CPU 를 사용 할 수 있 도록 합 니 다.마지막 으로 sleep(milliseconds)는 수면 시간 을 지정 해 야 합 니 다.시간 이 되면 자동 으로 깨 어 납 니 다.
http(하이퍼텍스트 전송 프로 토 콜),https(하이퍼텍스트 전송 프로 토 콜 보안 버 전)
TCP/IP 와 UPD 에 대하 여:
TCP/IP 는 UDP 보다 안정 적 이지 만 느 립 니 다.세 번 의 핸드 폰 시스템 이 있 기 때 문 입 니 다.
세 번 의 악수 에 대하 여:
인터넷 에 서 는 호스트 가 먼저 서버 에 물 어 보 는 것 이 라 고 설명 하 는 설명 이 많 습 니 다.제 가 데 이 터 를 보 내 도 되 겠 습 니까?서버 가 대답 합 니 다.됐 습 니 다.호스트 가 말 하고 있 습 니 다.그럼 보 내 겠 습 니 다.구체 적 인 내용 은 나중에 상세 하 게 이해 하고 먼저 그림 을 그린다.
OKHTTP
책 은 Httpconnection 대신 뛰어난 네트워크 통신 라 이브 러 리 를 사용 할 수 있다 고 설명 했다.잘 났 다 고 하면 쓸 게.
의존 도 추가:
dependencies {
compile 'com.squareup.okhttp3:okhttp:3.4.1'
}
쓰다
OkHttpClient client =new OkHttpClient();
//
Request request =new Request.Builder().build();
url()을 통 해 네트워크 에 접근:
Request request =new Request.Builder().url("www.baidu.com").build();
이후 newCall()방법 으로 call 대상 을 만 들 고 excute()방법 으로 요청 을 보 내 고 서버 데 이 터 를 가 져 옵 니 다.
Response response=client.newCall(request).excute();
String str=response..body().toString();//
상술 한 두 가지 방법 을 말 해 보 세 요.모두 get 만 말 했 고 post(데이터 제출)가 없 었 습 니 다.게 으 르 기 때 문 입 니 다.나중에 다시 이야기 하 겠 습 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.