OkWear
This is library to easily use connection between android wear and handheld device.
Usage
Example
Send
static final String PATH = "/path"
static final String MESSAGE = "hello"
OkWear ok = new OkWear(context);
// unused callback listener
ok.sendMessageAll(MESSAGE, PATH);
// use callback listener
ok.sendMessageAll(MESSAGE, PATH, new SendResultListener<MessageApi.SendMessageResult>() {
@Override
public void onResult(MessageApi.SendMessageResult result) {
Log.v(TAG, "Status: " + result.getStatus());
}
});
You can easily setup to use Payload class.
OkWear ok = new OkWear(context);
Payload payload =
new Payload.Builder(PATH)
.addPayload("key1", 0)
.addPayload("key2", "hello")
.build();
// unused callback listener
ok.syncData(payload);
// use callback listener
ok.syncData(payload, new SendResultListener<DataApi.DataItemResult>() {
@Override
public void onResult(DataApi.DataItemResult result) {
Log.v(TAG, "Status: " + result.getStatus());
}
});
Receive
OkWear ok = new OkWear(this);
ok.registReceiver(this);
implements callback listener(WearReceiveListener
) on your class.
@Override
public void onReceiveMessage(MessageEvent messageEvent) {
if (messageEvent.getPath().equals(PATH)) {
final String messagePayload = new String(messageEvent.getData());
Log.v(TAG, messagePayload);
}
}
@Override
public void onReceiveDataApi(DataEventBuffer dataEventBuffer) {
for (DataEvent event : dataEventBuffer) {
final DataMap dataMap = DataMap.fromByteArray(event.getDataItem().getData());
final int data1 = dataMap.getInt("key1");
final String data2 = dataMap.getString("key2");
Log.v(TAG, "data(int): " + data1);
Log.v(TAG, "data(string): " + data2);
}
}
Tips
You can easily create payloads using these util classes.
- Payload Payload is created by key value pairs.
Support values | |||||
---|---|---|---|---|---|
ArrayList<Integer> | Asset | Bitmap | boolean | byte | int |
ArrayList<String> | byte[] | DataMap | double | float | float[] |
ArrayList<DataMap> | long | long[] | String | String[] |
Payload payload =
new Payload.Builder("path")
.addPayload("key1", 0)
.addPayload("key2", "hello")
.build();
Support values | |||
---|---|---|---|
boolean | long | int | short |
double | float | String | char |
byte[] payload = ParseByteArray.fromString("hello");
Setup
Gradle
Add the dependency in your build.gradle
buildscript {
repositories {
jcenter()
}
}
dependencies {
compile 'com.github.aakira:okwear:1.0.2'
}
Lifecycle
Activty, Fragment or Service
You have to call connect()
and disconnect()
methods when onResume()
and onPause()
occur in your lifecycle
OkWear mOkWear;
@Override
protected void onResume() {
super.onResume();
mOkWear.connect();
}
@Override
protected void onPause() {
super.onPause();
mOkWear.disconnect();
}
SDK Version
This library requires over Android 4.3(Jelly Bean)
minSdkVersion=18
License
Copyright (C) 2015 A.Akira
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.