Popularity
4.5
Stable
Activity
0.0
Stable
375
26
51

Code Quality Rank: L5
Programming language: Java
Tags: Android Wear    

Teleport alternatives and similar packages

Based on the "Android Wear" category

Do you think we are missing an alternative of Teleport or a related project?

Add another 'Android Wear' Package

README

Teleport - Data Sync & Messaging Library for Android Wear

Screen

Teleport is a library to easily setup and manage Data Syncronization and Messaging on Android Wearables.

The library is thought for Android Studio.

Quick Overview

You can see Teleport as an Android Wear "plugin" you can add to your Activities and Services.

Teleport provides you commodity classes to easily establish a communication between a mobile handheld device and an Android Wear device.

  • TeleportClient provides you "endpoints" you can put inside your Activities, both in Mobile and Wear.
  • TeleportService is a full-fledged, already set-up 'WearableListenerService'.

Both these classes incapsulates all the GoogleApiClient setup required to establish a connection between Mobile and Wear.

TeleportClient and TeleportService also provide you two AsyncTask you can extend to easily perform operations with the synced DataItems and received Messages:

  • OnSyncDataItemTask provides you a complete DataMap of synced data
  • OnGetMessageTask provides you access to a received Message path in form of String.

You just need to extend these tasks inside your Activity/Service and you're good to go!

To Sync Data and send Messages, you can use commodity methods like

  • sync<ItemType>(String key, <ItemType> item) to Sync Data across devices
  • sendMessage(String path, byte[] payload) to send a Message to another device.

Summary

Can I have an example of how easy is Teleport to use?

There you go :-)

Here's a Mobile and a Wear Activity already configured to Sync Data.

  • The MobileActivity synchronizes a string "Hello, World!".
  • The WearActivity shows a Toast with the synchronized string.

MobileActivity.java


    public class MobileActivity extends Activity {

    TeleportClient mTeleportClient;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_mobile);

             mTeleportClient = new TeleportClient(this);         
         }

        @Override
        protected void onStart() {
            super.onStart();
            mTeleportClient.connect();
            }

        @Override
        protected void onStop() {
            super.onStop();
            mTeleportClient.disconnect();
         }


        public void syncDataItem(View v) {                   
           //Let's sync a String!
           mTeleportClient.syncString("hello", "Hello, World!");   
        }

    }

WearActivity.java


    public class WearActivity extends Activity {

        TeleportClient mTeleportClient;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_wear);

             mTeleportClient = new TeleportClient(this);

             mTeleportClient.setOnSyncDataItemTask(new ShowToastHelloWorldTask());

        }

        @Override
        protected void onStart() {
            super.onStart();
            mTeleportClient.connect();
        }

        @Override
        protected void onStop() {
            super.onStop();
            mTeleportClient.disconnect();

        }

        public class ShowToastHelloWorldTask extends TeleportClient.OnSyncDataItemTask {

                @Override
                protected void onPostExecute(DataMap dataMap) {

                    String hello = dataMap.getString("hello");   

                    Toast.makeText(getApplicationContext(),hello,Toast.LENGTH_SHORT).show();
                }
        }

    }

Jump to Library Set Up !!!

Follow me on

Author: Mario Viviani

Thanks to:

Damien Cavaillès - https://github.com/thedamfr

License

Teleport is released under the Apache License 2.0

Copyright 2014-2015 Mario Viviani

    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.


*Note that all licence references and agreements mentioned in the Teleport README section above are relevant to that project's source code only.