분류 전체보기194 [Android] Context 응용 프로그램 환경에 대한 전역 정보에 대한 인터페이스. Android 시스템에서 구현을 제공하는 추상클래스. Context가 없으면 액티비티를 시작할 수도, 브로드캐스트를 발생시킬 수도, 서비스를 시작할 수도 없다. 리소스에 접근할 때도 Context를 통해서만 가능하다. Context는 여러 컴포넌트의 상위 클래스이다. context 직업 상속한 것 : ContextWrapper, MockContext 쉽게 말하면 애플리케이션의 현재 상태를 갖고 있다. 시스템이 관리하고 있는 액티비티, 어플리케이션의 정보를 얻기 위해 사용한다. 안드로이드 시스템 서비스에서 제공하는 api(리소스, DB, Shared Preferences 등)에 접근하기 위해 사용한다. 예> getResources() Activity.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 7. [Java] 백준 2293 : 동전 1 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 동전별로 k값을 만드는 경우의 수를 구해본다. 예제 입력에서의 동전 종류는 1,2,5이다. 1,2,5의 종류로 1~K까지의 수를 만들 수 있는 경우의 수를 구한다. 동전을 가지고 만들 수 있는 경우의 수를 찾아서 표를 채워주었다. - 동전 1을 가지고 1~10까지의 수를 만들 수 있는 경우의 수 - 동전 1과 2를 가지고 1~10까지의 수를 만들 수 있는 경우의 수 - 동전 1과 2,5 를 가지고 .. 코딩테스트/백준 2023. 3. 7. [android] avd 애뮬레이터 작동 안 할 때 코드 작성 후 Run 하면 새로 업데이트된 코드를 가지고 avd에서 실행이 새로 되는데, 간혹 Error while waiting for device 어쩌구 하면서 이미 동작중이라고 어디 경로 가서. lock파일 다 삭제하라고 하면서 안되던가 아무 말도 없이 그냥 안 되는 경우가 있다. 그럴 때. lock 파일 삭제해도 안되면 안드로이드 스튜디오 껐다가 다시 켜서 avd실행시키지 말고 바로 deviceManager 들어가서 해당 avd를 Clod boot Now 하면 해결된다. 지금까지 이 방법으로 항상 해결 했당ㅎ 안드로이드 앱 개발 공부/자꾸 까먹어서 적어두는 구현방법 2023. 3. 6. [Android] Dialog, Toast, Snackbar 💡 Dialogs 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창 대화 상자는 화면을 채우지 않고 일반적으로 사용자가 진행하기 전에 조치를 취해야 하는 모달 이벤트에 사용된다. ialog 클래스는 dialogs의 기본 클래스이지만 Dialog를 직접 인스턴스화하지 않고, AlertDialog/[DatePickerDialog] or [TimePickerDialog](이 들 중 하나를 사용해야 한다. AlertDialog⇒제목, 최대 3개의 버튼, 선택 가능한 항목 목록 또는 사용자 정의 레이아웃을 표시할 수 있는 대화 상자 DatePickerDialog/TimePickerDialog⇒사용자가 날짜 또는 시간을 선택할 수 있는 미리 정의된 UI가 있는 대화 상자 💡 Toast 작.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 6. [Android] ANR ANR | Android 개발자 | Android Developers ANR | Android 개발자 | Android Developers ANR 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 앱의 UI 스레드가 너무 오랫동안 차단되면 'ANR(애플리케이션 응답 없음)' 오류가 트리거됩니다. 앱이 developer.android.com 💡 ANR : Application Not Responding 안드로이드 앱이 UI 스레드가 너무 오랫동안 차단되면 ANR오류가 나타난다. 다음 조건 중 하나가 발생하면 앱과 관련한 ANR이 트리거된다. 입력 전달 타임아웃: 앱이 입력 이벤트(예: 키 누름 또는 화면 터치)에 5초 이내에 응답하지 않은 경우 서비스 실행: 앱에.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 6. [Android] Main Thread(UI Thread ) 와 Worker Thread UI는 멀티스레드에서만 가능하도록 설계되어 있다. 오래 걸리는 작업은 worker Thread에서! public void onClick(View v) { new Thread(new Runnable() { public void run() { Bitmap b = loadImageFromNetwork(""); mImageView.setImageBitmap(b); // 여기서 오류 발생!! } }).start(); } →해결방법 public void onClick(View v) { new Thread(new Runnable() { public void run() { final Bitmap bitmap = loadImageFromNetwork(""); mImageView.post(new Runnable() { p.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 6. [Android] Thread 와 Process의 차이점 A. 프로세스는 메모리 상에서 실행 중인 프로그램을 말하며, 스레드는 이 프로세스 안에서 실행되는 흐름 단위를 말한다. 프로세스는 최소 하나의 스레드를 보유하고 있다. 프로세스는 자신만의 고유한 공간과 자원을 할당받아 사용한다. 스레드는 다른 스레드와 공간과 자원을 공유하면서 사용한다. Q. 프로세스의 문제점은? 프로세스 생성에 큰 오버헤드가 있다. ( 프로세스를 생성할 때 많은 시간이 소요됨 0) 프로세스 콘텍스트 스위칭의 비효율성, 오버헤드가 큼 프로세스 사이에 통신이 어렵다는 점 (IPC사용해야 함) Q. 스레드의 출현 목적은? 프로세스보다 크기가 작은 실행 단위 필요 프로세스의 생성 및 소멸에 따른 오버헤드 감소 빠른 콘텍스트 스위칭 프로세스들의 통신 시간, 방법 어려움 해소 Q. 스레드 주소공간.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 6. [Java] 백준 15686 : 치킨 배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1. 입력을 받으면서 치킨집과 일반 집의 좌표를 저장한다. for(int i=0; i 코딩테스트/백준 2023. 3. 6. Thread 와 Handler 💡 UI 작업은 Main Thread에서 처리해야 한다?! → 성능을 위해 멀티스레드를 많이 사용하지만 UI를 업데이트하는 데는 단일 스레드 모델이 적용된다. 멀티 스레드로 UI를 업데이트하면 동일한 UI 자원을 사용할 때 교착 상태(deadlock), 경합 상태(race condition) 등 여러 문제가 발생할 수 있어서 UI 업데이트를 메인 스레드에서만 허용한다. 앱 프로세스가 시작되면 메인 스레드가 생성된다. 컴포넌트의 생명주기 메서드와 그 안의 메서드 호출은 기본적으로 메인 스레드에서 실행된다. 메인 스레드는 UI를 변경할 수 있는 유일한 스레드이기 때문에 메인 스레드를 UI 스레드로 부르기도 한다. 💡 Thread(스레드) 동시 작업을 위한 하나의 실행 단위 앱을 실행하면 앱의 기본 실행을 담.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 4. [Android] PendingIntent Intent를 가지고 있는 클래스 다른 애플리케이션(다른 프로세스)의 권한을 허가하여 가지고 있는 Intent를 마치 본인 앱의 프로세스에서 실행하는 것처럼 사용하게 하는 것 즉, 다른 앱이 프로세스를 점유하고 있을 때 실행된다. [용도] Notification (푸시 알림)으로 Intent 작업 수행 시 사용 바탕화면 (런쳐) 위젯에서 Intent 작업 수행 시 사용 AlarmManager 를 통해 지정된 시간에 Intent 작업 수행 시 사용 PendingIntent 생성하는방법 Activity PendingIntent.getActivity(Context, Int, Intent, Int) Service PendingIntent.getService(Context, Int, Intent, Int) Bro.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 4. java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.SharedPreferences android.content.Context.getSharedPreferences(java.lang.String, int)' on a null object reference val auto =Activity().getSharedPreferences("autoLogin", MODE_PRIVATE) viewModel에서 이렇게 사용하니 Null을 참조했다면서 오류가 났다. Activity와 fragment 에서는 아래처럼 사용해서 데이터가 비어있어도 잘 처리되었는데, //Activity val auto = getSharedPreferences("autoLogin", MODE_PRIVATE) //Fragment val auto = this.requireActivity().getSharedPreferences("autoLogin", Activity.MODE_PRIVATE) Activity나 fragment 외의 class에서 사용하려니 오류가 나는 것 같았다, 그래서 activit.. 안드로이드 앱 개발 공부/자꾸 까먹어서 적어두는 구현방법 2023. 3. 4. [Android] Intent : 인텐트 인텐트는 메시징 객체로, 다른 앱 구성 요소부터 작업을 요청하는 데 사용할 수 있다. 인텐트 구성 요소 사이의 통신을 촉진하는 데는 여러가지 방식이 있지만 기본적으로는 크게 세가지로 나눌 수 있다. - 액티비티 시작 액티비티가 완료되었을 때 결과를 수신하려면, startActivityForResult()를 호출한다. 액티비티는 해당 결과를 이 액티비티의 onActivityResult() 콜백에서 별도의 Intent 객체로 수신한다. activity는 앱 안의 단일 화면을 나타낸다. activity의 새 인스턴스를 시작하려면 Intent를 startActivity()로 전달하면 된다. Intent는 시작할 액티비티를 설명하고 모든 필수 데이터를 담고 있다. - 서비스 시작 Intent는 시작할 서비스를 설.. 안드로이드 앱 개발 공부/안드로이드 기본(노션 이동) 2023. 3. 3. 이전 1 2 3 4 5 6 7 8 ··· 17 다음