프로그래밍/안드로이드 156

[Android] 안드로이드 플랫폼에서 HTTP POST 요청 처리하기 ( XML 파싱 )

안드로이드 플랫폼 HttpPost 요청 처리 구현 (XmlPullParser) 안드로이드 플랫폼에서 Http 요청을 보내서 값을 받아오는 방법중 HttpPost, HttpGet, 방식이 있는데, 쓰는방법은 비슷하다. 아무래도 왠만하면 Post 방식을 쓰는게 좋지 않을까 싶다. 예제 구현 방법은 간단하게 값 2개를 "euc-kr" 로 인코딩해서 Vector에 집어넣고, JSP Page로 보내서 JSP 페이지에서 지지고 볶은 다음, 안드로이드로 보낼 값들을 XmlPullParser로 받을수있게, xml 형식으로 내뿜으면 알아서 String 으로 return 됩니다. 그후 리턴값을 XMLPullParser에 집어넣어서 파싱합니다. 구현순서 1. 요청에 필요한 값들을 BasicNameValuePair 형식(ke..

펌자료) webview 가 보이지 않을때, javascript 실행 방지

web page에 반복실행중인 자바 스크립트가 있을경우, 어플리케이션이 최소화 되어도, 지속적으로 스크립트가 실행이되서 CPU 점유율이 높아지는 현상이 있다. 이때, 아래와 같이 해결... /* (non-Javadoc) * @see android.app.Activity#onPause() */ @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); mWebView.pauseTimers(); } /* (non-Javadoc) * @see android.app.Activity#onResume() */ @Override protected void onResume() { // TODO Auto-generated..

펌자료) 안드로이드 WebView shouldOverrideUrlLoading 메소드의 역할

# WebViewClient를 상속받은 클래스 정의 WebViewClient 클래스를 상속받아 구현합니다. 이 안에 shouldOverrideUrlLoading() 메소드를 구현하지 않으면 웹뷰 내 링크 터치할 때 연결 프로그램(기본 브라우저, 크롬 등) 설정창이 뜹니다. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 import android.webkit.*; class WebBrowserClient extends WebViewClient { /* * 웹뷰 내 링크 터치 시 새로운 창이 뜨지 않고 * 해당 웹뷰 안에서 새로운 페이지가 로딩되도록 함 */ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadU..

펌자료) onResume/onPause onStop/onStart 차이점

!) 아래 내용은 ICS (4.0.x) 이상 버전과는 맞지 않습니다. ICS 버전의 폰들 중에는 power button 을 눌렀을 때 onPause() onStop() onStart() onResume() 이 반복적으로 불리는 경우도 있었습니다. JellyBean 버전의 경우 power button 을 눌르면 onPause() onStop() 이 불리고 다시 power button 을 눌러 lock screen 에는 아무 이벤트 함수 불리지 않고 lock screen 을 해제해야 onStart() onResume() 이 불리는 점 확인하였습니다. 1. onResume()/onPause() onPause() 함수는 Activity 위에 다른 Activity 가 올라오거나 하여 focus 를 잃었을 때 불린..

펌자료) 안드로이드 어플 종료시 캐시 자동 삭제 방법!!

여러가지 내장 컴포넌트들을 사용하다보면 예상하지 못한 캐시가 많이 생성됩니다. 저는 웹뷰를 주로 많이 쓰는데요~ 쓰다보면 내장메모리에 몇메가까지 캐시가 생기더라고요~ webview.clearChache 메써드를 수시로 사용해도 완전히 지워지지 않습니다. 종료시점이나 사용자 메뉴에 아래처럼 쓰시면 바로 0으로 줄어드네요^^ private void clearApplicationCache(java.io.File dir){ if(dir==null) dir = getCacheDir(); else; if(dir==null) return; else; java.io.File[] children = dir.listFiles(); try{ for(int i=0;i

펌자료) 안드로이드의 파일 입/출력에 필요한 경로를 얻는 방법 총정리!

애플리케이션을 제작하다 보면 파일을 입/출력 기능을 구현해야 하는 경우가 있습니다. 파일 입/출력을 수행하려면 파일의 경로를 꼭 알아야 하는데, 안드로이드에서 파일을 저장할 수 있는 경로는 다양합니다. 가장 크게 애플리케이션 데이터가 저장되는 영역(일반적으로 '내부 저장소(Internal Storage)'라 불림)와 사진, 비디오, 데이터 등을 저장하는 영역(일반적으로 '외부 저장소(External Storage)(주1)'라 불림)으로 나뉠 수 있으며, 각 영역별로 다시 캐시 데이터가 저장되는 영역, 데이터베이스가 저장되는 영역 등으로 나뉩니다. (주1) 외부 저장소는 사용자 데이터(사진, 동영상, 등)이 저장되는 영역입니다. 일반적으로 이는 단말기의 외장 SD카드를 지칭하지만, 단말기에 따라서는 이 영..

펌자료) 안드로이드 로그관리.

프로젝트를 진행하다보면 거의 모든 매소드에 로그를 사용하는데 개발중엔 상관없지만 배포 할 때 로그를 안나오게 하는것이 바람직합니다. 이 때, 수 십개의 클래스를 돌아다니며 로그를 지우는 것도 일이지만 만약 배포 후 버그가 나온다면 지웠던 로그를 다시 작성해야 되는 일이 생깁니다. 이런 불상사를 방지하는 방법이 로그 클래스를 만들어 관리를 해주는 것입니다. public class RbLog { /** Disable Debug */ // public static boolean D = false; /** Enable Debug */ public static final boolean D = true; public static void d(String tag, String msg) { if (D && tag !=..

[안드로이드] Binary XML file line #13: Error inflating class fragment 해결 방법

이 에러는 해결할 첫번째 방법 xml Layout에 커스텀 뷰를 넣을 경우는 대부분은 아시겠지만.. Packgage : com.test Class : CustomComponent 위를 main.xml에 넣을려구 할 경우 다음과 같이 작성 한다.. 하!지!만! 이렇게 작성할 경우 가장 많이 보이는 이런 비슷한 에러를 볼 수 있다. Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class com.test.Com~~~~~ 열심히 구글링을 해본 결과... 역시나 답은 있었다. 생성자에 꼭 AttributeSet을 넣어야 하는것이다. public CustomComponent (Context context) { ..

안드로이드 Touch 이벤트 처리하기

안드로이드 터치 이벤트가 발생시 처리하는 방법 package com.example.touchex; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.MotionEvent; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View v = new MyView(this..

반응형