일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Rxjava Observable
- 안드로이드 레트로핏 사용법
- 안드로이드 os 구조
- rxjava cold observable
- 2022 플러터 안드로이드 스튜디오
- 클래스
- 스택 큐 차이
- 안드로이드 유닛 테스트
- 2022 플러터 설치
- rxjava hot observable
- rxjava disposable
- 스택 자바 코드
- 안드로이드 레트로핏 crud
- 안드로이드 라이선스
- ANR이란
- 안드로이드 유닛 테스트 예시
- 서비스 vs 쓰레드
- android retrofit login
- 안드로이드 라이선스 종류
- 플러터 설치 2022
- 안드로이드 유닛테스트란
- ar vr 차이
- android ar 개발
- jvm이란
- 멤버변수
- 자바 다형성
- 객체
- jvm 작동 원리
- 서비스 쓰레드 차이
- 큐 자바 코드
- Today
- Total
목록Android (402)
나만을 위한 블로그
PHP 스크립트 import android.Manifest; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.util.Base64; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcomp..
내 경우 이 에러는 를 써서 갤러리, 카메라에서 이미지를 가져오기 위한 코드를 짠 후 앱을 빌드할 때 나타났다. 먼저 에러 뜻을 알기 위해 번역기로 돌려봤다. - 자리 표시자 대체가 필요하지만 에 대한 값은 제공되지 않습니다. 그리고 스택오버플로우를 찾아봤지만 딱히 해결책은 보이지 않아서 혹시나 하는 마음에 아래와 같이 해봤다. 먼저 앱 수준 gradle 파일 상단을 보면 이런 항목이 있다. defaultConfig { applicationId "com.example.my.app" ... } 매니페스트에 applicationId 속성이 있는 defaultConfig란 중괄호가 있다. 그리고 난 에 이렇게 썼었다. android:authorities="${com.example.패키지명}.provider" ..
이 에러를 번역기에 넣고 돌리면 아래의 결과가 나온다. 내용은 조금 자연스럽게 의역했다. - swipelayout 뷰 계층 구조를 만든 원래 스레드만 해당 뷰를 만질 수 있습니다. 이게 뭔 소린가 싶어 찾아봤더니 핸들러나 runOnUiThread() 쓰면 끝나는 문제였다. runOnUiThread() 안에 swipelayout 함수를 넣었더니 에러 없이 잘 된다. 내 경우엔 한 액티비티의 2곳에서 swipelayout을 쓰는데 그거 때문인가...
보호되어 있는 글입니다.
PHP 파일을 작성 후 포스트맨에서 값을 넣어보고 테스트하면 잘 나오는데 안드로이드에선 나오지 않을 때가 있다. 혹은 하나는 나오고 나머지는 안 나오는 경우도 있을 수 있다. 이럴 때 확인할 것들을 내 나름대로 정리하려고 쓴다. 1. PHP 파일에서의 오타 : 난 VSC를 써서 PHP 파일을 작성하는데 VSC에선 PHP 문법 오류가 아닌 이상 어디가 틀렸다고 알려주지 않는다. 그래서 PHP에서 INSERT 문을 사용하고 array_push()를 써서 안드로이드로 값을 전달하는 파일을 만든 후에 포스트맨으로 테스트하면 잘 나오지만, 안드로이드에서 확인하면 안 나오는 경우가 발생할 수 있다. 이 경우엔 array_push() 안에 들어가는 '' 안의 컬럼명에 오탈자가 없는지 확인해보자. SQL문도 제대로 썼..
이 에러는 구글맵 사용 시 필요한 의존성들의 버전을 맞춰주지 않으면 생기는 에러다. 예를 들어 이런 의존성 문장이 있다고 한다면 implementation 'com.google.android.gms:play-services-maps:17.0.0' implementation 'com.google.android.gms:play-services-location:17.0.0' implementation 'com.google.android.gms:play-services-places:12.0.1' 다른 건 17.0.0인데 마지막의 places 의존성이 12.0.1이라 서로 호환되지 않아서 앱 빌드 시 제목과 같은 에러가 발생한다. 버전을 모두 17.0.0으로 맞춰주면 해결되는 간단한 에러다.
매니페스트의 태그 최하단에 를 만들어준다. 현재 안드로이드 스튜디오가 androidx로 버전업된 상태고 구글링하면 android.support 이런 식의 코드들이 나오는데 다 필요없고 이렇게 쓰면 된다. 3번째 줄의 authorities 옆 com.example.패키지명에는 자신의 프로젝트의 패키지명을 쓰면 된다. 패키지명 부분이 absolute라면 {com.example.absolute}.provider라고 써주면 된다. 그리고 자바 클래스의 카메라에서 이미지를 가져오는 함수는 이렇게 설정하면 된다. private void takePhoto() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); try { tempFile = createIma..
위 에러는 이미지를 다룰 때 생기는 에러다. 아마 카메라에서 사진을 찍고 파일로 만들어서 이미지뷰로 set할 때 발생했던 걸로 기억한다. 해결법은 경로를 바꿔주면 된다. xml 패키지에 paths.xml 혹은 provider_paths.xml 파일을 만들고 이 안에 태그를 넣었을 것이다. 이 때 name 속성과 path 속성을 지정해주는데, path="."으로 설정해주면 된다. name 속성은 storage/emulated로 하든 my_images로 하든 상관없다. 이렇게 바꿔주면 해결된다.
TedPermission을 쓰면서 이런 에러가 나타났다. 구글링하니 만드신 분이 깃허브의 Issues에 올린 다른 사람의 질문글에 답변을 단 것을 발견했다. 해당 에러는 2.1.0 버전에서 해결됐으니 라이브러리 버전을 업그레이드하라고 한다. 2.1.0 이상 버전으로 업그레이드 해주면 제목의 에러는 해결된다. 20.06.16 기준 최신 버전은 2.2.3이다. 가장 최신 버전으로 바꾸고 빌드하면 onPermissionDenied()의 인자가 ArrayList에서 List로 바뀌어서 새로 바꾸라는 내용의 빨간 줄이 뜬다. 이 부분만 Alt + Enter를 쳐서 바꿔주면 문제없이 돌아간다.

※ 이 글은 내가 자주 쓰는 플래그들을 적어두고 각각 어떤 기능을 하는지 정리하기 위해 쓰는 글이다. 모든 플래그들을 다루진 않는다. ※ 이 글에선 인텐트 플래그와 플래그라는 말을 혼용해서 사용한다. 둘 다 같은 단어라고 보면 된다. 안드로이드 앱 개발을 하다보면 때로는 특정 액티비티의 시작을 제어할 수 있어야 한다. 글 작성 버튼을 누르면 이전 액티비티를 다시 나오게 해야 한다고 가정하자. 이 때 플래그를 설정하지 않으면 같은 액티비티가 하나 더 생겨서 백버튼을 누르면 같은 액티비티를 2번 봐야 하는 일이 생길 수 있다. 이런 일을 방지하기 위해 존재하는 게 플래그다. 인텐트 플래그라고도 불리는 플래그를 쓰면, 액티비티 스택에 어떤 액티비티가 무슨 액티비티의 위에 있건 아래에 있건 상관없이 원하는 액티..