Android Wear에서 Mobile로 메시지 보내기

10016 단어 AndroidWearAndroid
Waer와 Wear는 헷갈리기 쉽다.
http://www.appbank.net/2013/10/31/iphone-application/693334.php
이번에는 안드로이드 웨어가 휴대전화에 메시지를 보내는 튜토리얼이다.
동기적, 비동기적, 서비스 등은 메시지만 보내면 여러 가지 방법이 있는데, 이번에는Android Wearからスマホへ、非同期にメッセージを送る나는 이 목표만 달성할 수 있다면 좋겠다고 생각한다.

1 기존 프로젝트에 Android Wear 모듈 추가



File>New Module...
변경합니다.

이번에는 Watch InterFace이므로 Android Wear Module을 선택합니다.

Packgae name: 스마트폰 애플리케이션과 꼭 같아야 합니다.(같지 않으면 메일을 보낼 수 없다. 이렇게 하루를 낭비한다.)
그 다음엔 신경 안 써도 돼.finish까지 넥스트를 계속 누르세요.

2 테이블 측면에서 보낸 부분을 쓴다


개요는 버튼을 누르면 보내는 느낌입니다.
다음은 시계선이다.
MainActivity.java

@Override
        public View onCreateContentView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            initApi();
            Button button = new Button(this.getActivity());
            button.setText("OK");
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    sendToast(getActivity());
                }
            });
            return button;
        }

private void sendToast(final Context context) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    GoogleApiClient client = new GoogleApiClient.Builder(context)
                            .addApi(Wearable.API)
                            .build();
                    client.blockingConnect(100, TimeUnit.MILLISECONDS);
                    NodeApi.GetConnectedNodesResult result =
                            Wearable.NodeApi.getConnectedNodes(client).await();
                    List<Node> nodes = result.getNodes();
                    if (nodes.size() > 0) {
                        client.blockingConnect(100, TimeUnit.MILLISECONDS);
                        Wearable.MessageApi.sendMessage(client, nodes.get(0).getId(), "hello", null);
                        client.disconnect();
                    }
                    client.disconnect();
                }
            }).start();
        }

3 수신자 서비스 작성


수신자의 서비스를 제작하다.
개요는 메시지를 받은 후 토스트를 표시하는 것이다.예, 그렇습니다.
스마트폰 앱에서 왓치 서비스라는 자바 파일을 제작해 다음과 같이 설치한다.
WatchService.java
public class WatchService extends WearableListenerService {
    @Override
    public void onMessageReceived(MessageEvent messageEvent) {
        showToast(messageEvent.getPath());
    }

    private void showToast(String message) {
        Toast.makeText(this, message, Toast.LENGTH_LONG).show();
    }
}

4 AndroidManifest.xml 수정


AndroidManifest.xml
<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
이 같은 기술은 모두 스마트폰 시계의 안드로이드 매니페스트다.xml 애플 밑에 적혀 있습니다.
AndroidManifest.xml
        <service
            android:name=".WatchService" >
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
            </intent-filter>
        </service>
스마트폰 측의 안드로이드 매니페스트다.xml의 Application 아래에 쓰면Watch 서비스를 받을 준비를 하도록 합니다.

5 실행


각각 스마트폰과 시계를 설치한 앱을 시계 옆에 있는 버튼을 누르면 스마트폰에 토스트를 표시하는 데 성공한다!

좋은 웹페이지 즐겨찾기