본문 바로가기
반응형

전체 글36

안드로이드 카드뷰(CardView) 배경색 개별 설정 Abstract. 안드로이드 개발을 진행하면서 카드뷰(CardView) 또는 리사이클러뷰(RecyclerView)를 사용할 때, 사용되는 아이템의 배경색을 각각 개별로 설정하고 싶어졌다. 보통은 카드뷰나 리사이클러뷰를 사용하면 하나의 아이템 레이아웃을 이용하여 액티비티 레이아웃에 연결하여 구현하고는 하는데, 일반적으로 아이템의 배경색은 한가지로만 설정이 된다. xml 레이아웃 파일 작성 먼저 레이아웃 파일을 만들어보자. 본 포스팅에서는 메인 액티비티를 DashboardActivity로 명명하도록 하겠다. 만들어야 할 레이아웃 파일은 이에 따라 activity_dashboard.xml과 item_dashboard.xml이 되겠다. 기본적으로 데이터바인딩을 사용하기로 한다. 해당 코드는 기존에 개인적으로 사.. 2024. 4. 7.
안드로이드 스튜디오 깃허브 연동 Abstract. 개발 업무를 진행하다보면 내가 작업한 내용이 어디까지인지, 어느 부분이 수정되었는지 확인하기가 어려운 경우가 있다. 이를 돕기 위해 안드로이드 스튜디오에서는 깃허브 연동 기능을 제공한다. 안드로이드 스튜디오에서 깃허브 계정을 등록하고 깃허브 Repository를 연결하면 커밋과 푸시(Commit/Push) 기능을 이용하여 작성한 코드를 깃허브에 업로드할 수 있다. 이 기능을 이용함으로써 내가 작업한 코드의 변경 내용을 안드로이드 스튜디오를 통해 실시간으로 확인할 수 있으며, 버전 관리에도 용이하다. 이번 포스팅에서는 안드로이드 스튜디오와 깃허브를 연결하는 방법을 알아보도록 한다. 깃허브 레파지토리 생성 안드로이드 스튜디오와 깃허브를 연동하기 위해 먼저 깃허브 계정이 있어야 한다. 계정이.. 2023. 10. 15.
안드로이드 에러 javax.xml.stream.XMLStreamException ParseError at [row,col][9,210] 원인 및 해결 Abstract. 액티비티 자바코드에 DataBinding을 사용하기 위해 xml 파일 셋팅을 하고, 테스트를 위해 실행을 했더니 빌드 과정에서 XMLStreamException 에러가 발생했다. 결론적으로 에러의 원인은 xml 파일에서 태그 안에 layout_width 속성이 중복되어서 발생하는 것이었다. 따라서 태그 안의 layout_width, layout_height 속성을 제거하여 문제를 해결할 수 있다. 자세한 내용은 다음에서 설명한다. 1. 에러 내용 DataBinding을 사용하기 위해 xml 파일의 가장 바깥쪽 태그를 태그로 수정했다. 그리고 테스트를 위해 실행을 해보았는데, 다음과 같은 에러가 발생했다. Caused by javax.xml.stream.XMLStreamException .. 2023. 10. 4.
안드로이드 상단 타이틀바 상태바 없애기 Abstract. 안드로이드 스튜디오 버전이 업그레이드 되면서 어느 순간부터 화면 상단 타이틀바가 자동으로 없어지는 것을 알 수 있었다. 실제 앱을 개발하면서 커스텀 타이틀바를 많이 사용하다보니 개발자의 편의를 위해서 디폴트값으로 상단 타이틀바를 없애준 것 같다. 이번 포스팅에서는 상단 타이틀바와 상태바를 없애는 방법을 알아보고, 기존의 것들과 비교해본다. 1. 상태바와 타이틀바 예전에는 안드로이드 스튜디오의 프로젝트를 생성하여 실행하면 다음과 같이 상태바와 타이틀바가 기본적으로 생성되는 것을 볼 수 있다. 가장 위에 각종 알람이 표시되는 바를 상태바(Status Bar), 그 아래 앱 이름이 표시되는 타이틀바(Title Bar)라고 한다. 2. 상태바와 타이틀바 편집 타이틀바를 편집하기 위해서는 디렉터.. 2023. 10. 3.
안드로이드 권한 체크 구현(Permission Check) Abstract. 안드로이드 알람 기능을 구현하는 프로젝트를 진행하면서 퍼미션 체크가 제대로 되지 않아 삽질을 한 경험이 있다. 이전에는 단순히 AndroidManifest.xml에서 태그를 사용하여 필요한 권한을 등록하는 것으로 앱이 설치될 때 권한 등록이 되도록 기능을 사용했었는데, 안드로이드 SDK 23 이상부터는 앱이 실행되었을 때 권한 등록이 별도로 필요하다. 이것 때문에 알람기능이 계속 작동하지 않은 경험이 있었기에 이번 포스팅에서는 권한설정 기능을 일괄로 묶어서 앱이 실행될 때 퍼미션 체크를 할 수 있도록 구현해본다. 퍼미션 체크 구현 퍼미션 체크를 구현하기 위해서 가장 먼저 사용하고자 하는 퍼미션을 AndroidManifest.xml에 등록한다. 가장 흔하게 사용하는 알람 기능 관련 퍼미션.. 2023. 9. 19.
안드로이드 스튜디오 플라밍고 자바 프로젝트 생성 방법 노트북을 바꾸거나 하면 안드로이드 개발을 위한 개발환경 설정을 다시 해야 하는 경우가 생긴다. 안드로이드 스튜디오 다운로드부터 설치 및 실행까지의 전 과정을 진행하는데, 새로 설치하는 김에 최신버전을 사용해보기로 하고 안드로이드 스튜디오 공식 홈페이지의 최신 버전을 다운로드하여 설치했다. 자바 언어를 기본 언어로 사용하여 개발하고 있는 나에게 한 가지 문제점이 발생했는데, 첫 프로젝트 생성 시 개발언어 설정이 없고, 코틀린 프로젝트가 생성된다는 점이다. 이렇게 되면 상당히 불편한 상황이 발생하기 때문에, 1시간을 넘도록 헤메다가 겨우겨우 해결 방법을 찾았다. 중요 내용을 요약하면 프로젝트 생성 시 Empty Views Activity를 선택하여 프로젝트 생성을 하면 된다. 1. 안드로이드 스튜디오 플라밍.. 2023. 5. 27.
안드로이드 스튜디오 설치(2023.05.27. 기준) 안드로이드 개발을 하기 위해서는 개발 프레임워크인 안드로이드 스튜디오가 필요하다. 이번 포스팅에서는 안드로이드 스튜디오 최신 버전인 플라밍고 버전을 설치하고 실행해보도록 한다. 1. 안드로이드 스튜디오 다운로드 가장 먼저 안드로이드 개발을 위한 프레임워크인 안드로이드 스튜디오를 다운로드한다. 다운로드 사이트는 다음의 링크를 타고 들어가서 받으면 된다. 안드로이드 스튜디오 다운로드 링크 : https://developer.android.com/studio Download Android Studio & App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE).. 2023. 5. 27.
안드로이드 에러 Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. 원인 및 해결 Abstract. 기존에 정상 작동하던 알람 기능이 실행 시 에러가 발생하며 앱이 다운되는 현상이 발견되었다. 테스트를 진행하며 왜 그런 것인지 확인해보니, Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. 라는 내용의 에러 메시지를 확인할 수 있었다. 결론적으로 말하자면 안드로이드 버전이 31 이상인 경우 FLAG_UPDATE_CURRENT를 사용하면 충돌이 일어나기 때문이었다. 1. 에러 내용 알람 시간을 설정하고 설정된 시간이 되면 알람을 확인할 수 있는 알람기능을 테스트 하던 중 다음과 같은 에러가 발생하는 것을 .. 2023. 4. 19.
반응형