All Projects → smartdevicelink → Sdl_java_suite

smartdevicelink / Sdl_java_suite

Licence: bsd-3-clause
SmartDeviceLink libraries for Android, Java SE, and Java EE

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Sdl java suite

Light Propagation Volumes
Master's thesis implementing real-time global illumination method.
Stars: ✭ 88 (-47.93%)
Mutual labels:  sdl
Radixengine
A free and open game engine.
Stars: ✭ 126 (-25.44%)
Mutual labels:  sdl
Ngx Webcam
A simple Angular webcam component / pure & minimal, no flash-fallback
Stars: ✭ 148 (-12.43%)
Mutual labels:  smartphone
Openxcom
Open-source clone of the original X-Com 👽
Stars: ✭ 1,302 (+670.41%)
Mutual labels:  sdl
Simple Sdl2 Audio
A simple SDL2 audio library without SDL_Mixer for playing music and multiple sounds natively in SDL2
Stars: ✭ 111 (-34.32%)
Mutual labels:  sdl
Serpent
Cross-platform gaming kit in the D programming language
Stars: ✭ 140 (-17.16%)
Mutual labels:  sdl
Koreader Base
Base framework offering a Lua scriptable environment for creating document readers
Stars: ✭ 81 (-52.07%)
Mutual labels:  sdl
Motion Sense
MotionSense Dataset for Human Activity and Attribute Recognition ( time-series data generated by smartphone's sensors: accelerometer and gyroscope)
Stars: ✭ 159 (-5.92%)
Mutual labels:  smartphone
Xray 16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
Stars: ✭ 1,806 (+968.64%)
Mutual labels:  sdl
Sdl ios
Get your app connected to the 🚙, make your users feel like a 🌟
Stars: ✭ 147 (-13.02%)
Mutual labels:  sdl
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+5966.27%)
Mutual labels:  sdl
Is Engine
SFML C++ game engine that allows to create games on Web (HTML 5 - CSS 3), Android and PC
Stars: ✭ 94 (-44.38%)
Mutual labels:  sdl
Openbot
OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation.
Stars: ✭ 2,025 (+1098.22%)
Mutual labels:  smartphone
Ccleste
Celeste Classic C source port for 3DS and PC.
Stars: ✭ 89 (-47.34%)
Mutual labels:  sdl
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-11.83%)
Mutual labels:  sdl
Dgame
A 2D framework for the D programming Language
Stars: ✭ 84 (-50.3%)
Mutual labels:  sdl
Nexmon
The C-based Firmware Patching Framework for Broadcom/Cypress WiFi Chips that enables Monitor Mode, Frame Injection and much more
Stars: ✭ 1,761 (+942.01%)
Mutual labels:  smartphone
Div Games Studio
Complete cross platform games development package, originally for DOS but now available on modern platforms.
Stars: ✭ 168 (-0.59%)
Mutual labels:  sdl
Allure
Allure of the Stars is a near-future Sci-Fi roguelike and tactical squad combat game written in Haskell; please offer feedback, e.g., after trying out the web frontend version at
Stars: ✭ 149 (-11.83%)
Mutual labels:  sdl
Arduino Bluetooth Basic
Control a LED using your smartphone via Bluetooth (Does not support BLE)
Stars: ✭ 146 (-13.61%)
Mutual labels:  smartphone

Build Status codecov Slack Status

SmartDeviceLink (SDL)

SmartDeviceLink (SDL) is a standard set of protocols and messages that connect applications on a smartphone to a vehicle head unit. This messaging enables a consumer to interact with their application using common in-vehicle interfaces such as a touch screen display, embedded voice recognition, steering wheel controls and various vehicle knobs and buttons. There are three main components that make up the SDL ecosystem.

  • The Core component is the software which Vehicle Manufacturers (OEMs) implement in their vehicle head units. Integrating this component into their head unit and HMI based on a set of guidelines and templates enables access to various smartphone applications.
  • The optional SDL Server can be used by Vehicle OEMs to update application policies and gather usage information for connected applications.
  • The App Libraries - Android, iOS, JavaScript, JavaSE (Embedded), and JavaEE (Cloud) - are implemented by app developers into their applications to enable command and control of a connected head unit.

Pull Requests Welcome!

To understand if a contribution should be entered as a Java Suite Pull Request (or issue), or an SDL Evolution Proposal, please reference this document.

SmartDeviceLink

App Library

The app library component of SDL is meant to run on the end user’s smart-device from within SDL enabled apps, as an embedded app, or connected to the cloud. App libraries allow the apps to connect to SDL enabled head-units and hardware through bluetooth, USB, and TCP for Android, and cloud and embedded apps can connect through web sockets, Java Beans, and other custom transports. Once the library establishes a connection between the smart device and head-unit through the preferred method of transport, the two components are able to communicate using the SDL defined protocol. The app integrating this library project is then able to expose its functionality to the head-unit through text, media, and other interactive elements.

SmartDeviceLink Java Suite

You can find guides and API Reference Documentation specific to SDL Android, JavaSE, and JavaEE libraries on smartdevicelink.com.

Contents and timing for SDL Java Suite releases can be tracked on the GitHub Projects page.

Additional information about recent and upcoming SDL Releases can be found in the SDL Evolution README.

SmartDeviceLink Android

Download Android

Installation

Dependency Managers

To compile with the latest release of SDL Android, include the following in your app's build.gradle file,

repositories {
    jcenter()
}
dependencies {
    implementation 'com.smartdevicelink:sdl_android:4.+'
}

For Maven or Ivy snippets please look at Bintray

Manually

If you prefer not to use any of the aforementioned dependency managers, you can integrate SDL Android into your project manually.

Proguard Rules

Developers using Proguard to shrink and obfuscate their code should be sure to include the following lines in their proguard-rules.pro file:

-keep class com.smartdevicelink.** { *; }
-keep class com.livio.** { *; }
# Video streaming apps must add the following line
-keep class ** extends com.smartdevicelink.streaming.video.SdlRemoteDisplay { *; }

SmartDeviceLink Java

JavaSE

Download JavaSE

The JavaSE project is meant to allow SDL compatibility for embedded applications.

Dependency Managers

To compile with the latest release of SDL JavaSE, include the following in your app's build.gradle file,

repositories {
    jcenter()
}
dependencies {
    implementation 'com.smartdevicelink:sdl_java_se:4.+'
}

JavaEE

Download JavaEE

The JavaEE project is meant to allow SDL compatibility for web applications.

Dependency Managers

To compile with the latest release of SDL JavaEE, include the following in your app's build.gradle file,

repositories {
    jcenter()
}
dependencies {
    implementation 'com.smartdevicelink:sdl_java_ee:4.+'
}

Manually building a JAR

If you prefer making a JAR, simply call:

gradle build

from within the project (JavaSE or JavaEE) and a JAR should be generated in the build/libs folder

Java Suite Repo Structure

Java Suite Folder Structure

base Folder

The base folder contains the source set that is shared between all of the compilable projects. This folder does not contain a compilable project.

android Folder

The android folder contains the SDL Android library as well as the sample project for Android. Both of those are compilable projects.

javaSE

The javaSE folder contains the SDL JavaSE Library. The base folder source set is added as a dependency. This project can be used for embedded or remote SDL applications. It uses a web socket transport by default but can be made to work with other transports via the CustomTransport.

JavaSE Sample App

The JavaSE sample app is in the hello_sdl_java folder. It demonstrates an efficient way to structure a Java app using the JavaSE library.

javaEE

The javaEE folder contains the SDL JavaEE library. The JavaSE folder is used as a source set and added as a dependency. This library is based off the JavaSE library and will contain specifics for the JavaEe platform.

JavaEE Sample App

The JavaEE sample app is in the hello_sdl_java_ee folder. Most of the code is commented out since the library and sample app do not include the dependencies of JavaEE due to licensing issues. However, the commented out code demonstrates how to build a Java based app into the JavaEE bean architecture.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].