Code Monkey home page Code Monkey logo

okwear's Introduction

OkWear

Screen

Platform Language License Android Arsenal

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.

okwear's People

Contributors

aakira avatar matoushybl avatar

Stargazers

Érik Freitas avatar  avatar  avatar 北方埋 avatar Abhinav Srivastava avatar iwolfberry avatar 饶楠杰 avatar khfongaa avatar  avatar Tunde Olabenjo avatar  avatar SST avatar Daan Biesterbos avatar M1k4el4 avatar  avatar wheat avatar Anton Tuzov avatar Ishan Sain avatar oshita-n avatar Joy Chace avatar Mohamed Khalifa avatar Georgi Koemdzhiev avatar wangchang avatar Antonio Nicolás Pina avatar Haider avatar Xijun (Tankery) Chen avatar  avatar Michael Zhou avatar Angus H. avatar 不是油条 avatar Peter avatar zhufu avatar Satoru Fujiwara avatar Hideyuki Kikuma avatar Satoshi Namai avatar Masaaki Morishita avatar Keisuke Imai avatar icedream avatar 咕咚 avatar Pierry Borges avatar Pedro Paulo Amorim avatar Michael Basil avatar WuPengHui avatar  avatar tomohiro_sasaki avatar Vishal Khakhkhar avatar Pranav Lathigara avatar  avatar Michal Vojtíšek avatar Michal Havryluk avatar WEBER Antoine avatar  avatar younippon avatar  avatar Taigo SHIMOYAMA avatar Bahadır Bulduk avatar  avatar H avatar gitthinkoo avatar Johnny Sung avatar 脉脉不得语 avatar SatoshiYohimura avatar kaient avatar Kevin avatar Ryota Watanabe avatar  avatar Vladimir Sh avatar Aziz Kadhi avatar Ali Rahimpour avatar wangxu avatar LiFZhe avatar qiufeng avatar Dean avatar xiaozou avatar Jianbo Peng avatar 孔楠 avatar Sherchen avatar GXYR@ox avatar Pkmmte Xeleon avatar ogaclejapan avatar Michael Allon avatar Yuichiro MUKAI avatar shin.sekaryo avatar Takahiko Inayama avatar huydx avatar Vadim Kotov avatar wangmeng avatar  avatar Tinashe avatar Subrahmanya S M avatar Ivan Morgillo avatar Kent avatar trietbui85 avatar dodola avatar Hari avatar  avatar Drew Heavner avatar Jose Peleteiro avatar Andrey Kulikov avatar Dzhunet Hasan avatar

Watchers

James Cloos avatar xiaozou avatar Webserveis avatar  avatar 咕咚 avatar Sherchen avatar Georgi Koemdzhiev avatar The Elementonium Groups avatar  avatar

okwear's Issues

Error GoogleApiClient.connect() Play services 10

My gradle

compile 'com.google.android.gms:play-services-wearable:10.0.0'
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.android.support:design:25.0.1'
compile 'com.github.aakira:okwear:1.0.2'

Process: com.webserveis.app.splitpaywear, PID: 15378
java.lang.IncompatibleClassChangeError: The method 'void com.google.android.gms.common.api.GoogleApiClient.connect()' was expected to be of type interface but instead was found to be of type virtual (declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)
at jp.android.a.akira.library.okwear.ConnectionHelper.connect(ConnectionHelper.java:86)
at jp.android.a.akira.library.okwear.OkWearBase.connect(OkWearBase.java:46)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.