본문 바로가기

안드로이드

안드로이드 네이티브앱에 flutter 소스 사용하기 소개 안녕하세요. 김과자 입니다. 모든 앱을 flutter 로 만들수 없습니다. 기존의 앱을 전부 뜯어 고치는것은 결코 좋은 솔루션이 아닙니다. 아래의 방법을 통해 기존의 앱에 플루터 앱을 추가해보세요. 시작 이 방법은 기존의 네이티브 소스에 flutter 공통화 화면이나 코드를 추가하는 방법입니다. 안드로이드 네이티브소스 IOS 네이티브 소스 -> 플루터 화면 / 소스 추가 Module 작업 기존의 안드로이드 스튜디오 에서 작업하셔도 되지만 저는 cmd 로 생성해주겠습니다. 만들고자 하는 폴더로 이동후 > flutter create -t module --org com.example flutter_module_test 생성된 flutter module 을 오픈하시고 gradle 설정파일에서 자바 버전을 .. 더보기
Flutter 설치및 환경 셋팅 후 무지성 첫 실행 소개 안녕하세요. 김과자 입니다. 어렵게 어렵게 Flutter 설치를 완료하였습니다. 지난 시간에는 오류까지 잡고 환경셋팅을 완료하였습니다. ↓↓↓ 2023.06.15 - [개발 코딩 정보 공유/플루터 Flutter] - 앱개발 공룡 Flutter 설치진행 환경셋팅 방법 이번시간을 통해서 '일단 무지성 실행' 목표에 도달하게됩니다. 실행하기 일단 무지성 실행을 위해 아래의 세 가지 방법을 이용하겠습니다. 터미널 안드로이드 스튜디오 VS Code 터미널 맥 기준으로 터미널을 열어줍니다. 아래의 커맨드를 입력하겠습니다. >flutter create my_app >cd my_app 테스트 앱인 my_app 프로젝트를 생성해주고 해당폴더로 이동하겠습니다. 그리고 나서 실행할 devices 가 있어야 하겠죠? 저.. 더보기
안드로이드 앱 아키텍처 가이드 - ViewModel 편 개요 안드로이드 클린아키텍처 가이드에 따라서 이번편은 ViewModel 을 알아보겠습니다. ViewModel은 MVVM 패턴의 중간다리 역할 입니다. 분류를 하자면 presenter 쪽에 넣을수 있겠네요. Activity나 Fragment에서 들어온 요청을 받아서 넘기는 역할을 하게 되죠. 기존의 Activity 의 매시브한 클래스가 MVVM 패턴을 통해 한것 다이어트 되는 형태가 되는것이죠. 제가 느낀 핵심은 각각의 경계를 지키고 자기 할일만 하면됩니다. 시작 ViewModel은 클린아키텍트 3레이어에서 presentation 영역에 속합니다. ViewModel 사용의 가장 중요한 목표는 ViewModel 은 수명 주기를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었다는 것입니다. ViewM.. 더보기
안드로이드에서 사용하는 코루틴 (코틀린) 왜 이런글을? 안드로이드 (코틀린) 에도 코루틴을 통한 비동기 처리를 사용할수 있기 때문이죠. 안드진영에서는 대대손손 물려받은? 자바 계열의 스레드 개념을 활용하여 비동기 처리를 하곤 했습니다. 당연히 그렇게 사용했습니다. 그런데 이 스레드를 컨트롤 한다는건 매우 위험하고 어려운 복잡한 그러한 일이었기에...(대표적으로 메모리 문제 그리고 메모리 문제) 코틀린으로 넘어오면서 코루틴 이라고 하는 개념을 추가하여 비동기 방식의 로직처리를 안정적으로 할수 있게 되었습니다. (과연그럴까요?) = 정리 + 요약 하여 해당 내용을 공유 합니다. 코루틴? (Coroutine) 이름이 비슷하다고 해서 코루틴은 코틀린에서 새로 등장한 지식이 아닙니다. 아주 오래 전부터 기존에 있던 이론입니다. 코루틴(coroutine).. 더보기
flutter (플러터) 배우기 - 개념과 기초구현 안녕하세요. 김과자입니다. 최근 핫한 개발 프레임워크 이죠. 플러터(플루터) 를 알아봅시다. 플러터는 구글이 개발한 오픈 소스 모바일 애플리케이션 개발 프레임워크 입니다. 안드로이드, iOS용 애플리케이션 개발을 위해 세상에 나오게되었습니다. 사실 전에도 크로스플랫폼 개발을 위한 프레임워크들이 있었죠. 예를 들어 phonegap, cordova, ionic, react native...등등 이들의 목표 자체는 아마도 이것이겠죠? 한가지 방법 한번의 구현으로 여러가지 플랫폼을 일타쌍피!!신공 아... 생각만해도 너무 좋지만. 그에따른 이슈도 너무 많습니다. 그럼 어찌어찌 개발을 했다고 해서 native 를 몰라도 되는가? 그것도 아니란 말이죠. 결국엔 네이티브 작업을 좀 해줘야하죠. 정도의 차이일뿐. 어찌.. 더보기
웹뷰뿌시기 (webview) 파일업로드(사진업로드) 안녕하세요. 김과자 입니다. 오늘은 1편에 이어서 예정대로 웹뷰 뿌시기 2편 웹뷰계의 최강 빌런 !!! 파일업로드...에 대해서 알아보겠습니다. 웹뷰에서 파일업로드를 처리하기 위해서는 웹 소스에서 html5를 이용해서 form 태그에서 input type 을 file 로 지정하기만 하면 그 뒤는 식은죽 먹................ "여러분. 안드로이드 개발에 그런일은 없습니다." “의심하지 마세요. 모든것이 수동입니다.” … 그리하여 웹뷰에서 파일업로드를 처리하기위해서는 약 3가지 OS 버전에 대해 고려해야합니다. 왜냐구요? 버전별로 구현방식이 다릅니다. "네???" 하하하하ㅏㅎㅎㅎ하ㅏㅎ하ㅏ하ㅏ하... 웹뷰 뿌시기 2편 - 파일업로드(혹은 사진업로드) 시작해보겠습니다. 안드로이드 웹뷰상에서 파일(사진.. 더보기
웹뷰뿌시기(webview) 자주 쓰는 10가지 셋팅 안녕하세요. 김과자 입니다. 안드로이드 앱 개발중 웹뷰를 사용하여 개발하는 방식은 이제 아주 흔한 일이 되었죠. 네. 그렇습니다. 우리에게 익숙한 웹을 이용해서. 앱개발하는데 활용한다? 아싸 ! 개꿀!! 기존에 웹이 개발되어 있는걸 그냥 넣기만 하면 끝~?! 얼마나 좋습니까? "그런데 말입니다." 세상이 어디 그리 호락호락 한가요? 구글 새ㄲ... 아 아니 구글 님들이 얼마나 웹뷰를 잘 만들어 놓았느냐. "하핳하하핳ㅎㅎ하하하하핳..." 환영합니다. 지금 부터 여러분은 웹의 모든 동작을 수동으로 컨트롤 하게 될것입니다. 🙀 자. 그럼 이제부터 웹뷰 관련 셋팅을 연재해보겠습니다. - 자주 사용하는 것들 10가지 셋팅법 - 최강의 빌런. 파일업로드 문제!!! - 이건 진짜 심각한 ... window.open .. 더보기
firebase 를 이용한 안드로이드 채팅앱 안드로이드 채팅앱 (firebase 를 사용한) 안녕하세요. 오늘은 안드로이드 채팅앱을 만들어보려합니다. 말이 채팅앱이지 firebase 를 이용해서 만들면 정말 간단하게 구현할 수 있습니다. 구글 firebase는 정말 강력한 플랫폼인것 같습니다. 여러곳에서 사용되고 있는 FCM푸시 서비스도 그렇고 여러가지 강력한 서비스들을 무료로 사용할 수 있습니다. 이번에는 firebase 실시간 데이터베이스를 이용하여 앱을 만들어 보겠습니다. 우선은 firebase 프로젝트를 생성해야 합니다. 기존에 FCM 등에서 만들어둔 프로젝트에 추가하셔도 되구요. 이부분은 설명하지 않겠습니다. 1.추가된 프로젝트의 google-service.json 파일을 다운로드 받고 파일은 프로젝트/app 경로에 넣어주시면 됩니다. 다.. 더보기