파이썬으로 안드로이드 간단한 메모장 앱 만들기 -1 (간단하지 않았음) with Kivy

2023. 5. 6. 01:01프로젝트/안드로이드 간단한 메모장 앱

개인 토이프로젝트로 aos 에서 돌아가는 앱을 한번 만들어보자 였는데...

아주 힘들었다.

 

Kivy

# What is Kivy?

Kivy는 Android, iOS, Windows, macOS, Linux 등의 플랫폼에서 실행되는 애플리케이션을 만드는 데 사용.
사용하기 쉬운 API를 제공하며, 이를 통해 개발자들은 소프트웨어의 사용자 인터페이스(UI)와 상호 작용을 구현할 수 있다. 
그래픽, 텍스트 렌더링, 애니메이션, 사용자 입력 처리 등의 기능을 지원, 동시에 성능 최적화를 위해 GPU 가속을 이용.

 

# The good stuff about Kivy

1. 다양한 플랫폼 지원: Kivy는 Android, iOS, Windows, macOS, Linux 등 다양한 플랫폼에서 작동하는 애플리케이션 개발을 지원.
2. 사용자 인터페이스(UI) 구성: Kivy는 사용자 인터페이스를 구성하기 위한 다양한 위젯(버튼, 슬라이더, 텍스트 입력 상자 등)을 제공.
3. 멀티 터치 지원: Kivy는 멀티 터치 이벤트를 처리할 수 있어, 터치 스크린 기반의 애플리케이션 개발에 적합.
4. 이벤트 기반 프로그래밍: Kivy는 이벤트 기반 프로그래밍 모델을 사용하여, 사용자 입력 및 다른 이벤트에 대한 응답을 처리.
5. 성능 최적화: Kivy는 OpenGL ES 2를 사용하여 그래픽 렌더링을 가속화하고, 애플리케이션 성능을 최적화.

 

정리

 파이썬으로 빠르게 개발하고 프로토타입을 만들 수 있음!

 

 

 1. kivy 라이브러리 설치
pip install kivy[base] kivy_examples

1. kivy[base]
    kivy 기본 버전 설치, [base] 기본 기능만 포함하고 추가적인 종속성은 설치하지 않음.

2. kivy_exmaple
    kivy라이브러리와 함꼐 제공되는 예제 코드.

 

from kivy.app import App
from kivy.uix.label import Label

class KivyMemoApp(App):
    def build(self):
        return Label(text="메모장 어플 입니다!")

if __name__ == "__main__":
    KivyMemoApp().run()

실행하면

 

ㅁㅁㅁ ㅁㅁ ㅁㅁㅁ!

한글이 깨진다!

 

from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path

resource_add_path('.')
LabelBase.register(DEFAULT_FONT, "./MaruBuriTTF/MaruBuri-Regular.ttf")

main.py 에 이 내용을 추가하여 폰트를 가져온다.

폰트는 https://hangeul.naver.com/font

 

네이버 글꼴 모음

네이버가 만든 150여종의 글꼴을 한번에 만나보세요

hangeul.naver.com

에서 가져왔다.

 

해결

 

 

728x90