Library KivyMD GUI

                   เนื่องด้วยความที่มันรองรับทุกแพลตฟอร์ม รองรับมัลติทัชสกรีน แถมยังพัฒนาเกมก็ได้ สรุปคือครบเครื่องมันเลยน่าสนใจนะครับ ก่อนอื่นเราก็มาลองติดตั้งกันก่อนละกัน (อันนี้  Document ของ kivy)

  1. sudo apt install python3-pip -y ติดตั้ง pip3 สำหรับใช้ดาวโหลดไลบรารี่ของไพธอนกันก่อนนะครับ
  2. sudo apt install virtualenv -y ตัดตั้งตัวใช้สร้าง environment แยก
  3. python3 -m virtualenv kivy_venv สร้างสภาพแวดล้อมของ kivy ด้วยชื่อ kivy_venv
  4. source kivy_venv/bin/activate เข้าไปข้างในสภาพแวดล้อมที่เราสร้าง (ต้องใช้ทุกครั้ง ก่อนใช้งาน Kivy นะครับ)
  5. python3 -m pip install kivy [full] ติดตั้ง kivy แบบตัวเต็ม หรือจะติดตั้งบางส่วนก็ได้เช่น [base], [media] (แต่ผมใช้ full นะ)
                   ทีนี้ก็เขียน script python ทดลองใช้งาน kivy กันนะครับ สร้าง script file มาอันนึง แล้วข้างในก็ใส่โค้ดไว้ตามนี้

          #!/usr/bin/env python3  #บอกให้ใช้ตัวแปลภาษาของไพธอน

          from kivy.app import App #เอาไลบรารี่ของ kivy เข้ามาใช้
          from kivy.uix.label import Label #เอาไลบรารี่ widget ที่เกี่ยวกับ label เข้ามาใช้

         class MainWindowApp(App): #สร้างคลาสของเราไว้รันแอป
           def build(self): #ทำฟังก์ชั่น
           return Label(text='Hello world') #ให้ฟังก์ชั่นแสดงตัวอักษรคำว่า Hello world

          MainWindowApp().run() #สั่งให้คลาส MyApp ทำงาน

                   ถ้าหลังเปิดเครื่องใหม่อย่าลืมใช้คำสั่ง  source kivy_venv/bin/activate เข้าไปที่ environment ของ kivy ก่อน แล้ว cd ไปที่โฟลเดอร์ที่มี script ของเราอยู่ สั่งรันด้วย python3 NameScript .py นะครับ จากตัวอย่างมันจะขึ้นหน้าจอใหม่พร้อมคำว่า 'Hello world' นะครับ เนื่องจากว่าเรายังไม่ได้เขียน file.kv ที่ใช้เป็นตัวกำหนดลักษณะของ GUI ให้มันนะครับ 
                   
                แต่เอาจริงๆ เราอยากได้ GUI ที่สวยงามนะครับ เพราะฉะนั้นเราจึงต้องเพิ่ม library kivymd เข้ามานะครับ ก่อนอื่นติดตั้งด้วยคำสั่ง pip install kivymd นะครับ (อันนี้ Document ของ kivymd และตัวอย่าง icon ได้ ที่นี้นะครับ)
                   
                   ตรงนี้เป็นวิธีในการติดตั้งและ build kivy, kivymdเป็น apk สำหรับใช้บนแอนดรอย์ด้วย buildozer นะครับ
  1. แยกโฟลเดอร์สำหรับ build apk แล้วก็อปไฟล์ที่จะใช้เข้าไป แก้ไฟล์ของหน้าแรกเป็น main.py แล้วเปิด terminal เข้าไปในโฟลเดอร์นั้น แล้วเริ่มติดตั้งส่วนประกอบที่จำเป็น
  2. pip3 install --user --upgrade buildozer
  3. sudo apt update
  4. sudo apt install -y git zip unzip openjdk-13-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev
  5. pip3 install --user --upgrade Cython==0.29.19 virtualenv
  6. sudo nano ~/.bashrc เข้าไปข้างในไฟล์เพื่อเพิ่มข้อมูลที่ล่างสุดของไฟล์ตามข้อ 7
  7. export PATH=$PATH:~/.local/bin/ ใส่ส่วนนี้เข้าไปแล้วกด Ctrl+s กับ Ctrl+x เพื่อเซฟ และออกจากไฟล์
  8. source ~/.bashrc รีโหลดค่า config  ที่เราตั้งไปใหม่ ไม่งั้นจะยังมองไม่เห็น buildozer จนกว่าจะรีเครื่อง
  9. buildozer init สร้างไฟล์ buildozer.spec เพื่อใช้ระบุข้อมูลแอปของเรา
  10. nano buildozer.spec หรือจะเปิดผ่านพวกโปรแกรมจัดการ .txt ก็ได้
  11. ส่วนนี้ถ้าหาอันไหนไม่เจอกด Ctrl+f แล้วใส่คำค้นลงไปได้นะครับ
    • title = App Name แก้ไขให้เป็นชื่อแอปของเราจะใส่ตัวใหญ่มีเว้นวรรคก็ได้ (flutter ใส่ตัวใหญ่ กะเว้นวรรคไม่ได้นะ ไม่ยอมตอนสร้างโปรเจ็ค แต่แก้ชื่อทีหลังให้เป็นตัวใหญ่แล้ว build ได้) แต่ห้ามมีสัญลักษณ์พิเศษ
    • package.name = Package Name อันนี้ชื่อตัวไฟล์ apk
    • source.include_exts = py,png,jpg,kv,atlas ใส่นามสกุลไฟล์ที่เราใช้ทั้งหมดลงไป
    • requirements = python3,kivy==2.0.0,kivymd==0.104.1,pyjnius,plyer,requests,urllib3,chardet,idna,pip,Image,Pil ส่วนนี้ใส่ชื่อ library ที่เราใช้เข้าไป buildozer จะโหลดมาใช้ตอน build apk ให้เอง (ถ้าใส่เกินมันจะแจ้ง warnning แต่ไม่เป็นไรยังใช้งานได้ แค่มันเสียเวลาโหลดเพิ่ม) ซึ่งส่วนนี้คือส่วนที่มีปัญหาเยอะสุดตอนจะทำ apk เลยละ 
    • เปิดใช้งานคำสั่ง android.logcat_filters = *:S python:D ด้วยการลบเครื่องหมาย # หน้าคำสั่งทิ้งไป แล้วเซฟ
  12. buildozer android debug deploy run logcat หรือ buildozer -v android debug มันจะเริ่มดาวน์โหลดอะไรก็ตามที่จำเป็น ในการใช้งานครั้งแรกจะนานมาก แล้วก็มีถามให้กด y ยืนยันเป็นบางครั้ง ตรงนี้ถ้าเราใส่ค่าใน buildozer.spec ไม่ครบมันจะเด้งเออเรอร์ออกมาเรื่อยๆ ถ้าใส่ครบก็จะได้โฟลเดอร์ bin ที่มีไฟล์ apk อยู่ด้านใน ก็สามารถเอาไปติดตั้งในมือถือของเราได้แล้วครับ 
                    ปล. การ build apk ซ้ำในโปรเจ็คอื่นๆ กรณีสร้างโฟลเดอร์ใหม่ใช้แค่คำสั่งในข้อ 9-12 นะครับ แล้วก็ถ้าใครใช้ window ก็ลองการ build ผ่าน colab ดูนะครับ
 
 

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

โปรโมชั่นเน็ต TOT

โน๊ตบุ๊ค acer switch sa5-271 แบตบวม T^T

Blog นี้สร้างเพื่อ?