Android, IOS/Android 11

[Android] for문으로 여러개의 리소스 읽어오기 (feat. getIdentifier, arraylist<hashmap>)

이 글은 Notion에서 작성 후 재편집한 포스트입니다. 목차 개요 안드로이드 작업을 하다보면 같은 이름에 숫자만 붙여서 여러개 변수를 생성하고, 연결시켜주는 작업을 굉장히 많이한다. 뭐 예를들면.. . . . . . 이런거? 이런게 5개 있다고 치자. XML에서야 뭐 그렇다 쳐도, 이걸 ㅋㅋ java파일에서 사용하려면.. TextView negBestCommId1 = view.findViewById(R.id.negBestCommId1); TextView negBestCommCon1 = view.findViewById(R.id.negBestCommCon1); ImageView negBestCommLikeImg1 = view.findViewById(R.id.posBestCommLikeImg1); Image..

[에러] android.support와 androidx 에러날 때

문제 사항 코드를 짜다보면 기존 android 라이브러리와 androidx 라이브러리간의 호환 및 충돌로 여러 문제가 많이 발생한다(..) 나도 정말 골머리를 앓아서 이렇게 메모해둔다. 원인 분석 일단 이 문제를 예시로들어보자. https://kkkapuq.tistory.com/36 [Android] RecyclerView 기본 사용법 개요 이번에 멀티메모 스와이프 삭제 기능 구현에 대해 공부하면서, 리사이클러 뷰에 대해 알게되었다. 일단 기본적인 개념은 해당 포스트에 굉장히 설명이 잘 되어있었다. 이 포스트는 아래 블로거님의 포스트를.. kkkapuq.tistory.com E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.a3_recyclerv..

[Android] RecyclerView 기본 사용법

개요 이번에 멀티메모 스와이프 삭제 기능 구현에 대해 공부하면서, 리사이클러 뷰에 대해 알게되었다. 일단 기본적인 개념은 해당 포스트에 굉장히 설명이 잘 되어있었다. 이 포스트는 아래 블로거님의 포스트를 기반으로 공부하여 나름대로 요약한 포스트이다. https://recipes4dev.tistory.com/154?category=790402 불러오는 중입니다... 요약하자면, 기존의 리스트뷰는 데이터의 조작이나 변경이 일어나면 매번 아이템 뷰를 전체적으로 새로 구성하지만, 리사이클러 뷰는 해당 부분만 바꿔주므로, 성능 측면에서 우수하다고 볼 수 있다. 한마디로 리스트뷰의 업그레이드버전. 그렇다면 리사이클러 뷰를 한번 만들어보자. 구성 요소 우리는 리스트뷰의 아이템 하나 하나를 원하는 모양으로 커스터마이징..

[Android Sutdio를 활용한 안드로이드 프로그래밍 개정 5판] 연습문제 9장 6번

문제 [직접풀어보기 9-2] 를 이전에 그린 도형이 계속 화면에 남아있도록 수정하시오. 결과 화면 XML 코드 얘는 별도의 xml코드가 없다. JAVA 코드 package com.example.homework5; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import a..

[에러] all com.android.support libraries must use the exact same version specification

문제 사항 원인 분석 일단 이 문제가 왜 생겼냐면. dependencies { implementation 'com.baoyz.swipemenulistview:library:1.3.0' } 스와이프 메뉴 리스트뷰를 사용하려면 이걸 의존성에 추가해야 한다고 한다. 근데 이러니까 갑자기 위의 에러간 난다. 찾아보니까 라이브러리 간의 버전 충돌이라고 한다. 즉, 직접 명시하지 않은 패키지를 외부 라이브러리에서 사용하니까 에러가 나는것이었다. 해결 방법 간단하다. 위에 쟤가 하라는대로 명시해주면 된다. implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support:animated-vector-drawable:2..

[Android Sutdio를 활용한 안드로이드 프로그래밍 개정 5판] 직접 풀어보기 8-2 및 응용

문제 SD카드에 있는 파일을 읽어와 이미지 뷰어를 만든다. 각각 이전 그림, 다음 그림 버튼이 있으며, 버튼 사이에 '현재 그림 번호 / 전체그림 개수' 텍스트뷰가 나타나게 한다. 토스트 메시지를 없애고, 첫 번째 그림에서 을 클릭하면 마지막 그림이, 마지막 그림에서 을 클릭하면 첫 번째 그림이 나오게 한다. 결과 화면 에뮬레이터 sd카드에 이미지 넣는방법은 책에 써있으니 따로 쓰지 않겠다. XML 코드 AndroidManifest.xml SD카드 접근을 위해 매니페스트에 권한을 추가해주자. activity_main.xml JAVA 코드 MyPictureView.java package com.example.a1_mypictureview; import android.content.Context; impor..

[Android Sutdio를 활용한 안드로이드 프로그래밍 개정 5판] 연습문제 7-6

문제 초기화면에서 라디오버튼으로 네 가지 동물 이름을 선택할 수 있고, 를 클릭하면 그림이 대화상자로 나오는 프로젝트를 작성하시오. 결과 화면 XML 코드 JAVA 코드 package com.example.homework3; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.RadioButton; public class MainActivity exte..

[Android Sutdio를 활용한 안드로이드 프로그래밍] 직접풀어보기 6-3

탭호스트를 이용해서 선택 앱을 작성하라. 탭 위젯을 아래쪽에 배치하고 탭은 4개가 나오도록 한다. 프레임레이아웃 안의 3개 리니어레이아웃을 제거하고 4개의 이미지뷰로 배치한다. 위에 존재하던 탭위젯을 아래로 내리는건 그냥 순서만 바꿔주면된다. package com.example.a4_test1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.TabHost; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onC..

[에러] AAPT 에러, Android resource linking failed

중간고사 공부하려고 예제를 풀어보는데, 개뜬금없이 이런 에러가 나왔다. XML코딩할때 텍스트뷰가 이상하게 되길래 그냥 렉때매 그런거겠거니 했는데.. 빌드가 안된다. 뭐가 문젠지 찾아봤다 ㅠㅠ 이런 어이없는 실수를 했다. 대부분 블로그에서 아래와 같이 프로젝트 스트럭쳐에 들어가서 Sdk version 문제라고 해서 손봤는데 이상이없어서.. 코드를 다시 한번 살펴봤더니 위와 같았다. (textcolor="00" , 원래는 text="00"이 맞음) 나는 몽총이다 힝

[Android Sutdio를 활용한 안드로이드 프로그래밍] 연습문제 5-6

다음 화면을 프로젝트로 완성하시오. 리니어레이아웃을 이용해서 XML코드로 만들고, 각 레이아웃을 클릭하면 레이아웃의 폭과 높이가 토스트 메시지로 출력되도록 Java 프로그래밍을 한다.(안쪽 레이아웃은 모두 정사각형이며, 크기는 안쪽 레이아웃부터 50dp, 150dp, 250dp 이다. 각 레이아웃의 색상은 서로 다르게 한다.) 방법이 두가지가 있다. 클릭 리스너를 무명클래스로 작성하는 방법과, 리스너를 클래스로 정의하는 방법이 있다. (무명클래스로 작성하는 방법이 쉬운데, 교수님이 코드를 줄이기 위해 사용하는 방법을 알려주셔서 써먹어본다.) import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.vi..