클린아키텍쳐 기반으로 안드로이드 앱 프로젝트 시작하기

안드로이드 앱을 처음 개발하고, 시간이 흐르면 좀 더 잘 정리된 구조로 리펙토링을 하고 싶거나, 해야하는 상황이 오기 마련입니다. 어떤 이는 가독성과 유지보수성을 좋게 하기 위해서일 수도 있고, 어떤 이는 협업을 위해서일 수도 있습니다. 그리고 여러 잘 짜여진 구조들을 공부하면서 리펙토링을 마치고, 추후에 시작될 신규 개발 프로젝트는 잘짜여진 구조로 처음부터 시작을 하게 되고, 우리의 실력은 조금더 … Read more

[Android] 안드로이드 앱에서 PDF 파일 생성하기 (PDFBox)

앞선 글에서는 iText7 라이브러리를 이용하는 PDF 생성 방법을 알아보았습니다. 하지만 AGPL 라이센스 정책으로는 수익을 목적으로 하는 상용 앱에서는 사용할 수 없습니다. 무료로 사용하고자 한다면 라이브러리를 이용한 소스코드 전체를 공개해야 하기 때문입니다. 따라서, PDF 생성기능을 프로그램 내에서 주된 기능으로 사용한다면 유료로 사용하는 것도 나쁘지 않지만 단순한 PDF 출력만을 사용하고자 한다면 다른 라이브러리를 찾는 것이 좋을것 같습니다. … Read more

[Android] 안드로이드 앱에서 PDF 파일 생성하기 (IText7)

안드로이드 앱에서 PDF 파일로 출력하는 방법을 정리하여 공유합니다. 여러 블로그를 돌아다녀 봤으나 마음에 드는 방법을 찾을 수 없어 itextpdf.com 에서 제공하는 라이브러리를 사용해보았습니다. 하지만 itext5, 7은 사이트상에서 명기하길 AGPL 라이센스 정책을 따른다고 표기되어있습니다. 따라서 상업용 앱개발을 하시는 분들은 유료로 사용하셔야 할 것 같습니다. 이제 사용법을 알아보겠습니다. 새프로젝트를 하나 만들고, 각각의 파일에 다음과 같이 코드를 추가합니다. … Read more

안드로이드 앱개발을 위한 에뮬레이터 환경 구축 – 2

안드로이드 에뮬레이터 환경 구축 – 1 에서 재부팅을 하고 난 뒤에 Genymotion을 실행합니다.계정을 생성하고 로그인을 합니다. 개인 사용자에 한해서 무료로 사용할 수 있으니 \”Personal set\”을 선택 후, Next 버튼을 누릅니다. \”Personal Use\” 선택시 아래와 같은 메시지가 뜨면 \”Agree\”를 눌러줍니다. 라이센스 정책에 대한 동의를 체크하고 Next 버튼을 눌러 다음으로 진행합니다. 프로그램이 실행되면 아래와 같은 화면이 나옵니다. … Read more

안드로이드 앱개발을 위한 에뮬레이터 환경 구축 – 1

안드로이드 앱 개발시에 대부분의 개발자들이 에뮬레이터를 활용합니다. 안드로이드 스튜디오에 포함된 AVD를 이용해도 충분히 앱을 개발하는데에는 부족함이 없지만 좀더 강력한 기능을 가진 Genymotion을 이용하여 개발환경 구축하는 법을 포스팅 해보겠습니다. Genymotion은 VirtualBox라는 가상머신 소프트웨어와 연동하여 사용하는 에뮬레이터입니다. 따라서 가상머신들간의 가상 네트워크 구성도 할 수 있습니다. 추후에는 가상 네트워크 기능을 이용한 Android to Android 간의 TCP 소켓 통신 … Read more