Network & Internet - 안드로이드 기기의 네트워크 상태 조회

CODEDRAGON Development/Android

반응형

   

안드로이드 기기의 네트워크 상태 조회

 

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

//WIFI 상태 확인

NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

boolean isWifiAvail = ni.isAvailable();

boolean isWifiConn = ni.isConnected();

//3G 상태 확인

ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

boolean isMobileAvail = ni.isAvailable();

boolean isMobileConn = ni.isConnected();

 

안드로이드 응용프로그램이 네트워크 상태를 조회하려면 권한이 필요합니다.

AndroidManifest.xml 에 권한 추가

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 

   

 

 

웹에서 자료 읽기1

 

import java.io.InputStream;

import java.net.URL;

….

StringBuffer sb=new StringBuffer();

TextView textView;

 

textView = (TextView)findViewById(R.id.text);

 

try {

long start = System.currentTimeMillis();

URL text = new URL("http://www.naver.com/index.html");

 

InputStream isText =text.openStream();

br= new BufferedReader(new InputStreamReader(isText));

String str=null;

while((str=br.readLine()) != null){

sb.append(str+ "\n");

}

textView.setText(sb.toString());

 

isText.close();

} catch (Exception e) {

Log.e("Net", "Error in network call", e);

} }

 

안드로이드 응용프로그램이 네트워크 기능을 사용하려면 권한이 필요합니다.

AndroidManifest.xml 에 권한 추가

<uses-permission android:name="android.permission.INTERNET" />

 

   

 

웹에서 자료 읽기2

 

public InputStream getInputStreamFromUrl(String url){

InputStream contentStream=null;

try{

HttpClient httpclient=new DefaultHttpClient();

HttpResponse response=httpclient.execute(new HttpGet(url));

contentStream= response.getEntity().getContent();

}catch(Exception e){}

return contentStream;

}

 

public String getStringFromUrl(String url) throws UnsupportedEncodingException{

BufferedReader br=new BufferedReader(new InputStreamReader(getInputStreamFromUrl(url),"utf-8"));

StringBuffer sb=new StringBuffer();

try{

String line="";

while((line=br.readLine())!=null){

sb.append(line);

}

}catch(IOException e){

e.printStackTrace();

}

return sb.toString();

}

 

   

   

이미지 읽기

private static Bitmap getRemoteImage(final URL url){

Bitmap bitmap=null;

try{

URLConnection conn = url.openConnection();

conn.connect();

BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());

bitmap=BitmapFactory.decodeStream(bis);

bis.close();

}catch(IOException e){

e.printStackTrace();

}

return bitmap;

}

   

   

   

WebView로 웹 브라우징 하기

WebView에 URL를 전달하여 HTML 보여주기

WebView browser=(WebView)findViewById(R.id.webkit);

browser.loadUrl("http://www.naver.com");

 

직접 HTML 생성해서 WebView 표시하기

WebView browser=(WebView)findViewById(R.id.webkit);

 

String msg = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></head><body>Hello, world! 안녕하세요!</body></html>";

 

browser.loadData(msg,"text/html", "UTF-8");

 

WebView browser=(WebView)findViewById(R.id.webkit);

 

String msg2 = "<html><body>Hello, world! 안녕하세요!</body></html>";

browser.loadDataWithBaseURL(null, msg2, "text/html","UTF-8", null);

 

로컬 HTML 연결하기

WebView browser=(WebView)findViewById(R.id.webkit);

 

browser.loadUrl("file:///android_asset/hello.html");

browser.getSettings().setJavaScriptEnabled(true);