24 ตุลาคม 2558

Published 10/24/2558 by with 0 comment

ทำแอพ Android ด้วยภาษาไพทอน ตอนที่ 2 Webview

สวัสดีผู้อ่านทุกท่านครับ หลังจากบทความที่แล้ว ทำแอพ Android ด้วยภาษาไพทอน บทความนี้ผมจะพาผู้อ่านไปลองทำแอพ Android ด้วยภาษาไพทอนด้วย Webview กันครับ

ผมใช้ CSS ของ Materialize จาก http://materializecss.com ในการออกแบบหน้าแอพ ผมลองสร้างไฟล์ index.html โดยผมโหลด template http://materializecss.com/templates/starter-template.zip
แตกไฟล์ออกมาแล้วแก้ไขไฟล์ index.html
ตรงคำสั่ง javascript นี้

[javascript]
var droid = new Android();
function post(input) {
droid.eventPost("say",input);
}
[/javascript]

เป็นคำสั่งสำหรับส่งข้อมูลเชื่อมต่อกับ Python เมื่อรันผ่าน Webview ของ sl4a เมื่อกรอกข้อมูลลง

ต่อไปลองเขียนโค้ดภาษาไพทอนกัน
hello.py

[python]
from android import Android
import os,time,sys
droid = Android()

filecurrent = sys.path[0]+"/index.html" # ดึงตำแหน่งไฟล์ปัจจุบันของ index.html
print(sys.path[0])

droid.webViewShow(filecurrent) # ดึงไฟล์ index.html เข้ามาแสดงด้วย Webviews api

while True:
event = droid.eventWait().result # รอรับข้อมูลที่ส่งมา
# รับข้อมูลที่ได้เข้ามา
data = str(event['data'])
droid.makeToast("ตอนนี้กำลังพูด "+data) # แสดงว่ากำลังจะพูดอะไร
# TTS พูดออกมา
droid.ttsSpeak(data)
[/python]

เสร็จแล้ว บันทึก hello.py ไว้ในโฟลเดอร์เดียวกันกับไฟล์ index.html แล้วบีบอัดไฟล์ทั้งหมดเป็นไฟล์ my_python_project.zip แล้วนำไปวางแทนที่ไฟล์ my_python_project.zip เดิม ที่ apk-3.2 -> app -> scr -> main -> res -> raw เสร็จแล้วเปิด Android Studio ขึ้นมา
โหลดไฟล์ตัวอย่าง my_python_project.zip ได้ที่ http://1drv.ms/1R2NPvl

Android Studio

เปิด project ของ apk-3.2 กดปุ่ม Run (Shift + F10) รอสักครู่ จะได้ไฟล์ apk โดยอยู่ที่ apk-3.2\app\build\outputs\apk ลองนำไปรันดู

Screenshot_2015-10-24-09-19-31

[caption id="attachment_1584" align="aligncenter" width="576"]หน้าแอพที่ Build ออกมา หน้าแอพที่ Build ออกมา[/caption]

[caption id="attachment_1580" align="aligncenter" width="576"]ลองพิมพ์ 'สวัสดี' จะมีเสียงพูดออกมา ลองพิมพ์ 'สวัสดี' จะมีเสียงพูดออกมา[/caption]
สำหรับภาษาไทยใน TTS ของ Android สามารถใช้ Google Text-to-Speech ในการออกเสียงภาษาไทยใน Android ได้ครับ

ลองเล่นไฟล์ .apk ได้ที่ http://1drv.ms/1GnJCSq

อ่านเอกสาร sl4a api ได้ที่ http://www.mithril.com.au/android/doc/

ลองนำไปประยุกต์กันต่อนะครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)