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); |
'Development > Android' 카테고리의 다른 글
AlertDialog 클래스 (0) | 2014.07.04 |
---|---|
BrowserDemo-브라우저에 HTML 웹페이지 출력 (0) | 2014.07.04 |
IntentDemo-인텐트 호출하여 각종 Action수행 (0) | 2014.07.03 |
안드로이드 API 20, (안드로이드 L)Android L preview SDK 업데이트 후 이클립스 오류 해결방법 (0) | 2014.07.03 |
ActivityIntentDemo2-화면이동/데이터 전달 (0) | 2014.07.03 |