Android
안드로이드 - csv 파일 읽기
오늘은 아래 사이트의 opencsv라는 라이브러리를 이용해 csv 파일을 읽어오는 방법에 대해 알아 보겠습니다. https://mvnrepository.com/artifact/com.opencsv/opencsv build.gradle(Module)에서 아래와 같이 의존성을 추가해줍니다. implementation 'com.opencsv:opencsv:5.6' 그 후 asset 폴더를 아래와 같이 생성 후 읽어 올 csv 파일을 넣어 줍니다. 제가 읽어올 파일은 동물 병원 정보가 담긴 csv 파일 입니다. assets 파일을 읽기 위해서는 assetManager를 사용해야 합니다. open을 통해 inputStream을 가져온 후 CSVReader에 inputStreamReader를 사용해서 읽어들입니다...
Android - 아키텍쳐 패턴 (MVVM)
안드로이드를 공부한 기간이 그리 길지 않아서 그런지 개인 프로젝트를 진행 하면서 코드가 점점 산으로 가는게 느껴졌다. 어떻게 해야지 다른 사람이 보기 쉽고 추후에 유지 보수가 쉬운 코드를 짤까? 라는 질문을 스스로 던졌고, 그 질문에 답하기 위해 이 글을 작성한다. Github에서 다른 개발자 분들이 만들어 놓은 앱을 종종 구경하곤 하는데 ReadMe 파일에 어떤 Architecture Pattern를 사용해서 개발 했다고 기술 되어 있는걸 볼 수 있었다. 제일 자주 보였던건 MVVM, MVC 패턴 이였고 그 외에 MVP 패턴이 보였었다. 그렇다면 MVVM, MVC, MVP 패턴은 뭐고 아키텍쳐 패턴은 또 뭘까? Architecture Pattern? 아키텍처 패턴은 소프트웨어 공학의 다양한 문제를 해결..
안드로이드 - Kotlin login 구현 (PHP, mysql, volley)
대부분의 어플을 보면 로그인 기능이 있는데요, 이번에는 php와 mysql을 이용하여 아래의 영상같이 로그인 기능이 작동하도록 하는 방법에 대해 알아보겠습니다. 우선 로그인, 회원가입 화면을 보여줄 UI를 먼저 구성해 봅니다. activity_login.xml activity_register 인제 인터넷 통신을 위한 Volley 라이브러리 의존성 주입과 인터넷 권한을 아래와 같이 설정해주세요 (Gradle : Module) dependencies { implementation 'com.android.volley:volley:1.2.0' } AndroidManiFest.xml http://helloworld.dothome.co.kr/myadmin sql탭에 들어가셔서 아래 구문을 적어 줍니다. CREATE..
Android - Mac북 에뮬레이터 인터넷(와이파이 안될 경우)
안드로이드 맥북 에뮬레이터 인터넷이 안될 때 시스템 환경설정 -> 네트워크 -> 현재 연결된 인터넷 -> 고급 -> DNS -> 8.8.8.8 추가 -> 에뮬레이터 재실행
Android BottomNavigation Bar Round효과
drawable -> bottom_nav_round.xml 파일 생성후 아래와 같이 작성 BottomBavigation태그 안에서 background color를 방금 만들어준 xml파일로 설정 android:background="@drawable/bottom_nav_round" 이렇게하면 위와 같이 변경된다.
안드로이드 액티비티간 화면 전환 및 데이터 전달 (Intent) - Kotlin
MainActivity에서 SubActivity로 전환 해주기 위해서 SubActivity를 만들어 주어야 합니다. 프로젝트 파일에서 왼쪽 클릭을하여 Empty Activity를 생성해줍니다. Activity Name과 Layout Name은 편하실대로 지어주시면 됩니다. Main Activity에서 Sub Activity로 넘어가주기 위해서 버튼을 하나 배치해줍니다. 전환될 Sub Activity도 아래와 같이 배치 해줍니다. 인제 전환될 화면 구성이 완료 되었으니 코드를 작성해 주어야 겠죠? 우선 뷰 바인딩을 위해 아래와 같이 설정 해줍니다. build.gradle (Module)에 들어가서 buildFeatures안에 view Binding true로 설정해줍니다. class MainActivity..