Category Archives: Lập trình Đồng hồ thông minh – android wear

Bài 3: Cách kết nối máy ảo Genymotion với máy ảo Android Wear


Để giúp các bạn sinh viên có thể dễ dàng lập trình đồng hồ thông minh mà không có điều kiện mua máy móc thiết bị thật, bài này Tui sẽ hướng dẫn các bạn cách thức kết nối từ máy ảo Genymotion tới máy ảo Android Wear như thế nào. Làm được bài hướng dẫn này bạn sẽ tiết kiệm được rất nhiều tiền vì không phải đầu tư vào những thiết bị thật. Bạn cần phải cấu hình theo đúng các bước mà Tui hướng dẫn dưới đây

Bước 0:

  • Tải và cài đặt máy ảo Genymotion: tải tại đây
  • Bắt buộc máy ảo Genymotion của bạn phải cài Google play Service: Đọc tại đây (Tui hướng dẫn rất kỹ)

Bước 1:

  • Tải và kéo thả Android Wear vào máy ảo Genymotion: Tải tại đây (chọn version phù hợp verion Genymotion của bạn rồi kéo vào), kéo thả vào xong nó có biểu tượng dưới đây là OK:

h3_1Bước 2:

  • Cấu hình để máy ảo Genymotion kết nối được với máy ảo Android  Wear.
  • để cho dễ dàng sử dụng Genymotion thì Tui hướng dẫn các bạn sử dụng Plug in Genymotion để nhúng nó vào Android Studio cho tiện:

Trong Android Studio bạn vào menu File/ chọn Settings…:

h3_2Sau khi chọn Settings…==> chọn Browse Repositories trong mục Plugins:

h3_3Sau khi chọn Browse repositories, bạn tìm Genymotion:

h3_4Ở màn hình trên bạn bấm chuột phải vào Genymotion chọn Download and Install, hoặc bên phải có nút Install bạn nhấn vào nó.

Sau khi cài đặt xong bạn thấy thông báo khởi động lại Android Studio thì bạn nhớ khởi động lại:

h3_5Sau khi khởi động lại Android Studio bạn sẽ thấy biểu tượng Genymotion được đính kèm trên toolbar của nó:

h3_6Lần đầu tiên khi bạn bấm vào biểu tượng này thì nó yêu cầu thiết lập đường dẫn cài đặt Genymotion, bạn chọn đúgn đường dẫn cài đặt:

h3_7Khi đã cấu hình xong rồi thì lúc bấm vào biểu tượng Genymotion trên thanh toolbar thì bạn sẽ thấy màn hình sau:

h3_8Nút New: Bấm vào để tạo máy ảo mới

Nút Start: Bấm vào để kích hoạt máy ảo

Refresh: Để cập nhật lại thông tin

Ở màn hình trên là đã có sẵn 1 máy ảo được tạo trước, bây giờ bạn nhấn nút Start:

h3_9Bạn chờ cho máy ảo Genymotion được kích hoạt lên, bạn nhấn nút Refresh sẽ thấy địa chỉ IP của máy ảo được cập nhật trong màn hình trên (IP này có thể được sử dụng cho các trường hợp khác).

  • Kế tới bạn chạy máy ảo Androi Wear lên:

h3_11Ở hình trên Tui đã chạy phần mềm Android Wear trong máy ảo Genymotion lên và nó có báo Not Connected.

Bây giờ Tui hướng dẫn các bạn cách cách hình để cho máy ảo Genymotion có thể kết nối được với máy ảo Android Wear:

Bước 2.1:

Viết lệnh để tìm được địa chỉ và port của máy ảo Genymotion trong Android Studio:

h3_12Ở hình trên bạn vào tab “Terminal” rồi gõ lệnh theo thứ tự từ 1 tới 5 bạn sẽ ra được kết quả đó là Địa chỉ Ip và Port mà máy ở Genymotion đang sử dụng.

Chú ý 1: Nếu bạn đã cấu hình biến môi trường cho adb thì chỉ gõ lệnh số 5: adb devices là đủ rồi.

Chú ý 2: Ở trên Tui cài Android Studio vào đúng đường dẫn đó, nếu bạn cài nó chỗ khác thì phải trỏ cho đúng chỗ nha, đừng có làm như cái máy mà không hiểu vì sao nó lỗi.

Bước 2.2:

Viết lệnh kết nối từ máy ảo Genymotion tới máy ảo Android Wear:

h3_14Ở trên bạn gõ lệnh:

adb -s 192.168.56.101:5555 forward  tcp:5601 tcp:5601   

Để kết nối tới Android Wear.

Bước 2.3:

Trong máy ảo Genymotion bạn nhấn vào biểu tượng menu:

h3_15Sau đó bạn chọn Connect Emulator:

h3_16Và kết quả là đã kết nối thành công như hình Tui chụp dưới đây:

h3_10Bạn quan sát khi kết nối thành công từ máy ảo genymotion tới máy ảo Android Wear thì mọi thao tác trên Genymotion nó sẽ được đồng bộ hóa qua Android Wear.

Bài hướng dẫn này khá thú vị và khá khó đúng không các bạn, không phải bạn nào làm theo hướng dẫn cũng thành công vì tùy vào kiếp trước bạn ăn ở có tốt hay không. Nó lệ thuộc vào Version của Genymotion, lệ thuộc vào Google Play service mà bạn cài cho Genymotion, lệ thuộc vào Android Wear mà bạn kéo thả vào genymotion, lệ thuộc vào các lệnh kết nối mà bạn có làm đúng theo hướng dẫn hay chưa.

Bạn cố gắng làm được bài này vì nó rất có lợi cho bạn do bạn không phải mua bất kỳ thiết bị thật nào để test, sẽ tiết kiệm chi phí rõ rệt cho các bạn

Chúc các bạn thành công.

Bài 2: Cách đóng gói để xuất bản ứng dụng Đồng Hồ Thông Minh


bài 1 Tui đã hướng dẫn một cách chi tiết và đẩy đủ cách thức cấu hình, tạo project, sử dụng máy ảo, kết nối debug ứng dụng trên máy thật thông qua BlueTooth…, trong bài này Tui sẽ hướng dẫn các bạn cách đóng gói để xuất bản ứng dụng Đồng Hồ Thông Minh cho người sử dụng.

Các bạn chú ý là đối với các ứng dụng Đồng Hồ Thông Minh thì người sử dụng không thể truy suất và cài đặt trực tiếp ứng dụng vào đồng hồ được, do đó chúng ta phải đóng gói ứng dụng Đồng Hồ Thông Minh vào bên trong ứng dụng Mobile (Hay nói cách khác là hiện nay Google chưa cung cấp – hay không thể cung cấp Google Play để cho chúng ta có thể cài đặt trực tiếp ứng dụng từ Google Play vào Đồng Hồ Thông Minh bởi do đặc thù của nó).

Để đóng gói đúng ứng dụng thì các bạn phải làm theo 5 bước sau(làm khác cũng được…nhưng mà không chạy nha):

Bước 0:

  • Khi tạo một ứng dụng Wearable thì phải chọn đồng thời cả Mobile&Tablet

Bước 1:

  • Tất cả các permission mà khai báo trong Manifest cho Wearable thì phải đưa y xì qua Manifest của Mobile/Tablet (tức là chỉ việc dùng công nghệ cao là Ctrl+ c==>Ctrl+V)

Bước 2:

  • Phải đảm bảo rằng cả Wearable App và Mobile App phải có cùng package và cùng version (Thông thường khi bạn tạo ở bước 0 thì nó đã giống tên y xì vậy rồi, tuy nhiên một số bạn Sinh Viên hay tỏ vẻ nguy hiểm sửa lung tung trong khi mới học dẫn tới không biết vì sao nó lỗi, do đó mới học thì cứ để mặc định nha… không ai trả lương cho độ nguy hiểm của chúng ta đâu)

Bước 3:

  • Vào file build.gradle(mobile) bổ sung thêm dòng lệnh  wearApp project(‘:wear‘) với wear là tên ứng dụng đồng hồ thông minh, nó tên gì thì đặt tên đó. Thường mặc định tên là wear luôn nên ta không cần đổi gì (Tức là khi ở bước 0 hệ thống đã tự làm giùm ta bước 3 rồi).
  • Ví dụ đại khái như sau:

dependencies {
compile 'com.google.android.gms:play-services:5.0.+@aar'
compile 'com.android.support:support-v4:20.0.+''
wearApp project(':wearable')
}

Bước 4:

Tiến hành build Signed APK.

Bạn vào Menu Build / chọn Generate Signed APK, Android Studio sẽ tiến hành build bản Release cho Mobile (APK này đã đóng gói luôn cái ứng dụng đồng hồ thông minh do bước 3 cấu hình rồi). Nếu như 1 ứng dụng đã được Generate với Signed APK thì khi bạn cài phần mềm này vào điện thoại thì nó sẽ tự động cài đặt luôn ứng dụng Đồng hồ thông minh vào đồng hồ của bạn khi 2 thiết bị này đang kết nối (là đang kết nối bằng blue tooth như ở bài 1 đã hướng dẫn sử dụng phần mềm Android Wear để cấu hình kết nối giữa điện thoại và đồng hồ thông minh).

Khi build ra được Signed APK thì có 2 kịch bản sử dụng:

1- Bạn publish APK này lên Google Play nếu đã đăng ký mua của Google (25USD + 1 USD giao dịch nếu có), lúc này ai sử dụng thì cứ việc vào Google play cài đặt ==> tự động nó cài wear vào đồng hồ nếu mobile và đồng hồ đang kết nối

2- Bạn không có tiền mua Google Play, thì chép Signed APK nó tạo vào điện thoại rồi tự cài==>tự động nó cài wear vào đồng hồ nếu mobile và đồng hồ đang kết nối (bạn có thể gửi Signed APK này cho khách hàng rồi hướng dẫn họ cài đặt là xong)

Tui đã thử và thành công nên nếu các bạn làm không được tức là làm chưa đúng nha.

Tuy nhiên nhiều năm đi dạy Tui thường biết Sinh Viên cương quyết không hiểu mặc dù Tui có nói kỹ tới mấy… Cho nên Tui hay nói đùa với Sinh Viên “Em không làm thì Thầy tưởng em không biết… khi em làm rồi thì … không còn nghi ngờ gì nữa”. Vì vậy Tui sẽ minh họa lại 5 bước bên trên bằng 1 Project cụ thể như sau: Tải 1 hình trên mạng vào Đồng Hồ Thông Minh.

Bước 0: Tạo ứng dụng Đồng hồ thông minh tên là “TaiHinhVeDongHo” (hiện nay Đồng hồ thông minh chưa cho phép lấy hình ảnh trực tiếp từ internet, nhưng Tui đặt tên này để xem lỡ Tui tìm ra cách thì tính sau), tạm thời Project này đơn giản chỉ là kiểm tra Đồng hồ thông minh có đang kết nối internet không mà thôi:

h1Bấm next :

h2Ở màn hình này bạn tick vào cả Phone/Tablet và Wear rồi bấm next… để tạo được cấu trúc ứng dụng như hình dưới đây:

h3Bạn nhìn thấy có 2 Module ứng dụng đồng thời là: mobilewear

Bước 1: Vì bài này Tui muốn kiểm tra xem đồng hồ có kết nối internet hay không và muốn tải 1 hình từ trên mạng về hiển thị lên đồng hồ vì vậy Tui phải cấp quyền internet, access wifi… trong Manifest của wear ==> sao chép các quyền này vào Manifest của mobile:

h17Bước 2: Đảm bảo wear và mobile có y xì package name(như đã nói mặc định là giống), tuy nhiên bạn có thể kiểm tra:

h5Bước 3: Thêm lệnh wearApp project(‘:wear‘) vào build.gradle. Thường là mặc định hệ thống làm giùm ta, xem hình:

h6Trước khi qua bước 4 tạo Signed APK thì bây giờ Tui coding để Kiểm tra xem Đồng hồ thông minh có đang kết nối internet không thôi nha:

  • Trong layout của wear có rect_activity_main.xmlround_activity_main.xml, sửa lại như sau cho cả 2 xml này giống y xì như đây:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.tranduythanh.taihinhvedongho.MainActivity"
    tools:deviceIds="wear_square">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Kiểm tra kết nối"
        android:id="@+id/btnKiemTra"
        android:layout_gravity="center_horizontal" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/txtKetNoi" />
</LinearLayout>
  • Tiếp theo coding MainActivity của wear:
package com.tranduythanh.taihinhvedongho;

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.support.wearable.view.WatchViewStub;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

    Button btnKiemTra;
    TextView txtKetNoi;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
        stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
            @Override
            public void onLayoutInflated(WatchViewStub stub) {
                addControls(stub);
                addEvents();
            }
        });
    }

    private void addEvents() {
        btnKiemTra.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                xuLyKiemTraKetNoi();
            }
        });
    }

    private void xuLyKiemTraKetNoi() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

        if(cm.getActiveNetworkInfo() != null)
        {
            txtKetNoi.setText("Có internet");
        }
        else
        {
            txtKetNoi.setText("Không Có internet");
        }
    }

    private void addControls(WatchViewStub stub) {
        btnKiemTra= (Button) stub.findViewById(R.id.btnKiemTra);
        txtKetNoi= (TextView) stub.findViewById(R.id.txtKetNoi);
    }
}

Bước 4: Tạo Signed APK, bước này là khó nhất.

Vào menu Build/ chọn Generate Signed APK…:

h7Sau khi chọn Generate Signed APK… bạn chọn mobile trong màn hình dưới đây:

h8Bấm Next để tiếp tục:

h9Mục Key store path: Là nơi lưu trữ key, bạn nhấn vào nút “Create New…”:

h10Sau khi đặt tên file rồi nhấn OK :

h12Ở màn hình trên bạn tiến hành đặt mật khẩu cho Key Store, nhập thông tin cho Certificate. Bạn chú ý là thông tin này vô cùng quan trọng , nếu như bạn làm mất nó thì về sau bạn muốn cập nhật phiên bản sẽ không bao giờ được, đồng nghĩa với việc phải viết lại ứng dụng (đặt package khác vì google chỉ cho tồn tại 1 package không trùng nhau). Do đó lưu ở đâu thì phải nhớ, tốt nhất là backup ở đâu đó trên mạng.

Sau khi bạn nhấn OK ở màn hình trên thì thông tin sẽ được hiển thị lại màn hình đâu như sau:

h13Bạn tiếp tục bấm Next:

h14Chọn Release rồi bấm Finish, sau đó ngồi chờ hơi lâu nha để đợi Android studio tạo ra file xuất bản phần mềm, khi build xong thì nó hiển thị “Show in explorer”, bạn bấm vào để lấy file xuất bản:h15Bạn xem thư mục chứ file xuất bản:

h16Sau khi cài xong trên điện thoại, bạn chờ nó tự động cài wear vào đồng hồ thông minh (chú ý là 2 thiết bị này phải đang kết nối với nhau nha – thường bằng blue tooth mà Tui đã hướng dẫn ở bài 1). Tui đã test thành công.

Bạn có thể tải source code mẫu tại đây: http://www.mediafire.com/download/j869oscr5p10q3y/bai2_TaiHinhVeDongHo.rar

Các bạn cố gắng, chúc các bạn thành công

Bài 1: Bắt đầu lập trình đồng hồ thông minh Android Wear


Tui tính gác kiếm chuyển nghề bán kem nuôi vợ con đồng thời nếu bán ế thì vẫn ăn được vì Sài Gòn nó “Lóng” kinh khủng khiếp. Khuya nay ngồi buồn ngắm cái đồng hồ Moto 360 được anh Bùi Quang Tuấn(CTO Co-founder https://mb360.vn/) tặng nhân chuyến từ Úc về Việt Nam trình bày dự án startup về Mobile Payment, một dự án mà Tui cảm nhận rất tuyệt vời, có một tầm nhìn khá xa về tương lai của hình thức thanh toán cũng như quản trị hệ thống bán hàng.

Tui không biết có nên trách hay nên cảm ơn anh Tuấn đây, vì nó làm Tui nổi máu mài kiếm trở lại. Tui sẽ thử các chức năng ứng dụng cũng như cách thức lập trình trên đồng hồ thông minh Moto 360 chạy hệ điều hành Android Wear này. Mỗi lần máu cái gì là Tui lại cặm cụi làm dẫn tới Long Thể bất an, đôi mắt nó nổi cục lên vì hàng đêm trợn mắt nghiên cứu. Chúc công ty của anh luôn thành công, Tui hơi ngại khi nhận quà tặng của anh bởi vì do Tui dạy miễn phí cho nhân viên của anh mà anh lại tặng nó cho Tui khác nào là 1 cách trả công khác, tuy nhiên nó lại có khả năng lập trình được nên cũng làm Tui hơi hơi máu.

mot-360-gen1-chrome-540Hình ảnh đồng hồ Moto 360

Nếu như bạn nào đã học các bài giảng liên qua tới android ở https://duythanhcse.wordpress.com/lap-trinh-di-dong/android/ thì việc lập trình với Đồng hồ thông minh sẽ được dễ dàng hơn.

Trong bài đầu tiên về lập trình đồng hồ thông minh này Tui sẽ trình bày các kiến thức sau:

  1. Cách tạo Project Wearables
  2. Cách tạo và sử dụng Đồng hồ ảo thông minh (gọi là máy ảo)
  3. Cách lập trình và triển khai ứng dụng lên máy ảo
  4. Cách cấu hình cho điện thoại thật và Moto 360 kết nối được với nhau
  5. Cách cấu hình lập trình phần mềm tương tác được với máy thật (Moto 360) thông qua Bluetooth

Bạn nắm được 5 mục Tui liệt kê ở trên là có thể bắt đầu lập trình các ứng dụng liên quan tới Đồng hồ thông minh được rồi.

Bây giờ Tui sẽ đi vào chi tiết từng phần.

  1. Cách tạo Project Wearables

Nếu như máy tính của bạn chưa bao giờ lập trình Android thì phải cài JDK, Android Studio (tự xem lại các bài hướng dẫn lập trình Android).

Trong các bài hướng dẫn lập trình Đồng hồ thông minh Tui mặc định các bạn đã rành về Mobile Android.

Bạn khởi động Android Studio/ chọn Start a new Android Studio Project như hình dưới đây:

wear1Màn hình tạo mới một Project sẽ hiển thị ra dưới đây:

wear2Application name: đặt tên là DongHoDienTu

Company domain: Làm cho công ty nào thì sài domain của công ty đó, nếu cá nhân thì lấy theo cá nhân (thường là như vậy để đánh dấu bản quyền).

Sau đó bấm Next để qua màn hình chọn thiết bị sử dụng, tại màn hình này ta chọn Wear:

wear3Sau khi chọn Wear và Minimum SDK thì bấm Next để qua màn hình chọn các loại Activity cho ứng dụng:

wear4Ở màn hình chọn Activity này bạn thich chọn loại nào phù hợp với mình cũng được, vì mới học nên bạn chọn Blank Wear Activity rồi bấm next để qua màn hình hiệu chỉnh Activity như dưới đây:

wear5Activity name: Tên màn hình chính

Layout name sẽ include 2 layout Round Layout và Rectangular Layout

Thường 4 thông số tại màn hình này ta để mặc định không có chỉnh sửa rồi bấm nút finish để tiến hành tạo ứng dụng. Bạn chờ chút ít thời gian (tùy vào cấp độ rùa máy của bạn):

wear6Sau khi build ứng dụng xong bạn có cấu trúc dự án như dưới đây:

wear7Phần cấu trúc dự án Đồng hồ thông minh nó giống y xì như Mobile nên Tui không nói lại nữa. Như vậy tới đây chúng ta đã biết cách tạo một dự án lập trình cho Đồng hồ thông minh như thế nào.

2. Cách tạo và sử dụng Đồng hồ ảo thông minh (gọi là máy ảo)

Với những bạn không có đồng hồ thông minh chạy hệ điều hành Android Wear thì có thể sư dụng Máy ảo, các bước tạo như sau:

Bước 1: Từ màn hình ứng dụng chọn AVD Manager như hình dưới đây

wear8Bước 2: Tạo và chọn máy ảo để chạy:

wear9Ở màn hình Android Virtual Device Manager ở trên, Tui đã tạo một Đồng hồ ảo thông minh Android Wear Round API 22, nếu bạn cũng có thì bấm vào nút màu xanh ở trên để chạy máy ảo. Còn chưa có thì bấm nút “Create Virtual Device”. Khi nhấn nút “Create Virtual Device” thì màn hình tạo máy ảo sẽ hiển thị ra như dưới đây:

wear10Ở mục Category bạn chọn Wear, sau đó chọn loại Đồng hồ ảo thông minh rồi bấm Next. Hiện nay Google cung cấp 3 loại giao diện đồng hồ thông minh đó là:

  • Loại 1: Android Wear Square (mặt màn hình là Hình Vuông):

wear11

  • Loại 2: Android Wear Round (mặt màn hình là Hình Tròn):

wear12

  • Loại 3: Android Wear Round Chin (mặt màn hình là Hình Tròn và bị cắt 1 miếng bên dưới)

wear13Bây giờ bạn bấm Next để qua màn hình tiếp theo.

wear14Tại màn hình này bạn chọn Release rồi bấm Next (Thông thường lần đầu tiên bạn cài thì sẽ không có bạn vào bấm vào nút Download kế bên Release Name rồi chờ hệ thống tải về). Trong trường hợp này Tui đã tải về rồi nên chỉ cần chọn rồi bấm Next:

wear15Mục AVD Name: Bạn đặt tên cho máy ảo

Các thông số khác chưa rành cứ để mặc định (bạn có thể bấm vào Show Advanced Settings ) để cấu hình chi tiết hơn nhưng mà không cần thiết vì Google đã tự động chọn cấu hình tốt cho ta rồi.

Bạn bấm Finish để kết thúc quá trình tạo máy ảo, bạn chờ hệ thống tạo máy ảo xong sẽ quay trở lại màn hình ban đầu:

wear16Bạn nhấn vào nút màu xanh để Kích hoạt máy ảo Đồng hồ thông minh:

wear17Để thay đổi cách hiển thị Đồng Hồ bạn nhấn thật lâu vào màn hình Đồng Hồ==> chọn loại hiển thị khác:

wear18Khi nhấn thật lâu trên màn hình, hệ thống sẽ hiển thị danh sách các loại đồng hồ, bạn lướt qua trái qua phải rồi nhấn chọn đồng hồ mà bạn thích lúc đó hệ thống sẽ hiển thị đúng loại đồng hồ mà bạn đã chọn.

Để xem và thay đổi các cấu hình trong đồng hồ thông minh (bạn chú ý là nó giống luôn cho thao tác trên Đồng Hồ thật bạn nhé): Bạn nhấn vào góc phải Màn hình Đồng hồ ngay chỗ nút Tắt rồi kéo qua Trái:

wear19Bạn kéo hế qua bên trái thì sẽ có màn hình sau:

wear21Muốn xem cấu hình thì nhấn chọn Settings. Muốn xem các thông số tiếp theo thì bạn lượt xuống hoặc lướt lên màn hình đều có thể xem được.

Ví dụ màn hình Settings:

wear22

Mọi thứ sẽ nằm trong Settings: cấu hình độ sáng tối, cấu hình thay đổi màn hình đồng hồ, font chữ, Blue Tooth, khởi động lại máy, tắt máy, xem cấu hình… tất tần tật đều nằm trong này.

Cũng trong màn hình Settings bạn lướt tới mục About:

wear23Khi nhấn vào About ta có:

wear24Để xem phiên bản của Đồng Hồ ta bấm vào Versions chỗ Tui khoanh màu vàng:

wear25Bạn muốn quay trở về màn hình trước thì chỉ cần lướt qua Phải là xong.

wear26Các lập trình viên phải biết mở chế độ lập trình thì mới có thể Debug được ứng dụng nhen, tại màn hình Settings này các bạn nhấn liên tục 5 lần vào Build number==> hệ thống sẽ báo bạn đã kích hoạt thành công Developer Option. Sau khi bạn thấy thông báo này thì lướt màn hình qua phải để trở về màn hình trước đó (y xì như Đồng Hồ thật nha) :

wear27Sau khi bạn lướt qua phải xong thì mục Develper Option sẽ hiển thị ra như dưới đây:

wear28Bạn nhấn vào Developer Options để cấu hình tiếp nha:

wear29Để lập trình được với Đồng Hồ Thật bạn bắt buộc phải enabled 2 chức năng:

  • ADB Debugging
  • Debug Over Bluetooth

Đồng hồ thật sẽ kết nối với điện thoại thông qua Blue tooth. 2 chức năng trên bạn nhấn vào để nó thành enabled.

Ngoài ra Đồng Hồ thông minh còn nhiều tính năng khác nhau: Đồng bộ dữ liệu với Điện Thoại Thật, cho phép tìm kiếm điện thoại thật (từ đồng hồ bấm Find my phone thì cái điện thoại của ta nó la lối om sòm lên liền), giao tiếp giọng nói ….

wear30Như vậy tới đây Tui đã giới thiệu sơ qua cách sử dụng Đồng hồ thông minh máy ảo, quan trọng nhất là chức năng debug để developer. Các bạn cần chú ý biết cách cấu hình nha (và nó giống luôn cho Đồng hồ thật)

Bây giờ ta qua mục số 3:

3. Cách lập trình và triển khai ứng dụng lên máy ảo

Bây giờ từ Project tạo ở bước 1, Tui sẽ viết một ứng dụng Đồng Hồ Điện Tử để demo cho các bạn cách thức biên dịch và triển khai ứng dụng này lên Đồng hồ thông minh ảo như thế nào (chú ý chỉ đơn thuần là giúp các bạn biết cách biên dịch và triển khai lên máy ảo, đừng quan trọng độ nguy hiểm của project):

Thông thường khi bạn new 1 Project Android Wear thì hệ thống có sẵn TextView và coding sẵn cho ta truy suất tới control này luôn. Để đơn giản Tui sử dụng chính control Textview này mà không hề sửa bất kỳ 1 giao diện nào, giờ bạn vào MainActivity để bổ sung thêm Coding đa tiến trình hẹn giờ như sau:

package com.tranduythanh.donghodientu;

import android.app.Activity;
import android.os.Bundle;
import android.support.wearable.view.WatchViewStub;
import android.widget.TextView;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends Activity {

    private TextView mTextView;
    TimerTask task;
    Timer timer;
    SimpleDateFormat sdf=new SimpleDateFormat(&quot;hh:mm:ss aaa&quot;);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
        stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
            @Override
            public void onLayoutInflated(WatchViewStub stub) {
                mTextView = (TextView) stub.findViewById(R.id.text);
                timer=new Timer();
                timer.schedule(task,0,1000);
            }
        });
        task=new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Calendar calendar=Calendar.getInstance();
                        if(mTextView!=null)
                            mTextView.setText(sdf.format(calendar.getTime()));
                    }
                });
            }
        };

    }
}

Sau đó bạn biên dịch để chạy ứng dụng:

wear33Hệ thống sẽ xuất hiển cửa sổ yêu cầu chọn thiết bị để triển khai:

wear34Bạn chọn Đồng Hồ Thông Minh rồi nhấn OK, đợi hệ thống biên dịch, đóng gói tải lên thiết bị rồi cài đặt sau đó kích hoạt. Sau khi cài đặt xong thì Đồng Hồ sẽ thông báo cài đặt thành công nhấn vào để kích hoạt phần mềm:

wear31Bạn nhấn vào xem kết quả:

wear32Như vậy Bạn đã biết cách coding một project Đồng hồ điện tử cơ bản, cách biên dịch và triển khai nó lên thiết bị máy ảo như thế nào.

Bây giờ Tui qua mục số 4.

4. Cách cấu hình cho điện thoại thật và Moto 360 kết nối được với nhau

  • Đầu tiên bạn cần cài đặt phần mềm Android Wear (có rất nhiều hãng làm, tuy nhiên Tui khuyên các bạn nên sài chính thống giáo của Google)

h1Bạn vào Google Play chọn Phần mềm mà Tui đánh dấu ở trên để cài đặt. Sau khi cài đặt xong phần mềm Android Wear bạn sẽ thấy giao diện như dưới đây:h2Vì Đồng Hồ Thông Minh sử dụng Bluetooth để kết nối nên phần mềm yêu cầu bạn phải mở BlueTooth nếu như nó chưa được kích hoạt. Sau khi bật BlueTooth, phần mềm sẽ yêu cầu ta cấu hình một số thông số:

h3Bạn chọn mặc định rồi bấm Next:

h4Sau đó nhấn nút Accept để chấp nhận cấu hình.

Hệ thống tiến hành tìm kiếm Đồng Hồ Thông minh qua bluetooth:

h5Như hình trên bạn thấy Đồng Hồ Thông Minh thật mà Tui đang sử dụng có tên “MOTO 360 2CF5”, bạn nhấn vào nó để kết nối:

h6Hệ thống sẽ hiển thị mã xác nhận trên điện thoại và cả trên đồng hồ thông minh thật, lúc này bạn nhấn PAIR để kết nối:

h7h8Bạn bấm Next để ra màn hình kết thúc cuối cùng:

h9Như vậy tới đây Tui đã hướng dẫn xong phần kết nối từ Đồng Hồ Thông Minh Thật tới Điện thoại thật. Lúc này hệ thống sẽ tự đồng bộ dữ liệu từ Phone qua Đồng hồ thông minh.

Bây giờ Tui sẽ hướng dẫn mục tiếp theo(quan trọng cho lập trình viên)

5. Cách cấu hình lập trình phần mềm tương tác được với máy thật (Moto 360) thông qua Bluetooth

Bước 1: Để làm được bước này(rất quan trọng), trước tiên bạn phải đưa đồng hồ thông minh thật của bạn về chế độ developer (đã hướng dẫn ở phần máy ảo), bạn cần phải mở Developer nó lên (y xì máy ảo nha), sau đó cho chức năng ADB Debugging và Bluetooth bật lên như đã nói phần trước nha.

Bước 2:

Thiết lập cổng kết nối để forward từ Điện thoại qua đồng hồ. Vì bạn tưởng tượng nó hoạt động như sau này:

h10Ở hình trên Tui vẽ bạn thấy đó, không có cách nào mà từ Coding trong máy tính của bạn có thể làm việc trực tiếp với đồng hồ được mà bạn phải qua bước trung gian: Từ máy tính qua điện thoại(bằng USB hoặc WIFI)==> từ Điện thoại qua Đồng hồ (hiện nay chỉ mới cho kết nối lập trình bằng  BlueTooth)

Vậy thì làm sao lập trình nhỉ? làm sao deploy ứng dụng của mình lên cái đồng hồ thật kia?

Bạn làm các lệnh sau cho tui vào 2 file .bat (2 đứa này lưu vào thư mục platform-tools của android SDK):

h11Lệnh số 1:

adb forward tcp:4444 localabstract:/adb-hub
pause

Lệnh này lưu vào Motor360_Step1.bat

Lệnh số 2:

adb connect 127.0.0.1:4444
pause

Lệnh này lưu vào Motor360_Step2.bat

Sau đó bạn chạy từng file lên (theo thứ tự) chạy Motor360_Step1.bat sau đó chạy Motor360_Step2.bat:

h111Bạn thấy nó báo Connected như vậy tức là đã thành công. Bạn chú ý là lúc này thường thì trên đồng hồ thông minh thật nó sẽ tự động hỏi là bạn có cho phép debugging không? lúc này bạn nhớ bấm OK NHA, nếu không thì sẽ không cho phép đưa phần mềm từ Máy tính vào Đồng hồ được đâu nha.

hxyzHình trên là Tui chụp đồng hồ thật Moto 360 của Tui lúc vừa chạy 2 file bat bên trên: Tại đây bạn chọn OK để cho phép debugging (1 lần), muốn được debugging mãi mãi thì chọn mục Always from this computer.

Bước 3: Kiểm tra phần mềm Android Wear trên điện thoại đã thực sự kết nối chưa và cấu hình cho phép nếu như chưa (thường lần đầu bạn lập trình luôn gặp lỗi này, kết nối được rồi mà tại sao lại không đưa phần mềm từ Máy tính qua Đồng hồ được.

Bước này bạn làm như sau:

h122Tại phần mềm trên bạn nhấn nút Setting mà Tui khoanh đỏ, nó ra màn hình sau:

h12Chắc chắn lần đầu bạn cấu hình không có kết quả như trên, bạn phải cấu hình lại làm sao ra được kết quả như trên là  thành công.

Thứ nhất: Chỗ Device to Debug mặc định ban đầu là chữ Server, bạn nhấn vào nó thì nó xổ ra màn hình cho chọn thiết bị (chính là Đồng hồ thông minh thật mà lúc nãy bạn đã kết nối thành công từ Điện thoại tới nó)

h13Thứ nhì: Chỗ Debugging over blue tooth mặc định ban đầu nó là Disabled, bạn cần nhấn vào nó để nó sáng như vậy, lúc bạn thấy kết quả:

Host: Connected

Target: Connected

Như hình bên trên do chính điện thoại thật và đồng hồ thật mà Tui cấu hình tức là bạn đã thành công. Tới đây từ Android Studio bạn chạy phần mềm thì nó hỏi:

h14Bạn thấy đó, cái đồng hồ thông minh Moto 360 thật của Tui nó sẽ hiển thị ở chỗ chọn thiết bị của Android Studio==> bạn nhấn OK là sẽ cài được phần mềm từ Máy tính qua đồng hồ.

Như vậy Tui đã hướng dẫn đầy đủ và chi tiết từng bước để lần đầu tiên bạn tiếp cận lập trình đồng hồ thông minh như thế nào rồi nhé, bạn chú ý thực hành kỹ lại những hướng dẫn này nhé.

Source code đồng hồ điện tử: http://www.mediafire.com/download/j6i9cde877vfyd5/DongHoDienTu.rar

Chúc các bạn thành công.