• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    Java
  • License
    MIT License
  • Created over 10 years ago
  • Updated almost 8 years ago

Reviews

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

Repository Details

Android PebbleKit SDK to talk to the Pebble via Bluetooth

PebbleKit Android

Welcome to Pebble's official Android SDK!

Communication with Pebble

On Android, all communication between apps and Pebble go through the official Pebble Android application via intents.

PebbleKit Android provides a convenience layer on top of those intents.

Documentation

Examples

All Pebble examples are now available on GitHub.

We provide several examples of Android application communicating with Pebble:

  • The Sports demo shows how to build an Android application that starts and communicates with the Sports app embedded in all Pebbles.
  • The PebbleKit Android Example shows how to perform basic use of AppMessage between a Pebble watchapp and an Android companion app.

Using PebbleKit Android

As of version 2.5, PebbleKit Android is distributed as a library on the Sonatype OSS Repository. Source code and Android library (.aar) are also available.

A specific library is available for Eclipse users (Eclipse does not support the .aar library format).`

You must install the official Pebble Android application to use PebbleKit Android.

PebbleKit Android requires Android SDK version 14 or higher (4.0 and above).

Using PebbleKit Android with Android Studio and Gradle

In Android Studio, or on any Gradle project, you can add PebbleKit Android in your app/build.gradle file:

dependencies {
    compile 'com.getpebble:pebblekit:4.0.1@aar'
}

Make sure that you also include a reference to the Sonatype OSS Repository:

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/groups/public/" }
}

Using Eclipse

To use PebbleKit in the Eclipse IDE you must import the .jar file that contains the PebbleKit Android SDK. To install, follow the instructions below:

  1. Download the pebblekit-4.0.1-eclipse.jar file from Sonatype.

  2. Add the file to your Android project in the libs folder alongside the AndroidManifest.xml file. This should automatically add it to your build path after refreshing the Android project. If not (or you saved it elsewhere) right-click the file and choose Build Path->Add to Build Path.

You can now use PebbleKit in your Eclipse Android project!

Using PebbleKit Android with Maven

If you are using Maven, you can add the following dependency in your pom.xml:

<dependency>
    <groupId>com.getpebble</groupId>
    <artifactId>pebblekit</artifactId>
    <version>4.0.1</version>
    <type>aar</type>
</dependency>

Using PebbleKit Android library directly

Finally you can also download the AAR file for PebbleKit Android and add it directly into your project.

Note: The AAR file format is currently not supported by Eclipse.

Changelog

4.0.1 - November 2016

  • Fixed bug that could cause apps to not properly update the speed/pace label when using the SportsState helper in the Sports API.

4.0.0 - November 2016

  • Added new APIs for sending custom HR data and a custom label/value from a mobile companion app, using the Sports API.
  • Added a helper object that will automatically manage state and message construction for updates to the Sports app on a Pebble watch.
  • Updated the Constant ICON_MAX_DIMENSIONS to be 25px, to be consistent with watches running 4.0 firmware. If your provided icon exceeds 25px x 25px, you will encounter a runtime error when calling customizeWatchApp.

3.1.0 - April 2016

  • Fixes a crash which could happen in some Locales
  • Makes PebbleTuple public and non-final

3.0.0 - March 2015

This version provides support for the upcoming Pebble Time and Pebble Time Steel watches. You must re-compile your application with this version of PebbleKit otherwise you will not be able to detect (PebbleKit.isWatchConnected()) the new Pebble watches.

There are no other changes in this version.

2.6.0 - November 2014

  • The datalogging API has changed in this version. receiveData() now takes java.lang.Long instead of com.google.common.primitives.UnsignedInteger. Otherwise the API has not changed.
  • Guava is no longer a dependency of PebbleKit.
  • Distribute a JAR version of PebbleKit Android for Eclipse users.
  • Fixed a bug where PebbleKit Android could leak cursors.
  • Fixed bug that caused duplicate launcher icons.

Important: In this version, DataLogging is only compatible with the Pebble mobile app 2.1+ (currently available in the Android Beta channel).

2.5.0 - August 2014

  • (Bumped version to 2.5 to follow firmware updates)
  • Automatic publication to Sonatype OSS Repo

2.0 - January 2014

  • First release of 2.0 SDK with the new DataLogging API

More Repositories

1

pebble-sdk-examples

Examples for Pebble SDK
Objective-C
373
star
2

rockyjs

JS Powered Pebbles in Your Browser
JavaScript
250
star
3

cloudpebble

CloudPebble source. Here be dragons.
Python
211
star
4

pebble-3d

3D drawings of Pebble
166
star
5

slate

[Deprecated] Front-end framework for developing Pebble mobile configuration pages.
CSS
128
star
6

clay

Pebble Config Framework
JavaScript
121
star
7

pebble-ios-sdk

iOS PebbleKit SDK to talk to the Pebble via Bluetooth
HTML
112
star
8

qemu

Pebble fork of qemu
C
98
star
9

libpebble2

The library portion of the successor to libpebble
Python
64
star
10

pebble-api-node

Pebble API client for Node.js
JavaScript
53
star
11

joi-objectid

A MongoDB ObjectId validator for Joi
JavaScript
43
star
12

event-loop-lag

Measure Node.js event loop lag.
JavaScript
42
star
13

yieldb

Simple, expressive and yieldable MongoDB
JavaScript
40
star
14

ArduinoPebbleSerial

Arduino library for communicating with Pebble Time via the Smartstrap port
C++
32
star
15

community-resources

Submit your Pebble tools and examples!
29
star
16

pypkjs

Python implementation of PebbleKit JS
Python
29
star
17

pebble-tool

The pebble tool that goes with libpebble2
Python
23
star
18

cloudpebble-composed

Local development setup for CloudPebble
Shell
21
star
19

homebrew-pebble-sdk

Pebble Homebrew Tap
Ruby
16
star
20

pybluetooth

Python Bluetooth Library
Python
13
star
21

goodthink

The happiness measuring app
C
12
star
22

joi-router-swagger-docs

Swagger doc generator for koa-joi-router
JavaScript
10
star
23

keen-cache

A node js caching proxy for keen.io
JavaScript
9
star
24

github-digest

Report on github pull request activity
Go
8
star
25

lambda-aws-pagerduty-alerts

Make AWS alerts to PagerDuty behave nicer by flowing them through a lambda function
Python
7
star
26

flotilla

Lightweight alternative to fleet, optimized for AWS.
Python
7
star
27

docker-cloudwatch-stats

Docker container that posts memory/disk stats from an EC2 instance to Cloudwatch
Shell
5
star
28

cloudpebble-qemu-controller

Controls qemus.
Python
5
star
29

pyv8

Pebble fork of PyV8
Python
5
star
30

airbrite-ruby

Ruby bindings for the Airbrite API.
Ruby
5
star
31

pebble-waf-tools

A collection of waf tools for use with the Pebble SDK
Python
5
star
32

hackmit-2013

Presentation and example project for #HackMIT 2013
C
4
star
33

docker-aws-cli

A simple docker that allows you to pass through aws-cli commands
4
star
34

cloudpebble-buildpack

Heroku buildpack for CloudPebble
Shell
3
star
35

has-own

A safer .hasOwnProperty() where property name comes first: `hasOwn(name, obj)`
JavaScript
3
star
36

qemu-tintin-images

3
star
37

cloudpebble-nameserver

Very simple DNS server for pebble-sockets.com
Python
3
star
38

cloudpebble-ycmd-proxy

Handles communication with the autocompletion daemon(s) on behalf of CloudPebble clients.
Python
3
star
39

mongodb-tailor

Tail your mongodb collections with style
JavaScript
3
star
40

toilet-time

Arduino/Web/Pebble Application for determining the optimal time to use the toilet
Swift
3
star
41

qemu-binaries

QEMU Binaries for the Pebble emulator
3
star
42

qdog

Module used for adding and reading from SQS and eventually Redis
JavaScript
2
star
43

pyv8-prebuilt

Prebuilt versions of pyv8
Python
2
star
44

openocd

Openocd fork with support for our modified version of freertos
C
2
star
45

lambda-queue-worker

An infinitely scalable and cheap queue worker template for NodeJS functions.
JavaScript
2
star
46

spacel-provision

Space Elevator provisioner
Python
2
star
47

fastly-log

Fluentd Dockerfile to forward fastly events to TreasureData
2
star
48

eslint-config-pebble

eslint shareable config for pebble
JavaScript
2
star
49

jsconf2015-schedule

Example Application that populates a Pebble Timeline Topic with a schedule of events.
JavaScript
1
star
50

rocky-repl

Super hacky REPL, entirely implementing using only public API
JavaScript
1
star
51

spacel-agent

Space Elevator Agent
Python
1
star
52

cloudpebble-ws-proxy-standalone

Cloudpebble developer connection websocket proxy
JavaScript
1
star
53

joi-authorization-header

A request authorization header Joi validator
JavaScript
1
star
54

restrict-resource-webpack-plugin

Webpack plugin that returns an error message when a resource/module matches a given regular expression
JavaScript
1
star