WebView 안에서 자바스크립트 함수를 호출하여 액티비티 안의 함수를 호출할 수 있다. 새로운 액티비티를 호출하거나 데이터를 fetch할 때 사용된다. 자바스크립트 인터페이스 클래스 만들기 WebView 에 인터페이스 클래스 등록하기 Javascript에서 Android 함수 호출하기 1. 자바스크립트 인터페이스 클래스 만들기 WebView 에 등록할 인터페이스를 만든다. 인터페이스의 함수는 자바스크립트에서 호출할 때 사용된다. final class MyJavaScriptInterface { MyJavaScriptInterface() { } /** * This is not called on the UI thread. Post a runnable to invoke * loadUrl on the UI th..
Activity 제목부분에서 WebView 의 페이지 로딩 진행상황을 progress meter 로 표시해준다. 페이지 로드가 100% 완료되면 progress meter 는 사라진다. 소스구현 getWindow().requestFeature(Window.FEATURE_PROGRESS) 선언 public void onProgressChanged(WebView view, int progress) 구현 public class TestActivity extends Activity { WebView webview ; final Activity activity = this; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sav..
WebView 를 커스터마이징 하는 포인트 WebChromeClient subclass 생성하고 세팅하기 This class is called when something that might impact a browser UI happens, for instance, progress updates and JavaScript alerts are sent here (see Debugging Tasks). WebViewClient subclass 생성하고 세팅하기 It will be called when things happen that impact the rendering of the content, eg, errors or form submissions. You can also intercept URL lo..
ttp://ajaxdump.com/?tqSDBVlK JQuery Mobile의 매력은 디자인에 고민할 필요가 없이 세련된 UI를 가질 수 있다. 물론 안드로이드 앱 개발시 기기별 파편화도 신경쓸 필요가 없다. PC용 웹브라우저에서 테스트해 보니 IE : CSS 가 잘 안먹힌다...한마디로 꽝 크롬 : 음...에러나는 기능이 발견된다... 파폭 : 아주 잘~ 돌아간다. 1. 기본 HTML 작성 타이틀 : jQuery Mobile Test jQueryMobile 시작 About jQueryMobile About jQueryMobile jQuery Mobile를 배워보자~ 얘는 다른 페이지에 보이고 싶다.. 꼬리말은 여기에 2. jQuery Mobile CSS, JavaScript 추가하기 아직까지 아무런 변..
액티비티의 일생 생명주기(Life Cycle) 액티비티는 시작, 실행, 활성, 비활성화, 정지, 종료되는 일련의 상태를 순환하는데 이것을 생명 주기라고 한다. 사용자의 선택이나 시스템 자원 사정에 따라 액티비티의 상태는 끊임없이 바뀐다. 액티비티 스택 시스템이 태스크의 실행중인 액티비티를 관리한다. 스택의 액티비티는 넣고 빼기만 할 뿐 순서가 바뀌지 않는다. 액티비티 스택의 세 가지 상태 실행(active, running) 일시 정지(pause) 정지(stopped) 생명주기 메서드 메서드 해야 할 일 onCreate 액티비티 초기화 반드시 구현 onRestart 재시작될 때 호출, 특별히 할 일은 없다 onStart 액티비티가 사용자에게 보이기 직전에 호출된다. onResume 사용자와 상호작용하기 직..
액티비티간의 통신 인텐트의 Extras를 활용하여 액티비티간에 인수와 리턴값을 전달 액티비티01 public void startActivityForResult(Intent i, int requestCode) ;리턴값을 돌려주는 액티비티를 호출하기 requestCode : 호출한 대상을 나타내는 식별자, 0이상, 음수일 경우 리턴을 받지 않겠다는 뜻 proteted void onActivityResult(int requestCode, int resultCode, Intent data) ;호출된 액티비티가 종료되고 호출되는 메소드 requestCode : 호출할 때 전달한 코드 resultCode : 액티비티 실행 결과 data : 리턴값 액티비티02 onCreate에서 getIntent() 메서드로 액티비..
http://developer.android.com/reference/android/content/Intent.html 안드로이드의 컴포넌트끼리 통신하기 위한 전역적인 메시지 시스템 인텐트는 실행될 동작의 추상 명세서 사용 예 - startActivity 가 Activity를 실행하는 데 사용 - broadcastIntent가 관심있는 BroadcastReceiver 컴포넌트에게 보낼 때 사용 - startService(Intent)또는 bindService(Intent, ServiceConnection, int) 가 백그라운드 Service와 통신할 때 사용 인텐트 생성자 Intent() : 빈 인텐트 생성 Intent(Intent o) : 생성자 복사 Intent(String action) : 주어진..
액티비티를 추가하는 방법...매니페스트 파일에 등록하는 것을 잊으면 안된다!!! 새로운 액티비티의 레이아웃 XML 정의 액티비티의 코드를 java 파일에 작성 새로 추가한 액티비티를 메니페스트에 등록 startActivity 메서드로 액티비티를 호출 1. 새로운 액티비티의 레이아웃 XML 정의 2. 액티비티의 코드를 java 파일에 작성 3. 새로 추가한 액티비티를 메니페스트에 등록 보안상의 이유로 응용 프로그램에 포함된 모든 액티비티는 반드시 매니페스트에 등록되어야 한다. android:name 패키지명을 포함한 풀 경로, 같은 패키지에 속해 있을 때는 앞에 '.' 을 찍는다 android:label 액티비티 타이블 바에 표시될 내용 4. startActivity 메서드로 액티비티를 호출 Intent ..
원하는 위젯을 만들고 재사용성을 높이자~ 커스텀 위젯 레이아웃 XML 정의 커스텀 위젯 재정의 XML 레이아웃에 커스텀 위젯 포함시키기 액티비티 실행시키기 1. 커스텀 뷰 레이아웃 XML 정의 2. 커스텀 위젯 재정의 package test.sample.view; import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextVi..
adb devices 연결되어 있는 장비 조사 adb install /root/Downloads/HangulKeyboard.apk apk 파일 설치하기 우분투 10.10 사용 http://developer.android.com/guide/developing/tools/adb.html abd(Android Debug Bridge) 에뮬레이터 인스턴스나 안드로이드 장비의 상태를 관리하는 툴 클라이언트-서버 프로그램 위치 : /platform-tools/ root@ubuntu:~/android-sdk-linux_86/platform-tools# ll 합계 5052 drwxr-xr-x 3 root root 4096 2011-01-17 19:16 ./ drwxrwxr-x 9 12275 5000 4096 2011-..
1. 이클립스 설치 2. 이클립스에 ADT(Android Development Tool) 플러그인 설치 3. 안드로이드 SDK 설치 1. 이클립스 설치 1) 이클립스 다운받기 사이트 http://www.eclipse.org/downloads/ Eclipse IDE for Java Developers 다운 2) 이클립스 압축 풀기 root@ubuntu:~/Downloads# tar zxf eclipse-java-helios-SR1-linux-gtk.tar.gz -C /root/workplace/ 3) 이클립스 실행하기 root@ubuntu:~/workplace# cd eclipse/ root@ubuntu:~/workplace/eclipse# ls about.html configuration eclipse...
WebM video files play directly in your web browser using a new technology called HTML5. No plug-ins are required, but you must install a web browser that supports WebM files. WebM은 HTML5 기술을 사용하여 웹 브라우저에서 직접 실행한다. 플로그인은 필요없지만 WebM files을 지원하는 웹 브라우저를 설치해야 한다. 지원하는 웹 브라우저 ● Mozilla Firefox 4 Beta 1 and later ● Opera 10.60 and later ● Google Chrome 6 and later ● Chromium nightly trunk build as of ..
Density-independent pixel (dp) A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way. The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of ..
10-21 07:59:13.244: ERROR/AndroidRuntime(281): ERROR: thread attach failed 10-21 07:59:14.325: ERROR/AndroidRuntime(288): Uncaught handler: thread main exiting due to uncaught exception 10-21 07:59:14.354: ERROR/AndroidRuntime(288): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.misun.smileproj.timemetrix/com.misun.smileproj.timemetrix.TabA}: java.lang.RuntimeException: Y..