IT/안드로이드(37)
-
안드로이드 하드웨어 서비스 - 01
안드로이드는 모바일 디바이스용 S/W 플랫폼으로, 다양한 HW를 지원하며 HW제어를 위한 상위 수준의 API를 제공한다. 1장은 기본적인 안드로이드 HW 구조를 살펴보고, 안드로이드가 제공하는 서비스 종류, 제어방법을 설명한다. 또한, IPC, ITC 방법에 대해서 설명한다. ** [ 새로 알게된 부분만 요약하는 요약본] ** # Discrete AP(Thin Modem) vs Integrated AP(Fat Modem) AP의 설계방식은 모뎀 중심으로 AP를 통합한 구조인 Integrated AP와, 모뎀을 따로 구분하고 AP위주인 Discrete AP 구조로 구분한다. Thin modem구조는 AP가 분리되어있어 모뎀은 통신 기능만 담당하고 그 이외 대부분의 작업은 AP에서 담당한다. discrete..
2023.05.07 -
Ubuntu에서 삼성 안드로이드 폰 인식하기.
1. 먼저 USB로 연결되어있는 장비를 확인해본다. root@shcho-VirtualBox:~# lsusb Bus 002 Device 007: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy series, misc. (MTP mode) Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 우리는 저 04e8:6860 샘숭 갤럭시 폰을 연결할것이다. 2. sudo root 계정으로 들어가서, /etc/..
2022.08.16 -
Ubuntu에서 logcat 파일로 저장 하기.
** 이걸 확인하기 전에 해야할 작업 1. 안드로이드 폰 연결 되어있는지 확인 2. 해당 앱을 폰에서 켜야, ps (pid number) 찾을 수(확인 할 수) 있음. * adb 실행시 아래와 같은 문제가 생겼었다. 그럼 아래 글을 참고하자. https://guks-blog.tistory.com/entry/Unity-adb-server-version-doesnt-match-this-client-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95 [Unity] adb server version doesn't match this client 해결방법 안드로이드로 빌드할 때 가끔 발생하는 오류 코드인데 우선 cmd 창에서 sdk의 platform-tools로 이동한다 1. cmd를 연다 2. c..
2022.08.16 -
Android - 인터넷에서 이미지를 로드하여 표시하기
이전에서는 웹 서비스에서 데이터를 가져와, 응답을 Kotlin 객체로 파싱하는 방법을 배웠다. 이 지식을 기반으로, 웹 URL 에서 사진을 로드하고 표시한다. 또한 RecyclerView를 빌드하고, 이 뷰를 사용해 개요 페이지에 이미지 Grid 를 표시하는 방법을 다시 확인한다. 기본 요건 프래그먼트를 만들고 사용하는 방법 Retrofit 라이브러리와 Moshi 라이브러리를 사용하여 REST 웹 서비스에서 JSON을 검색하고 이 데이터를 Kotlin 객체로 파싱하는 방법 RecyclerView로 그리드 레이아웃을 구성하는 방법 Adapter, ViewHolder, DiffUtil의 작동 방식 학습할 내용 Coil 라이브러리를 사용하여 웹 URL에서 이미지를 로드하고 표시하는 방법 RecyclerView..
2022.05.27 -
Android - 인터넷에서 데이터 가져오기
오늘의 주제는 인터넷에서 데이터 가져오기 입니다 ! 학습할 내용 REST 웹 서비스의 정의 Retrofit 라이브러리를 사용하여 인터넷에서 REST 웹 서비스에 연결하고 응답 받기 Moshi 라이브러리를 사용하여 JSON 응답을 데이터 객체로 파싱하기+ 시작 코드는 아래의 안드로이드 개발 공식 소스로 시작합니다. 프로젝트 이름은 MarsPhotos 앱 입니다. 시작 코드 URL: https://github.com/google-developer-training/android-basics-kotlin-mars-photos-app/tree/starter 화성 사진 데이터는 웹 서버에 저장된다. 이 데이터를 App으로 가져오려면, 연결을 설정하고 인터넷을 통해 서버와 통신해야한다. 대부분의 웹 서버는 REST라..
2022.05.20 -
Android - Thread
Coroutine을 알아보기전에, 먼저 스레드에 대해 간단히 알아보자. 스레드는 추상적인 개념이지만, App에서 코드를 실행하는 단일 경로로 생각하면 된다. 작성하는 각 코드 줄은, 스레드에서 실행될 명령어이다. 일반적으로 UI 스레드가 있는데, 지금까지 작성한 예제 코드들은 모두 기본 스레드에 있다. 각 코드는, 다음 줄이 실행되기 전에 이전 줄이 완료 되기를 기다린다. 그러나, 실행 중인 App에는 기본 스레드 외에도 스레드가 더 있다. ! ** 기본스레드는 UI 스레드를 의미한다. 근데 경우에 따라 아닐수도 있음. 내부적으로 프로세서는 실제로 별도의 스레드로 작동하지 않고, 여러 명령어 간에 전환하여 멀티태스킹을 제공한다. 기본 스레드가 아닌 스레드로 작업하면, App의 사용자 인터페이스 응답성을 ..
2022.05.16 -
Android - Test code 작성시 추가해야할 header들
build.gradle ( Module: ***.app ) androidTestImplementation 'androidx.test.ext:junit:1.1.0' androidTestImplementation 'androidx.test:runner:1.1.2-alpha02' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha02' testImplementation 'androidx.arch.core:core-testing:2.1.0' Test Class 파일에 추가할 것들. import androidx.test.ext.junit.runners.AndroidJUnit4 import com.example.cupcake.mod..
2022.05.16 -
Android - Test 디렉터리 생성하기
( ^^ 몰아서 많은걸 하려니 뒤돌면 까먹게 된다 ㅜㅜ ) 원래 새 프로젝트를 생성할 때, 아래와 같이 자동으로 만들어지기는 하지만, 내가 실습하는 강의에서는 테스트 디렉토리부터 만들도록 진행하고있어서 포스팅 해본다. 안드로이드 공식 강의인, Kotlin 으로 배우는 android 기본 사항 자료를 기반으로 작성했다. 1. 먼저 Android 뷰에서 Project 뷰로 전환한다. 2. 그러면 Project 뷰가 아래와 같이 표시된다. 3. app -> src 로 드롭다운 한다. 4. src 를 마우스 오른쪽 버튼 클릭하고, New -> Directory 를 선택한다. 5. 다음과 같은 창이 표시된다. 6. 여기서 androidTest/java 를 선택한다. 7. 이제 프로젝트 구조에 androidTest..
2022.05.16 -
Android - Back Stack
작업하는 화면의 전 단계로 이동하는 동작이다. App을 처음 열면, Android 는 기본 활동이 포함된 새로운 작업을 생성한다. Activity 는 Back Stack 이라는 Stack 으로 배열되고, 사용자가 이동한 각각의 새 Activity 는 작업의 back stack 으로 Push된다. 맨 위의 stack 활동은, 현재 사용자가 상호작용하고 있는 활동을 나타내고, 그 아래의 stack 은 백그라운드로 전환되었다가 중지된 활동을 의미한다. Back stack 은 뒤로 이동하고자 하는 경우에 유용하다 ! 안드로이드는 Stack의 맨 위에 있는 현재 Activity를 삭제하고 폐기 한 뒤에, 그 아래에 있는 활동을 다시 시작할 수 있다. 즉, Stack 에서 활동을 없애고 이전 활동이 Forgroun..
2022.05.11 -
Android - Fragment 간 공유되는 ViewModel
UI 요소가 자동으로 업데이트 되도록 하려면, binding, lifecycleOwner 를 App의 수명 주기 소유자와 연결해야 한다. !! * LiveData 변환을 사용하여 형식 지정. Transformations.map() 을 사용해 변환한다.. 흠. 이 함수는 LiveData 소스를 조작하고, 관찰 할 수도 있는 업데이트된 값을 반환한다. LiveData 변환을 사용할 수 있는 몇 가지 실시간 예는 다음과 같다. > 표시할 날짜 및 시간 문자열 형식 지정. > 항목 목록 정렬 > 항목 필터링 또는 그룹화 > 모든 항목 합계, 항목 수, 마지막 항목 반환 등과 같이 목록의 결과 계산. 통화 단위 설정인데, NumberFormat.getCurrencyInstance().Format() 을 사용해 변..
2022.05.10