day04 네트워크 프로그래밍 (1)
5381 단어 네트워크 프로그래밍
네트워크 이미지 뷰어
URL url = new URL(address);
// ,
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
// ,
conn.setRequestMethod("GET");
// , get
//conn.connect();
// , ,200
conn.getResponseCode();
//
InputStream is = conn.getInputStream();
// ,
Bitmap bm = BitmapFactory.decodeStream(is);
ImageView iv = (ImageView) findViewById(R.id.iv);
iv.setImageBitmap(bm);
주 스레드는 막힐 수 없습니다
주 라인만 ui를 리셋할 수 있습니다
//
Handler handler = new Handler(){
// looper, , , ,
public void handleMessage(android.os.Message msg) {
}
};
//
Message msg = new Message();
// obj ,
msg.obj = bm;
//what , ,
msg.what = 1;
//
handler.sendMessage(msg);
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
// 1,
case 1:
ImageView iv = (ImageView) findViewById(R.id.iv);
Bitmap bm = (Bitmap) msg.obj;
iv.setImageBitmap(bm);
break;
case 2:
Toast.makeText(MainActivity.this, " ", 0).show();
break;
}
}
캐시 이미지 추가 기능
//1.
InputStream is = conn.getInputStream();
//2. ,
FileOutputStream fos = new FileOutputStream(file);
byte[] b = new byte[1024];
int len = 0;
while((len = is.read(b)) != -1){
fos.write(b, 0, len);
}
Bitmap bm = BitmapFactory.decodeFile(file.getAbsolutePath());
소스 코드를 가져오는 사이트
<com.loopj.android.image.SmartImageView/>
SmartImageView siv = (SmartImageView) findViewById(R.id.siv);
siv.setImageUrl("http://192.168.1.102:8080/dd.jpg");
Html 소스 뷰어
URL url = new URL(path);
//
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
// ,
if(conn.getResponseCode() == 200){
}
byte[] b = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((len = is.read(b)) != -1){
//
bos.write(b, 0, len);
}
//
// utf-8
text = new String(bos.toByteArray());
무분별한 처리
//
text = new String(bos.toByteArray(), "gb2312");
데이터 제출
GET 방식으로 데이터 전송
final String path = "http://192.168.1.104/Web/servlet/CheckLogin?name=" + name + "&pass=" + pass;
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setReadTimeout(5000);
conn.setConnectTimeout(5000);
if(conn.getResponseCode() == 200){
}
String path = "http://192.168.1.104/Web/servlet/CheckLogin?name=" + URLEncoder.encode(name) + "&pass=" + pass;
POST 방식으로 데이터 전송
// post
String data = "name=" + URLEncoder.encode(name) + "&pass=" + pass;
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", data.length() + "");
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
os.write(data.getBytes());
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 네트워크 프로그래밍 기본 자습서의 Socket 시작 사례우리가 자바에서 TCP/IP를 사용하여 네트워크를 통해 서버에 연결하려면 자바를 만들어야 합니다.net.Socket 객체를 서버에 연결합니다.Java NIO를 사용하려는 경우 Java NIO의 SocketChanne...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.