Search Results
Search Results for 'Android' : 17 POSTS
- 2010.08.13 액티비티란? (Activity)
- 2010.08.13 안드로이드 어플리케이션 (Android Application)
- 2010.08.08 화면 회전시 리로드하지 않고 내용 유지하기 (Orientation Change Keep Content) 5
- 2010.08.08 이전 액티비티로 돌아가기 (Back Activity)
- 2010.08.07 웹뷰 사용하기 (WebView)
액티비티란? (Activity)
- Posted at 2010. 8. 13. 02:02
- Posted by 루지메이앙
- Filed under 안드로이드/이론정리
');
}
//-->
|
');
}
//-->
|
안드로이드 액티비티란? (Android Activity)
- 사용자 인터페이스를 구성하는 기본 단위이며 보통 하나의 화면이 하나의 액티비티라고 봐도 무방하다
- 액티비티 매니저에(Activity Manager-AndroidManifest 를 참조하여 관리) 의해 관리되며
Activity Class를 상속 받아 구성한다
- 한개 이상의 레이아웃과 뷰, 이벤트로 구성되며 한개 이상의 액티비티를 모아
응용프로그램을(Application) 구현할 수 있다
- 런쳐(Application Launcher) 에 의해 호출되며 (AndroidManifest 내에 정의) 다른 액티비티를 호출할 수 있다
(startActivity, startActivityForResult 메소드에 의해 호출되며 onActivityResult 메소드에 의해 결과를 받는다)
- finish 메소드로 종료할 수 있으며 startActivityForResult로 호출한 액티비티를
종료시키고자 할때는 finishActivity 메소드를 이용한다
- 액티비티를 호출할때에는 인텐트를(Intent) 사용하며 호출한 액티비티는 태스크에(Task) 차곡 차곡 쌓인다
- 액티비티는 생명주기를(LifeCycle) 갖는다
- 액티비티는 연관성을(Affinity) 갖는다
- 사용자 인터페이스를 구성하는 기본 단위이며 보통 하나의 화면이 하나의 액티비티라고 봐도 무방하다
- 액티비티 매니저에(Activity Manager-AndroidManifest 를 참조하여 관리) 의해 관리되며
Activity Class를 상속 받아 구성한다
- 한개 이상의 레이아웃과 뷰, 이벤트로 구성되며 한개 이상의 액티비티를 모아
응용프로그램을(Application) 구현할 수 있다
- 런쳐(Application Launcher) 에 의해 호출되며 (AndroidManifest 내에 정의) 다른 액티비티를 호출할 수 있다
(startActivity, startActivityForResult 메소드에 의해 호출되며 onActivityResult 메소드에 의해 결과를 받는다)
- finish 메소드로 종료할 수 있으며 startActivityForResult로 호출한 액티비티를
종료시키고자 할때는 finishActivity 메소드를 이용한다
- 액티비티를 호출할때에는 인텐트를(Intent) 사용하며 호출한 액티비티는 태스크에(Task) 차곡 차곡 쌓인다
- 액티비티는 생명주기를(LifeCycle) 갖는다
- 액티비티는 연관성을(Affinity) 갖는다
안드로이드 어플리케이션 (Android Application)
- Posted at 2010. 8. 13. 02:02
- Posted by 루지메이앙
- Filed under 안드로이드/이론정리
');
}
//-->
|
');
}
//-->
|
안드로이드 어플리케이션 (Android Application)
- 하나 이상의 컴포넌트와 리소스등으로 구성되며 패키지 파일로(android package = .apk파일) 묶여 배포된다.
- 하나 이상의 컴포넌트와 리소스등으로 구성되며 패키지 파일로(android package = .apk파일) 묶여 배포된다.
컴포넌트란? (Component)
- 액티비티(Activity), 서비스(Service), 브로드캐스트 리시버(Broadcast Receiver),
컨텐트 프로바이더(Content Provider) 로 구성된다.
- 사용하고자 하는 컴포넌트는 AndroidManifest에 미리 정의해 두어야 한다
- 각각의 컴포넌트는 필요할때마다 인스턴스화 시켜 사용할 수 있다
- Content Provider는 ContentResolver 에 의해 활성화 되며 나머지 컴포넌트들은
인텐트에(Intent) 의해 활성화 된다.
- 액티비티(Activity), 서비스(Service), 브로드캐스트 리시버(Broadcast Receiver),
컨텐트 프로바이더(Content Provider) 로 구성된다.
- 사용하고자 하는 컴포넌트는 AndroidManifest에 미리 정의해 두어야 한다
- 각각의 컴포넌트는 필요할때마다 인스턴스화 시켜 사용할 수 있다
- Content Provider는 ContentResolver 에 의해 활성화 되며 나머지 컴포넌트들은
인텐트에(Intent) 의해 활성화 된다.
화면 회전시 리로드하지 않고 내용 유지하기 (Orientation Change Keep Content)
- Posted at 2010. 8. 8. 14:24
- Posted by 루지메이앙
- Filed under 안드로이드/VIEW (UI)
');
}
//-->
|
');
}
//-->
|
안드로이드 화면 회전시 리로드하지 않고 내용 유지하기 (Android Orientation Change Keep Content)
안드로이드는 화면의 orientation 변경시 기본적으로 onDestroy()를 호출 후 onCreate()를 호출하여
해당 화면의 액티비티가 초기화 되며 이것은 아래의 방법을 통해 방지가 가능합니다
주요시스템 변경은 onConfigurationChanged를 이용해 감지할 수 있습니다
- AndroidManifest 에 정의
<activity android:configChanges="orientation|keyboardHidden"></activity>
- configChanges시 관련내용 제어하기
- Configuration
http://developer.android.com/reference/android/R.attr.html#configChanges
http://developer.android.com/reference/android/content/res/Configuration.html
안드로이드는 화면의 orientation 변경시 기본적으로 onDestroy()를 호출 후 onCreate()를 호출하여
해당 화면의 액티비티가 초기화 되며 이것은 아래의 방법을 통해 방지가 가능합니다
주요시스템 변경은 onConfigurationChanged를 이용해 감지할 수 있습니다
orientation: 스크린이 세로에서 가로로 바뀌는것
keyboardHidden: 키보드가 보여지거나 숨겨지는것.
fontScale: 사용자가 원하는 폰트의 크기를 변경하는것.
locale: 사용자가 언어 세팅을 변경하는것.
keyboard: 키보드의 종류가 바뀌는것.
keyboardHidden: 키보드가 보여지거나 숨겨지는것.
fontScale: 사용자가 원하는 폰트의 크기를 변경하는것.
locale: 사용자가 언어 세팅을 변경하는것.
keyboard: 키보드의 종류가 바뀌는것.
- AndroidManifest 에 정의
<activity android:configChanges="orientation|keyboardHidden"></activity>
- configChanges시 관련내용 제어하기
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); /* // 위 소스만 적용했을때 내용이 유지되고 추가 코드를 입력할때는 아래와 같이 한다 if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) // 가로모드로 변경되었을때 if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) // 키보드가 보여질때 */ }
- Configuration
http://developer.android.com/reference/android/R.attr.html#configChanges
http://developer.android.com/reference/android/content/res/Configuration.html
이전 액티비티로 돌아가기 (Back Activity)
- Posted at 2010. 8. 8. 13:51
- Posted by 루지메이앙
- Filed under 안드로이드/한줄코드
');
}
//-->
|
');
}
//-->
|
안드로이드 이전 액티비티로 돌아가기 (Android Back Activity)
- 1.6 이하
onKeyDown(KeyEvent.KEYCODE_BACK, null);
- 2.0 이상
- 1.6 이하
onKeyDown(KeyEvent.KEYCODE_BACK, null);
- 2.0 이상
onBackPressed();
웹뷰 사용하기 (WebView)
- Posted at 2010. 8. 7. 18:38
- Posted by 루지메이앙
- Filed under 안드로이드/VIEW (UI)
');
}
//-->
|
');
}
//-->
|
1. AndroidManifest.xml 퍼미션 설정
2. xml layout 설정
3. Source Code
- 웹뷰에 웹페이지 삽입하기
Webview wv = (WebView)findviewbyid(R.id.wv); wv.loadUrl(url);
(1) ProgressBar 추가하기
- 페이지 로딩상태는 setWebChromeClient 를 이용해 가져오며 상태값 변화시 onProgressChanged 가 호출됩니다.
- view는 변화된 해당 webview이며 progress는 로딩율입니다.
wv.setWebChromeClient(new WebChromeClient() { ProgressBar pb = (ProgressBar)findViewById(R.id.ProgressBar); public void onProgressChanged(WebView view, int progress) { pb.setProgress(progress); // ProgressBar값 설정 if(progress == 100){ // 모두 로딩시 Progressbar를 숨김 pb.setVisibility(View.GONE); } else{ pb.setVisibility(View.VISIBLE); } } });
(2) ZoomControl 추가하기
View zoom = wv.getZoomControls(); zoom.setVisibility(View.GONE); ((LinearLayout)findViewById(R.id.ZoomArea)).addView(zoom);
(3) WebView Settings
http://developer.android.com/reference/android/webkit/WebSettings.html
wv.getSettings().setJavaScriptEnabled(true); // 자바스크립트 허용(Default. 비허용) wv.getSettings().setLoadsImagesAutomatically(true); wv.getSettings().setSavePassword(false); wv.getSettings().setSaveFormData(false); wv.getSettings().setSupportZoom(true); wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); wv.getSettings().setUserAgent(1); wv.getSettings().setSupportMultipleWindows(false);
- 웹뷰에 html코드 직접 삽입하기
final String tag = "Hello World! - 1"; final String mimeType = "text/html"; final String encoding = "utf-8"; Webview wv = (WebView)findviewbyid(R.id.wv); wv.loadData(tag, mimeType, encoding);