반응형

이번 포스팅은 Android 6.0 버전인 마시멜로에 대하여 알아보도록 하겠습니다.


1. 지문인식 기능 지원


2. Runtime Permission


3. Doze And App Standby


4. Apache Gttp Client 제거


5. 단말 인증 기능을 이용한 사용자 인증


6. App Linking - url을 이용하여 앱을 실행하거나 market으로 이동하도록 하는 기능


7. 자동 Backup


8. Direct Share


9. Voice Interaction


10. Now on Tap 기능 지원


11. Adaptable Storage Device 지원


12. Blutooth Stylus 지원


13. MID, Media Sysnc


14. 카메라에 손전등 모드 추가


15. Device Owner에서 Keyguard 설정이나 Silent한 앱을 설치/삭제 등의 기능 추가

반응형

'Development > Android' 카테고리의 다른 글

[Android] Fragment에 대하여...첫번째  (0) 2016.04.27
[Android] Android Build 전 과정  (0) 2016.04.22
[Android] Lollipop (Android OS 5.0) 특징  (0) 2016.04.22
[Android] Android의 구조  (0) 2016.04.22
[Android] GridLayout  (0) 2016.04.18
반응형

이번 포스팅에서는 Android 5.0 버전인 롤리팝 특징에 대하여 알아보도록 하겠습니다.


1. Dalvik cache를 ART(Android Runtime)으로 완전히 변경


2. 64비트 CPU를 지원


3. OpenGL ES 3.1 지원


4. Material Design 프로젝트 적용

 (자세한 내용 보기 : http://developer.android.com/training/material/index.html)


5. Notification UI 변경 - Headup Notification, Lock Screen Notification


6. Project Volta 적용(JobScheduler) 적용 - 배터리 성능 향상


7. Multiple Network 지원(ConnectivityManager) - 기존에는 Wifi 연결시 Wifi 또는 Mobile로 되어 있었음


8. 앱 사용 통계 제공(UsageStatsManager)

반응형

'Development > Android' 카테고리의 다른 글

[Android] Android Build 전 과정  (0) 2016.04.22
[Android] Marshmello(Android OS 6.0) 특징  (0) 2016.04.22
[Android] Android의 구조  (0) 2016.04.22
[Android] GridLayout  (0) 2016.04.18
[Android] dp를 px값으로 변환  (0) 2016.04.14
반응형

이번 포스팅에서는 안드로이드의 시스템 구조에 대하여 알아 보겠습니다.





1. 안드로이드의 구조는 크게 네 분류으로 나눌 수 있습니다. 리눅스 커널과 라이브러리와 버추얼 머신, 어플리케이션 프레임워크, 어플리케이션 이렇게 네 분류로 나눌 수 있습니다. 각 부분에 대해 알바보도록 하겠습니다.



2. 리눅스 커널

- 안드로이드는 리눅스 커널 위에 만들어 졌지만 안드로이드가 리눅스는 아님

- 핵심적인 시스템 서비스들을 제공하며, 프로세스, 메모리, 전원 관리, 네트워크, 드라이버, 보안 들의 내용을 포함

- 표준 리눅스 도구를 모두 제공하지 않음

- 안드로이드 커널도 공개되어 있음



3. 라이브러리와 버추얼 머신

- C/C++로 구성된 라이브러리로 어플리케이션 프레임워크를 통해 사용할 수 있도록 구성됨

- 코어 라이브러리는 자바 라이브러리의 대부분 기능을 제공

- 안드로이드 어플리케이션을 위한 실행 환경을 제공하는 Drlvik VM의 실행 파일은 최소한의 메모리에 최적화된 Dex(Dalvik EXecute) 포멧을 사용하며 안드로이드 어플리케이션은 독립적 프로세스를 할당 받음

버추얼 머신에서 각각의 안드로이드 어플리케이션은 하나의 프로세스로 실행되며 Dalvik VM의 인스턴스를 받음

- 버추얼 머신은 디바이스가 여러 개의 VM을 효율적으로 실행할 수 있도록 구성되어 있음

- 버추얼 머신은 Dalvik에서 안드로이드 5.0부터 AOT 기술을 구현한 ART로 실행

- 버추얼 머신이 실행 포멧인 dex 포멧은 최소한의 메모리만을 사용할 수 있도록 최적화되어 있고 컴파일 시에 생성됨




4. 어플리케이션 프레임워크

- 안드로이드에서  제공하는 어플리케이션도 어플리케이션 프레임워크의 API에 기반하는 경우가 많음

- 간단한 재사용 컴포넌트, 어떤 어플리케이션과도 호환 가능한 호환성을 제공

- Activity Manager는 어플리케이션의 라이프 사이클을 제어함

- Content Provider는 어플리케이션 간에 데이터를 공유할 수 있도록 함

- Resource Manager는 코드 이외의 부분인 리소스를 관리함

- Location Manager는 자신의 위치 파악에 필요한 기능을 제공함

- Notification Manager는 알림 기능를 사용자에게 방해가 되지 않도록 제공함



5. 어플리케이션

- 모든 어플리케이션은 Java로 작성되며 어플리케이션 프레임워크의 API를 사용할 수 있음

- 안드로이드의 핵심 어플리케이션들은 이메일 클라이언트, SMS 프로그램, Calendar, Maps, 웹브라우저, 연락처들을 포함함


반응형
반응형

이번 포스팅은  GridLayout 특징에 대하여 알아보도록 하겠습니다.


1. 바둑판과 같은 행과 열로 이루어진 격자 모양으로 위젯을 배치할 수 있도록 하는 Layout


2. API 14부터 제공


3. API 14 미만 버전에서는 gridlayout-v7(API 7 이상부터 사용 가능) 이라는 Support  레이아웃을 통해 하위 버전에서도 사용 가능


4. GridLayout 내에 위젯을 배치하면 orientation에 의해 자동으로 가로 또는 세로로 우선으로 배치되고

    가로 또는 세로의 개수는 columnCount나 rowCount로 설정할 수 있다. (기본orientation 은 가로)


5. 위젯은 layout_column과 layout_row로 원하는 위치를 지정할 수 있고, layout_gravity로 정렬 방식을 지정


6. 위젯은 layout_columnSpan과 layout_rawSpan으로 Cell간 합치기를 가능


7. API 21부터는 layout_columnWeight와 layout_rowWeight를 제공


   (weight를 지정하려면 모든 셀에 지정)


8. GridLayout 속성


   # useDefaultMargin - 위젯간 default 여백(4dp) 설정 여부로 설정하지 않으면 0dp

   # alignmentMode - GridLayout 내에서의 위젯의 정렬 기준(alignBounds, alignMargins)

반응형

'Development > Android' 카테고리의 다른 글

[Android] Lollipop (Android OS 5.0) 특징  (0) 2016.04.22
[Android] Android의 구조  (0) 2016.04.22
[Android] dp를 px값으로 변환  (0) 2016.04.14
[Android] View의 터치영역 넓히기  (0) 2016.03.25
[Android] AsyncTask 중지하기  (0) 2016.03.23
반응형

이번 포스팅은 Android에서 화면의 Dp 값을 Pixel로 변환하는 방법에 대하여 알아보도록 하겠습니다. 

Resource r = getResource();

int px = (int) typeValue.applyDimension(TypeValue.COMPLEX_UNIT_DIP, 200, r.getDisplayMetrics());


myEditText.setWidth(px);

반응형

'Development > Android' 카테고리의 다른 글

[Android] Android의 구조  (0) 2016.04.22
[Android] GridLayout  (0) 2016.04.18
[Android] View의 터치영역 넓히기  (0) 2016.03.25
[Android] AsyncTask 중지하기  (0) 2016.03.23
[Android] Intent로 객체 전달하기  (0) 2016.02.12
반응형

이번 포스팅은 View 구성 시 터치 영역을 넓히는 방법에 대하여 알아보도록 하겠습니다.


Layout 구조는 아래와 같습니다.

전체 위젯을 감싸고 있는 test_parent layout 안에 test_view가 들어있는 상황입니다.


위젯의 터치영역이 너무 작아 Layout의 크기만큼 늘리고 싶을 때 아래와같이 touchDelegate를 셋팅해주면 됩니다.

View mTestLayout = rootView.findViewById(R.id.test_parent_layout); ViewGroup.LayoutParams params = mTestLayout.getLayoutParams(); mTestLayout.setTouchDelegate(

new TouchDelegate(

new Rect(0, 0, params.width, params.height),

rootView.findViewById(R.id.test_view)

)

);

위와 같이 구현을 하면 test_parent_layout 영역을 눌러도 test_view의 클릭 리스너가 호출이 됩니다.


View가 MATCH_PARENT이거나 WRAP_CONTENT일 경우, Size가 정확하게 선언되어 있지 않으므로

아래와 같이 OnGlobalLayoutListener에서 처리하는 것도 하나의 방법입니다.

rootView.findViewById(R.id.test_parent_layout).getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() {     @Override     public void onGlobalLayout() {     View mTestLayout = rootView.findViewById(R.id.test_parent_layout);     mTestLayout .setTouchDelegate(

new TouchDelegate(

                    new Rect(0, 0, mTestLayout .getWidth(), mTestLayout .getHeight()),

                    rootView.findViewById(R.id.test_view)

)

          );     } });



반응형

'Development > Android' 카테고리의 다른 글

[Android] GridLayout  (0) 2016.04.18
[Android] dp를 px값으로 변환  (0) 2016.04.14
[Android] AsyncTask 중지하기  (0) 2016.03.23
[Android] Intent로 객체 전달하기  (0) 2016.02.12
[Android] ListView 계층 구조  (0) 2015.08.11

+ Recent posts