Lập trình

Lập trình Python trên thiết bị Android: Sáng tạo ứng dụng của bạn

Huy Erick

Có rất nhiều lý do khiến bạn muốn trở thành một lập trình viên phát triển ứng dụng Android. Bạn có thể muốn xây dựng một ứng dụng để tạo thu nhập "kha khá" hoặc...

Có rất nhiều lý do khiến bạn muốn trở thành một lập trình viên phát triển ứng dụng Android. Bạn có thể muốn xây dựng một ứng dụng để tạo thu nhập "kha khá" hoặc thậm chí làm thay đổi thế giới. Đây là những động lực mạnh mẽ. Hoặc có thể bạn chỉ đơn giản là muốn học code, viết chương trình và xây dựng những ứng dụng, công cụ để thỏa mãn đam mê cá nhân. Với hệ điều hành Android được phát triển mở và dễ tiếp cận, bắt đầu thực hiện mục tiêu của bạn ở đây là một quyết định đúng đắn.

Học lập trình trên Android

Tuy nhiên, học lập trình trên Android không phải là một nhiệm vụ dễ dàng. Trước đây, để chạy một chương trình đơn giản "Hello World", bạn cần phải tải xuống Android Studio, Android SDK và Java JDK. Bạn phải cài đặt các đường dẫn, tạo file APK và thêm quyền truy cập vào điện thoại của mình. Và sau khi đã chuẩn bị xong tưởng chừng là đã sẵn sàng, bạn lại phải đối mặt với một số vấn đề như hiển thị chương trình lên màn hình. Có quá nhiều "rào cản" khiến bạn gần như không thể đạt được mục tiêu của mình.

Lập trình Python trên Android

Đó là lý do tại sao ngày nay có rất nhiều lập trình viên chọn sử dụng Python. Python là một giải pháp thay thế giúp bạn vượt qua những khó khăn trên. Python được coi là ngôn ngữ lập trình đặc biệt, nó đơn giản, "thanh lịch" và rất phù hợp với người mới bắt đầu. Một ưu điểm nổi bật nữa là bạn có thể bắt đầu xây dựng và thử nghiệm các đoạn mã trên thiết bị Android của mình gần như ngay lập tức.

Tóm lại, sử dụng Python là một trong những cách nhanh nhất để bắt đầu và thử nghiệm một số đoạn mã đơn giản trên Android. Và khi bạn đã quen thuộc làm việc với Python, bạn có thể tự nâng cấp điện thoại của mình với những tính năng riêng biệt chỉ mình bạn có, và thậm chí còn có thể xây dựng một ứng dụng hoàn chỉnh.

Sử dụng QPython cho Android

Vậy làm cách nào để bắt đầu với Python? Nếu bạn muốn học Python trên PC, bạn có thể tải xuống phiên bản mới nhất của Python 2 hoặc Python 3 cùng với môi trường phát triển tích hợp (IDE). Tuy nhiên, trong bài viết này, chúng ta sẽ quan tâm đến việc bắt đầu với Python trên Android. Để làm điều đó, bạn cần có QPython trên thiết bị của mình. QPython hỗ trợ chạy mã Python 2, trong khi QPython3 hỗ trợ Python 3.

Để đảm bảo mã của bạn chạy một cách mượt mà nhất có thể, hãy tải xuống phiên bản Python mới nhất đã được cập nhật. Trong bài viết này, tôi sử dụng Python 3.6.1. Tuy nhiên, hãy lưu ý rằng việc nâng cấp từ Python 2 lên Python 3 có một số vấn đề. Bạn sẽ phải chỉnh sửa một số đoạn mã khi muốn chạy mã Python 2 trên phiên bản cao hơn, và một số thư viện được sử dụng có thể không hoạt động. Vì vậy, nếu bạn mới bắt đầu học Python, hãy chọn Python 3 để có kiến thức cập nhật nhất. Tuy nhiên, điều này không có nghĩa là bạn không cần biết về Python 2. Trong tương lai, có thể bạn cần phải quay lại phiên bản 2 để làm việc với một số thư viện hỗ trợ trong phiên bản cũ.

Thư viện chính mà chúng tôi sẽ sử dụng trong bài viết này là Kivy. Điều tuyệt vời là Kivy được hỗ trợ trên Python 3.

Viết mã đơn giản với các biến và đầu vào

Sau khi đã tải xuống và cài đặt QPython3, bạn đã có môi trường để bắt đầu lập trình. Bạn có thể tải xuống các đoạn mã từ đây và sau này sẽ rất hữu ích khi bạn tạo các ứng dụng gốc của riêng mình, ví dụ như tạo các công cụ toán học, công cụ kiểm tra học tập hoặc công cụ lưu trữ và lấy dữ liệu... Mọi thứ đều nằm trong tầm tay của bạn.

Hãy xem cách xây dựng ứng dụng "Hello World". Để làm điều này, hãy mở QPython3 và chọn "Trình soạn thảo" (Editor). Đây là nơi bạn có thể viết mã hoặc chỉnh sửa các tệp lệnh khác. Bạn có thể dễ dàng chỉnh sửa nếu có bàn phím và chuột bluetooth khi làm việc ở đây.

Bây giờ hãy chạy lệnh:

print("Xin chào")

Sau đó, lưu tệp lệnh với phần mở rộng ".py". Bạn có thể lưu bằng cách nhấp vào biểu tượng đĩa mềm ở dưới cùng. Lưu ý rằng từ "print" phải là chữ thường.

Chạy chương trình bằng cách nhấp vào biểu tượng mũi tên và dòng chữ "Xin chào" sẽ xuất hiện trên màn hình cùng với rất nhiều thông tin khác. Đây là nơi các đoạn mã của bạn sẽ chạy, gọi là "bảng điều khiển" (console). Sau này, bạn có thể thêm các tính năng đồ họa cho bảng điều khiển này.

Tiếp theo, hãy thử với các biến. Biến là tên của một vùng trong bộ nhớ được sử dụng để lưu trữ thông tin hoặc dữ liệu. Khác với những ngôn ngữ khác, khi lập trình với python , bạn không cần phải xác định biến từ trước. Hãy xem ví dụ sau:

Name = "Adam" print("Xin chào " + Name)

Đoạn mã này sẽ chào đón người dùng với tên của họ. Bạn cũng có thể thực hiện các công việc tương tự với ví dụ sau:

Number = 7 print("Số là " + str(Number))

Một điểm thú vị về biến là bạn có thể thay đổi giá trị của nó. Bạn có thể sử dụng lệnh Number = Number + 1 để tăng giá trị lên. Tạo một ứng dụng nhỏ như sau:

Name = input("Tên bạn là gì?") print("Xin chào " + Name)

Lệnh input cho phép bạn nhập dữ liệu từ người dùng. Trong trường hợp này, bạn đang sử dụng dữ liệu nhập của người dùng để xác định biến Name. Lưu ý các biến phân biệt chữ hoa và chữ thường. Các lệnh trong Python được viết bằng chữ thường, vì vậy việc khai báo biến bằng chữ hoa sẽ giúp phân biệt dễ dàng hơn.

Vòng lặp và câu lệnh IF

Vòng lặp WHILE trong Python được sử dụng để lặp lại một đoạn mã khi điều kiện trả về giá trị True. Thêm đoạn mã sau vào ví dụ trên:

Count = 0 print("Hãy đếm số năm còn lại của bạn...") while Count  Age:     Count = Count + 1     print("Đã qua " + str(Count) + " năm, còn " + str(Age - Count) + " năm nữa!") print("Và chúng ta đã xong!")

Chú ý rằng hai dòng lệnh bên dưới while được thụt lề vào. Điều này cho biết chúng là một phần của vòng lặp. Đối với Python, thụt lề rất quan trọng. Nếu bạn thụt lề sai, chương trình sẽ báo lỗi ngay lập tức.

Ngoài vòng lặp, câu lệnh IF cũng là một phần quan trọng. Câu lệnh IF được sử dụng để thực hiện lệnh dựa trên một điều kiện. Ví dụ:

if Age > 50:     print("Bạn đã trên nửa đường rồi!")

Ngoài ra, Python cũng hỗ trợ câu lệnh IF...ELSE. Câu lệnh IF sẽ được thực hiện nếu điều kiện đúng, nếu không nó sẽ thực hiện câu lệnh ELSE.

if Age > 50:     print("Bạn đã trên nửa đường rồi!") else:     print("Ah, còn trẻ thôi!")

Lệnh ELIF cũng rất hữu ích. ELIF là viết tắt của ELSE IF, nó cho phép chúng ta kiểm tra nhiều điều kiện. Nếu điều kiện đầu tiên sai, nó sẽ kiểm tra điều kiện của ELIF tiếp theo và cứ như vậy cho đến hết. Nếu tất cả các điều kiện đều sai, nó sẽ thực hiện câu lệnh của ELSE.

if Age > 50:     print("Bạn đã trên nửa đường rồi!") elif Age  50:     print("Ah, còn trẻ thôi!") else:     print("Bạn đúng nửa đường rồi!")

Sử dụng các thư viện và tạo ra một trò chơi đơn giản

Việc sử dụng các đoạn mã đã giới thiệu trong bài viết đã đủ để bạn tạo ra một trò chơi nhỏ đơn giản. Trước khi làm được điều đó, chúng ta hãy tìm hiểu cách sử dụng các thư viện trong Python.

Python đi kèm với thư viện chuẩn Python, được gọi là "Python Standard Library" - không cần cài đặt bất kỳ chương trình nào khác. Trò chơi mà chúng ta sẽ tạo dưới đây sẽ là một trò chơi đoán số như "higher or lower" - cao hơn hay thấp hơn. Để thực hiện điều này, chúng ta cần tạo một số ngẫu nhiên và Python không có lệnh nào thực hiện điều đó được. Hãy import thư viện random từ Python và sử dụng hàm randint(lowest, highest) với hai tham số là số nhỏ nhất và số lớn nhất.

from random import randint  RandomNumber = randint(0, 10) print("Tôi đang nghĩ về một số từ 1 đến 10, bạn có thể đoán được đó là số mấy không?")  Guess = 11 while Guess != RandomNumber:     Guess = int(input("Hãy đoán một số..."))     if Guess > RandomNumber:         print("Quá cao!")     if Guess  RandomNumber:         print("Quá thấp!") print("Đúng rồi!")

Mặc dù đây chưa phải là ứng dụng Android, nhưng không có gì ngăn cản bạn tạo ra các đoạn mã như vậy. Bạn có thể chia sẻ chúng với bạn bè hoặc đồng nghiệp nếu họ cũng sử dụng QPython3. Bằng cách sử dụng Python Standard Library, bạn có thể ghi file, tải xuống từ trang web và làm rất nhiều công việc thú vị khác trên thiết bị của mình.

Tất nhiên là còn rất nhiều thứ khác mà bạn có thể học. Bạn có thể tạo lớp đối tượng rất đơn giản:

def counter(Name):     length = len(Name)     return length  NamePlease = input("Đếm độ dài tên! Hãy nhập tên của bạn ") print(counter(NamePlease))

Hoặc tạo danh sách:

List = ["Táo", "Cam", "Lê"]

Có rất nhiều tài nguyên Python để bạn khám phá thêm. Bạn có thể học Python thông qua các tài liệu trực tuyến và video hướng dẫn.

Sử dụng Python Android Scripting Layer

Nếu bạn chỉ muốn tạo một ứng dụng để truy cập các tính năng gốc của thiết bị, thì Bạn có thể sử dụng thư viện Python Android Scripting Layer (SL4A). Thư viện này cho phép bạn thực hiện các tác vụ như hiển thị hộp thoại, đọc cảm biến hay truy cập camera.

Chương trình dưới đây sẽ mở camera và lưu ảnh của bạn:

import sl4a  droid = sl4a.Android() droid.cameraInteractiveCapturePicture("/sdcard/qpython.jpg")

Hoặc bạn có thể mở một trang web bằng cách:

from android import Android  droid = Android() droid.webViewShow("https://www.quantrimang.com")

Thậm chí, bạn có thể khởi chạy giao diện của một tệp HTML lưu trữ trên thiết bị. Điều này sẽ rất hữu ích khi bạn muốn xem giao diện người dùng đồ họa (GUI).

droid.webViewShow('file:///sdcard/index.html')

Bằng cách sử dụng Python Standard Library, bạn có thể ghi file, tải xuống từ website và thực hiện rất nhiều tác vụ thú vị khác ngay trên thiết bị của mình. Điều này sẽ giúp bạn tận dụng Python trên Android một cách linh hoạt.

Thư viện Kivy

Nếu bạn muốn đi xa hơn, bạn cần sử dụng Kivy. Kivy cho phép bạn tạo ứng dụng Android đầy đủ chức năng, cảm ứng đa điểm, đồ họa và nhiều hơn nữa. Điều tuyệt vời hơn, Kivy là một thư viện đa nền tảng, vì vậy bạn có thể tạo ứng dụng cho nhiều nền tảng khác nhau khi sử dụng Kivy.

from kivy.app import App from kivy.uix.button import Button  class HelloWorld(App):     def build(self):         btn = Button(text='Xin chào')         return btn  HelloWorld().run()

Kết luận

Nhìn chung, Python không phải là lựa chọn hoàn hảo cho việc phát triển ứng dụng chuyên nghiệp, nhưng đây là một ngôn ngữ tuyệt vời để tạo ra các đoạn mã và các công cụ cá nhân cho thiết bị Android của bạn. Mọi thứ trở nên dễ dàng hơn khi làm việc với Python trên điện thoại di động qua QPython3. Đây là một phương pháp được đánh giá là dễ dàng nhất cho những người mới bắt đầu viết code trên thiết bị di động. Vậy bạn còn chần chừ gì mà không thử? Thế giới phát triển ứng dụng Android phong phú đang chờ đón bạn. Chúc bạn thành công!

1