본문 바로가기
반응형

Development/Android51

[Android] Android의 구조 이번 포스팅에서는 안드로이드의 시스템 구조에 대하여 알아 보겠습니다. 1. 안드로이드의 구조는 크게 네 분류으로 나눌 수 있습니다. 리눅스 커널과 라이브러리와 버추얼 머신, 어플리케이션 프레임워크, 어플리케이션 이렇게 네 분류로 나눌 수 있습니다. 각 부분에 대해 알바보도록 하겠습니다. 2. 리눅스 커널- 안드로이드는 리눅스 커널 위에 만들어 졌지만 안드로이드가 리눅스는 아님- 핵심적인 시스템 서비스들을 제공하며, 프로세스, 메모리, 전원 관리, 네트워크, 드라이버, 보안 들의 내용을 포함- 표준 리눅스 도구를 모두 제공하지 않음- 안드로이드 커널도 공개되어 있음 3. 라이브러리와 버추얼 머신- C/C++로 구성된 라이브러리로 어플리케이션 프레임워크를 통해 사용할 수 있도록 구성됨- 코어 라이브러리는 자.. 2016. 4. 22.
[Android] GridLayout 이번 포스팅은 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로.. 2016. 4. 18.
[Android] dp를 px값으로 변환 이번 포스팅은 Android에서 화면의 Dp 값을 Pixel로 변환하는 방법에 대하여 알아보도록 하겠습니다. Resource r = getResource();int px = (int) typeValue.applyDimension(TypeValue.COMPLEX_UNIT_DIP, 200, r.getDisplayMetrics()); myEditText.setWidth(px); 2016. 4. 14.
[Android] View의 터치영역 넓히기 이번 포스팅은 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.w.. 2016. 3. 25.
[Android] AsyncTask 중지하기 이번 포스팅은 AsyncTask를 중간에 중지하는 방법에 대하여 알아보도록 하겠습니다. Asynctask변수.cancel(true); - 만약 HttpClient를 사용중이라면 httpClient.getConnectionManager().shutdown(); - 만약 dialog를 사용중이라면 dialog의 OnCancelListener 에서 위의 명령어 사용 - onPreExecute() 함수는 Thread로 동작하지 않고, Main Thread에서 동작하는 부분이라서 본문에 넣어 주신 코드 같은 경우는 AsyncTask execute 하는 경우 정상적으로 처리 되었다는 onPostExecure() 콜백 함수가 호출이 됩니다. - AsyncTask 의 경우 doInBackground() 콜백 함수가 T.. 2016. 3. 23.
[Android] Intent로 객체 전달하기 이번 포스팅에서는 객체를 Intent를 통해 전달하는 방법을 알아보겠습니다. 정수같은 단순한 값은 크기도 작고 접근 속도도 빨라 저장하고 복귀하기 쉽습니다. 그러나 단일 값이 아닌 큰 객체나 배열을 저장할 때는 최대한 신속하게 저장하기 위해 좀 더 효율적으로 데이터 처리를 해야 합니다. 객체를 저장할 때는 자바의 Serialize 기능을 사용하면 쉽게 구현할 수 있습니다. 자바는 언어 차원에서 객체를 일차원의 데이터로 저장하는 기능을 제공하는데 이 기능이 바로 Serialize 입니다. Serializable 인터페이스를 상속 받으면 디폴트 직렬화 알고리즘이 적용되어 클래스의 모든 인스턴스 필드가 순서대로 저장이 됩니다. 1. 먼저 Intent로 전달한 객체에 Serializable 인터페이스를 상속 받.. 2016. 2. 12.
반응형