• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easily connection between Android wear and Handheld (Mobile device)

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.

More Repositories

1

Kotlin-Multiplatform-Libraries

Kotlin Multiplatform Libraries. Welcome PR if you find or create new Kotlin Multiplatform Library.
2,040
star
2

ExpandableLayout

[Deprecated] An android library that brings the expandable layout with various animation. You can include optional contents and use everywhere.
Java
1,656
star
3

Napier

Logging library for Kotlin Multiplatform
Kotlin
587
star
4

CompoundIconTextView

An android library that is able to set a vector drawable at text view pre-Lollipop.
Java
247
star
5

ExoPlayerManager

An android library that wraps the ExoPlayer and the IMA Android SDK which plays a video advertisement. This is written in Kotlin.
Kotlin
78
star
6

dagger-hilt-example

This repository is an example of the dagger android hilt plugin using an android view model
Kotlin
59
star
7

mpp-example

This project is a minimum example of Kotlin Multiplatform Project.
Kotlin
32
star
8

DaggerInstantApps

Instant apps sample using dagger2 android support.
Kotlin
32
star
9

flutter-graphql-example

Dart
19
star
10

KotlinNativeSample

KotlinNativeSampleProject, Android, iOS
Swift
16
star
11

multithread-mpp

This is the best architecture of Kotlin Multiplatform Project I think! This project works on background thread using kotlinx.Coroutines.
Kotlin
16
star
12

KotlinMultiplatformAndoridParcelize

Use the Parcelize Annotation of the Kotlin Android Extensions in Kotin Multiplatform projects
Swift
15
star
13

Java2KotlinPractice

Java
13
star
14

flutter-parallax-walkthrough

Dart
5
star
15

git_info_plus

Get git information from within the Flutter application
Dart
4
star
16

MaterialColorPaletteTemplate

This is values of color for Android
4
star
17

gmail-to-calendar

JavaScript
3
star
18

flutter-hierarchical-transitions

This is an example of hierarchical transitions on the flutter app.
Dart
1
star
19

Vim-Commands

convenience commands
1
star
20

dotfiles

my vimrc etc...
Shell
1
star
21

aakira

1
star