🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀
The easiest HTTP networking library for Kotlin/Android
Kotlin Networking - An elegant networking library written in Kotlin
🏐 Volley library : make everything faster . Its an improvements for Volley by Google for Android https://android.googlesource.com/platform/frameworks/volley
Android library listening network connection state and Internet connectivity with RxJava Observables
Open Source Library for GPU-Accelerated Execution of Trained Deep Convolutional Neural Networks on Android
Android Network Intents (ANI) is a library to send Android Intent objects to listening apps/devices via multicast (UDP).
WordPress Network and Persistence layer based on the Flux architecture
Common Utils library is developed to reduce efforts to achieve common features of the android apps. While developing the apps, we realized that we’re coding for many common features in all the apps. For e.g. check the network’s availability, using shared preferences, parsing, etc. And like us, many other android developers might be doing the same. So it needs to be reduced for all to save the development time with ease. This is how an idea popped in our mind, and we decided to develop an SDK which can reduce developers’ time and efforts.
Android library to record the network calls through the interceptor mechanism of the http clients.
Android library listening network connection state and change of the WiFi signal strength with event bus
A library that handles long-running downloads, handling the network interactions and retrying downloads automatically after failures
A Titanium Appcelerator module to interact with iBeacons via the Radius Networks' iBeacon native android library
[Android Library] Network Service Discovery helper for Android
:satellite: [Android Library] Simplified async networking in android
An android library to effortlessly connect to available WiFi networks
A P2P library for Android for discovery on local networks using UDP and transfer in general using TCP sockets
a powerful android network library base on okhttp
Library for login in social networks
Android and Java library for mocking and testing networking layers with built-in support for Retrofit.
Networking library used by WordPress-Android and other WordPress-*-Android components
Simple Android library to notify Android device network changes and react properly.
Samples for usage of Networking and Persistence libraries using TheMovieDB Api
Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.
(Android) Networking and Cryptography Library (NaCL) JNI binding. JNI is utilized for fastest access to native code. Accessible either in Android or Java application. Uses SWIG to generate Java JNI bindings. SWIG definitions are extensible to other languages.
Public key pinning with Android volley networking library
Android networking and database library, which includes multiple retries for HTML access and serializes database access to prevent crashes. This library is used by WorxForUs and can be found in products associated with the Android app for checkliststogo.com. Check the website below for the documentation.
Smash is Volley inspired networking library that's using OkHttp in its core
Flexible and Easy HTTP/REST Communication library for Java and Android
Android Volley Wrapper library to make networking easy, flexible and better
Library for asynchronous execution of HttpGet, HttpPost, HttpPut, HttpDelete, Multipart-Put, Multipart-Post and HttpUrlConnection with callback.
DownZ is a Http Library that makes networking for Android apps easier and faster
OkHttp and AsyncHttp network framework in the request rate, success rate, memory and CPU consumption, etc.OkHttp 和 AsyncHttp 比较,在请求速度、成功率、内存使用率、cpu使用情况等进行比对,希望对网络框架的选择有些帮助
An android restful api/networking library using okhttp library as backbone.
Super cool android library to manage database caching and networking with ease.
A fully fledged and easy to use RESTful client/Networking library for Android
Android Simple Network Library for HTTP and Image Requests with cool features implemented with Simple Demo using some Material Design UI Elements.
A smart, reliable, and highly customizable debug menu library for Android apps that supports screen recording, network activity logging, and many other useful features.
Extension of the Android networking library Volley. Adds support of local request along with the network ones, and some other cool stuff.
Simple library to handle network connections in different views in just few lines of code.
A simple but powerful HTTP networking library for Android. It features a Fluent chainable API, and it's powered by Java/Android's URLConnection classes for maximum compatibility and speed.
Webi Fast and full of features HTTP library that makes easy networking and caching response for Android apps
This is a network client written on top of retrofit to perform network call just by plug n play this library.
Built with node.js(express.js) and mysql on the server-side and Android Volley HTTP library on the client side for transmitting network data
Basic Android Client/Server Library for finding a Local Network Server IP
:bar_chart: [Android-Library] Monitor network data information of your apps in android devices. NOTE : won't work from nougat and above due to security reasons.
Official Android library and sample app for Expedia Affiliate Network API V3.
⭕ Text recognition, Leptonica-based deep learning technology, the text on the picture, intelligent recognition as editable text. Support printing and handwriting recognition, including ID cards, business cards and other card types, but also support notes, waybills and other customized scene identification, can effectively replace the manual entry of information scenes. Available in both Chinese and English language libraries, recognition accuracy up to 94%. No networking required.
DroidNet is an Android Networking Library listening for network connection state and Internet connectivity with the assumption that active internet connection or not. Connecting to a network doesn’t necessarily mean that device has active internet connection
🍂 Jetpack Compose image loading library which can fetch and display network images using Glide, Coil, and Fresco.
Android Volley networking library polished/sharpened by adding OKHttp 2.3 stack, Multipart Requests, Gson and much more..
Android library listening network connection state and Internet connectivity with Coroutines Flow
An Easy to use retrofit based network/api call extention for android
This SDK provides the tools to use OneAll on the Android platform. It allows users to login with their social network accounts and to share messages with their friends. The library is integrated with a few lines of code and uses native Android integration with Facebook and Twitter where possible.
a library for check network available on Android, which uses ping or request url to get the real network status.
A client-side Android library to monitor and limit network traffic sent by your apps
F4pl0's Awesome Request Library for Android
an asynchronous, netty-based network library for Android communication on LAN.
A set of hopefully useful classes for common networking use cases.
An Android library that provides a simple loading image and network request.
I'm using this App to teach myself network libraries in Android. Second Android project attempted.
Networking API is an HTTP library that makes networking for Android apps easier.
A library containing helpful networking and data managing code that we use across our projects.
It's a networking library. You can call RESTful APIs in your project by using this.
Details about Android App and server connection using Retrofit Network library is given in my blog site. Please be mentioned the blog is written in Bengali. If you know Bengali, you are most welcome. I described here Client side (Android) as well as server side (by PHP).
Convenient wrapper library to perform network queries using Retrofit and Android Priority Job Queue (Job Manager)
:tangerine: A simple library that can detect network state changes on Android device. / 通过使用BroadcastReceiver来检测Android设备网络变化的库
Android fastest network library
library for monitoring android network request with okhttp
An Android library for linking @ mentions & Hashtags to their corresponding social network
A Java library that can be used to create mnemonics for the Stellar Network (e.g. for your Android app)
Material Design, Using of widgets, SQLite Database, Realm Database, Android MVP, RESTful API's, Network Libraries(Volley, Retrfit) etc
Android Weather Application. Using open weather API and Retrofit for networking library.
Android kotlin library that provides useful information about the network
This library for Android will take any set of events and batch them up before sending it to the server. It also supports persisting the events on disk so that no event gets lost because of an app crash. Typically used for developing any in-house analytics sdk where you have to make a single api call to push events to the server but you want to optimize the calls so that the api call happens only once per x events, or say once per x minutes. It also supports exponential backoff in case of network failures
Renderscript Image Blur and Using Volley Network Library News And Update
A library to configure the ESP8266 wifi network using an Android application in the same way Google do with Chromecast.
This app is for testing various networking libraries in the open source world for android
Demonstration of networking from REST API into an Android application using Kotlin, Retrofit and Room persistence library.
Some times because of Server problem we are facing A Network Fluctuatuion while calling the API. To resolve that problem I've made a Simple lightweight library which provides Functionality to Retry that API call at time of network error. Take a look and Feel free to Contribute.
Library for simple bluetooth networking on Android (Classic Bluetooth, not BLE)
A network helper library written in Kotlin for Android
Small utility library for Android to evaluate requirements in order for some action to proceed. For example: network connection, permissions (API 23), system services (location, bluetooth, ...), etc.
Shows how to use Googles Volley library to networking
Lightning Network Daemon (lnd) wrapper library for Android
Fast, Efficient and Elegant Android Neural Network Library with strong GPU acceleration, implemented CNN, Squeezenet yet.
The exercise consists of implementing a library for connection-oriented network service and a small application which uses this library.
SmartAd is an easy-to-use library for AdMob and Audience Network advertising frameworks in Android.
Android common library. It's extremely common and simple, only 99 kb for everything! Include : Log, Base64, FlashLight, SilentInstaller, Network, Toastor, WakeLock, Check, Averager, TimeCounter, AndroidUtil, AppUtil, BitmapUtil, ClassUtil, DialogUtil, FieldUtil, FileUtil, HexUtil, MD5Util, NotificationUtil, NumberUtil, PackageUtil, RandomUtil, ShellUtil, TelephoneUtil, VibrateUtil, PhoneReceiver, SmsReceiver, NotificationService, etc.
A Simple Android library to check various types of network connections, to allow an app check internet connectivity status in realtime.
Volley Networking Library Illustrative Example with Image, Data Model and Caching
This code is about the integrating the volley networking library for doing the fastest network operations
Using The Fast Android Networking Library In Kotlin Language
ConnectivityListener is an Android library to listen for Network changes
A repo to teach myself how to post and retrieve data from API using Retrofit and RxJava libraries
Samples which involve Retrofit, Volley and other various networking libraries
A highly modular network service discovery and broadcast library that utilizes Kotlin's coroutines
Everything about various Android networking libraries
An Android app that demonstrates paging using network only (endless data) or network/db (limited data)
Example of using a library for Networking in Android
Reactive Android library for observing network connectivity and internet access with RxJava2
Android Library for simplifying APIs requests from android apps based on Volley http networking library
A Android library helps simple online features (chat, member management) easily
Android library for implementing login/share easily for social networks
A copy of the Android networking library with fixes to handle 401 Auth errors reported as network exceptions
An Android App to show basic networking using Retrofit library and Fake REST API.
Practice with important android libraries.
A Complete Fast Android Networking Library that also supports HTTP/2
An Android library for observing network connectivity as either Livedata or Flow.
An example of data insertion and fetch from server using fast android networking library and image load from web, sdcard, drawable and load thumbnail from video using universal image loader library.
Android library with a utils, architecture, networking, multithreading modules within
A Library for simplify network loader in paging recyclerview
A repo about the do network call using RxAndroidNetworking library within 10minutes for any type of API Call.
Android volley is a networking library was introduced to make networking calls much easier, faster without writing tons of code. By default all the volley network calls works asynchronously, so we don’t have to worry about using asynctask anymore.
Android Cacheable Network Library For HTTP & JSON RPC protocol. Cache network responses to use later. Designed for offline first approached architecture.
Fast Android Networking Library Demo With RxJava
A library for the native Android platform to provide easy access to common methods and save 50% development time by reusing persistent model, networking, navigation and other utility classes. Just add this library to your Gradle and access all methods to complete tasks easily. Time is the money and AppBajarLIB is your money saver! I am working continuously to improve/rich this codebase, stay tuned.
Sample demonstrating how to use Google Maps Android API v2, Realm DB and Volley network library.
This android library use for android devices communicated with each other by socket in local area network
Android core using okhttp network library and kotlin language
This is very simple networking call application made with retrofit networking library in android. This example is taken from androidhive.com for the pupose of practice
Coucou is a network service discovery and broadcast library for Flutter that supports both Android and iOS.
Create a simple app which connects to the GitHub API to retrieve and display list of my repositories. libraries: OkHttp, Volley, Retrofit
VolleyBecomesEasy makes network call simple, you just need to add two interface. The rest of network call will be handled by the library itself
Simple library to help inspecting your network data
Deploy is a Proof of concept Networking library using AsynkTask Loaders.
An Android Library to POST JSON and normal GET/POST using Rxjava. It's a networking library.
it will be quickly and easy ,if develop an android application base on this library,#ImageLoader# #NetWork# #ListView# #Cache#
Android-Networking-Libraries, this repository is for the people who following my Android Networking Libraries eBook.
This is a parent project as a library. It's a summary of my Android development experience. It concludes lots of tool classes, such as some classes about SharedPreference, IO, Download, Network and so on. Of course, some custom widgets, like RoundedImageView.
Volley is a networking library that manages network requests and their response caches without the developer having to write a lot of “boilerplate” code
High performance Android HTTP Client Library. Create a Request and pass to RequestThreadPool. The RequestThreadPool manages worker threads to process the request. The worker thread handles caching, network request, data parsing, retry, and finally provide callback to the caller.
Libraries for the android developer to get a quick start for writing network based program
A library for querying an Android device about the hardware on the device. (CPU usage, memory, network, display, processes, etc)
The pool is an android support library that lets you serve ads to your apps from multiple sources, including the AdMob Network, Facebook, and third-party ad networks.
Android working with Volley Library easy implementation in android, Networking with the Volley Library, get Json String volley VBage Tech
Slide Deck: Android Networking - Project Info -> Simple project showing how to handle HTTP Networking on Android using both Java Native and OkHttp libraries
A networking library for Android built using a combination of both Volley and OkHttp library. You can use this on both HTTP and HTTPS request.
Server is a light and fast HTTP library that makes networking for Android apps very simple. It is specially designed for transfer String and JSON data between android app and live server. Another major advantage of this is that it is very friendly with PHP.
An android music player that can locally share music libraries and play queues with other devices in the network using the same app
Creating AndroidLibrary aar file - a sample network call is handled in the library which uses volley library
An easy-to-use asynchronous network library
An Android Library to monitor the Network Connectivity Changes
Useful android library to simplify handling loading, no network and working sates anywhere in app.
A lightweight network library for Android base on AsyncTask.
Very simple demo of Volley Network library for Android
Code snipt to make network call in android using kotlin, without using any 3rd party library
A networking library for HTTP long polling / comet connections
Android library for BLE mesh networking
An android library which make networking for android app easier
Android network library base on Retrofit2/OkHttp3 Rxjava2, provide the relative util/helper class to help you create network part easier and not restrict the flexable
A networking and image downloading library from google
Android demo project utilizing the networking library Volley
College App Series _ android web service (library: android fast networking)
A networking library for Android that builds on top of Volley.
A networking library for Android that deals with request prioritization and multi-threaded request.
Example for testing an HTTP library -Volley- that makes networking for Android apps easier and most importantly, faster.
An app that uses paging library and networking library to show Reddit home feed
Android Network Library & Framework Analysis and Tutorial
Android Social Networks is library which makes working with social networks easier.
A Zeroconf library that allows you to discover network services and to broadcast your own. Based on Apple Bonjour and Android NSD.
A simple networking library to reduce all network related boilerplates in any Android project.
Android Library for validating a Network Operator
P2P library to connect multiple android devices together
A simple weather app that makes use of volley library. Volley library is an HTTP library that makes networking for android apps easier and faster.
An example to integrate Retrofit networking library in android
An android rest client app based on the networking library.
practice on Fast Android Networking Library ,Recycle View ,Intent,Toolbar
Simple Photo Uploading example using android Retrofit Networking library
A *Better Robust Communication Library* for Android ad hoc networking
Based on Google Android Volley networking library, with extra additions : OkHttp, streaming, ...
A simple and easy use networking library for Android / iOS , It's cross platform :D
Library for monitoring network status and optionally attach listeners on network state change.
Android library which makes it easier to disable and enable UI elements whose action require presence of network connection
Network file system library for Android
Android. Network request implementation without libraries
Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster.
This is an example implementation of the Facebook connectionclass library with the Natve broadcast receiver from ChilldoftheHorn's BABBQNetworkReceiver to determine the best network speed standards and classifiers to use dynamically througha combination of radio information, download speed, and system broadcasts.
This application is used to test android network libraries.
A library for network diagnosis, easy to use and extensible.
Network Monitoring library for the TrinityMirror Android app
Android app implementing pagination with Android paging library along with Retrofit framework implementation for network call
Android volley is a networking library was introduced to make networking calls much easier
Fork of Android volley networking library supplied by Google. Origin : https://android.googlesource.com/platform/frameworks/volley
Android library to easily use volley for network calls using strategy pattern.
Fork of Android Volley Networking Library. https://android.googlesource.com/platform/frameworks/volley
Pemogramman Android menggunakan library Fast Android Networking dan Database Maria DB (MQYSL)
Repositori ini berisi tentang pembuatan aplikasi android dengan Library Fast Android Networking
Easy-Volley-Android HTTP library that makes networking for Android apps easier and, most importantly, faster
Sampel penerapan Library Fast Android Networking GET JSON Array di Android
Just like name,this is a Android http network library used OkHttp and Volley.
OAuth library for Android: retrieves OAuth tokens from multiple social networks.
A simple library to log network calls in our android device.
This project contains implementation of MVP(Model-View-Presenter) with Dagger2 , Retrofit (Networking Library),RxJava2, ButterKnife,Glide
This is an example Android Networking library and check the network connection
A networking library based on OkHttp3 with lifecycle aware component and coroutines for better multiprocessing
Stream your favorite Videos from your Android Device over Network.
An example on how to use Volley networking library to make CRUD operations
a powerful android base library,Is include mvc,ioc,network,cache,orm,popural android ui
A library that helps you opening social networks from your app
An Android library that makes login with Social Networks or Email easier
Neural Network Kotlin Library for JVM and Android
Android library for monitoring network and internet connectivity
SlimRequest is tiny library for android network handling.
Android Dagger 2 dependency injection with retrofit network library usage
B4A Library wrap for Android NSD (Network Service Discovery)
A Lifecycle aware network state change listener library for Android
Android library for easy sharing in social networks
A library to check Internet and Network Connectivity in Android
Library for easier to build network requests with retrofit.
RxNetworkAndroid is an Android library that notifying the network connection state with RxJava 3 Observables.
A simple library to connect an Android device to a Wi-Fi network.
This contains examples of different volley library example for network call.
I show a list , after consume a rest service with Fast Android Network library
Blog Posting Android App using Volley Network Library also offline Storage for posts using room database
NNI is a library which makes using neural networks in android is easier.
Android volley is a networking library was introduced to make networking calls much easier, faster without writing tons of code.
A wrapper HTTP networking library by Retrofit + OkHttp + RxJava for Android
This library downloads the image or json file async over network and cache in working memory
🚀 This application is developed for listing the github repositories for the particular github user by using Github repositories api..in this application network operations are made using Android Retrofit Library for Network Call 🚀
This is a library for android that you can use to get the mac address of the connected devices in the same network your device is connected to.
Used NodeJS, ExpressJS and MongoDB for building API for URL encoding & decoding and integrating it with Android using OkHttp networking library.
a simplified approach to using the volley networking library for android
Library to facilitate the development of Ad hoc networking apps in Android
Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster.
A sample application that will demonstrate how to use different networking libraries in Android.
Android sample app using Volley, an HTTP library that makes networking easier and faster.
A library to make easier to use Networking in Android app
Udacity kotlin tutorial which helps in learning of networking library retrofit android
Easy-Volley-Kotlin-Android HTTP library that makes networking for Android apps easier and, most importantly, faster
Restful api (importing JSON data using android networking library an displaying it in recycler view )
An Android library to manage a local network ad hoc (Network Service Discovery) communications.
Source file to integrate Stetho into Fuel - The easiest HTTP networking library for Kotlin/Android
Android Weather Application. Using open weather API and Retrofit for networking library.
Simple Application to show the usage of retrofit android networking library
This is example of Using Retrofit networking library for consuming API calls in Android
Created a sample project in Kotlin with MVP pattern and using Fast Android Networking library.
Simple application to show the usage of volley library in android networking
Volley is an HTTP library that makes networking for Android apps easier and most importantly
A simple app to search the keywords using Android JetPack components LiveData, ViewModel and Networking library.
Created a sample project in Kotlin with MVP pattern and using Fast Android Networking library.
Last Summer I wanted to make an android library, but made an application instead. This is my attempt at the same thing, but in the form that I wanted. My goal is relatively simple (since most of the hard work was done last Summer), build a library that can be used to simplify android networking. I wanted to do this when I looked for non-barebones android networking, and only found HammerNet, which appears to have stopped its development. I want to include more though, but that will have to wait to see how this goes, since I only have my phone (4.0.3) and my tablet (4.4.2) to test on. If you have any questions, don't hesitate to contact me!
The Paging Library helps you load and display small chunks of data at a time. Loading partial data on demand reduces usage of network bandwidth and system resources.
Android app where the data is obtained by using Retrofit network library. The data is saved inside an IntentService and then with the help of ResultReceiver, the fragment is informed to update the UI
Android quiz game project. Shared preference. Volley network library. JSON api. android animation.
Clone from android network library Volley. (https://android.googlesource.com/platform/frameworks/volley)
Make network api call with help of Kotlin Coroutine. This sample code is based on Kotlin and uses Retrofit networking library.
Android Library - Manage your network requests by jobs conveniently. Build an offline-first app. Queue, Serial, Parallel, Cache and more.
Sample project on android network library and image loading library with efficient recylerview
[Android Library] An Network Service Discovery Helper library written in Kotlin
We have used Volley as networking library in lot of my articles. Today we are going to look at another awesome library Retrofit to make the http calls. Retrofit is denitely the better alternative to volley in terms of ease of use, performance, extensibility and other things. It is a type-safe REST client for Android built by Square. Using this tool android developer can make all network stuff much more easier. As an example, we are going to download some json and show it in RecyclerView as a list.
Z-Stream is an HTTP library that makes networking for Android apps easier and, most importantly, faster.
Kotlin Network Layer applying Concepts of Clean Architecture, Using Dagger2, Coroutines, MVVM Android Jetpack applying Android View Model, LiveData and Retrofit Library
Sample App that integrates the principles and libraries of ReactX programming, ViewModel to create network requests on Android.
A simple Weather Forecast Android App with MVP Architecture using Kotlin language and Retrofit network calling library.
Here I separate the Activity from the Network layer using an Abstraction layer by Retrofit Library
Fetch images as per search query and retrieve results in to Grid View. Uses Kotlin and Java as technologies. Internally uses MVVM,LiveData,ROOM persistence library. Retrofit and Kotlin coroutines for Networking calls.
Simple application to Find the IP Address from connected internet. Here I used Network call (GET method) with Retrofit Library
This is the sample Android project that demonstrates the use of Retrofit 2.0 Networking library with Okhttp 3.0.
Android | iOS | React Native - Working with Networking, Firebase Analytics, Service, Views, Material UI, SQLite, Augmented Reality Demo Codebases, Android ML Kit, Popular Library Implementations & More
Android network framework, based on the chain network library built by Retrofit, supports the calling style of okhttp.
example app of creating network connections and json parsing without any external library
This light-weight library provides drawable with letter/text just like the Gmail/Contacts app. It can be used with existing/custom/network ImageView classes.
Using the Paging Library to load and display small chunks of data at a time. Loading partial data on demand reduces usage of network bandwidth and system resources.
An android application that is retrieving data from wundergound url using retrofit. Retrofit is a library that is used for networking in android
Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster. Volley is available through the open AOSP repository.(from android developer)
Android test application for the BlueMike infrastructure-less P2P Bluetooth network library.
Android library for integrated admob/audience network/vungle ads and google billing.
Library for monitoring network state on Android applications with minimum sdk of 21
separate from the network library of volley, not associate Android logic
This is Simple Model-View_Presenter Design Pattern for android application.Consist of Volley network library
A library to agregate android ad network (increase fill rate - ads mediation)
Android library provides the ability to download videos from social networks
[Deprecated] An Android library that makes developers use network request extremely easy.
Aster is a network request library for android, supporting HttpURLConnection, Volley, OkHttp3, Retrofit2 as HTTP client.
Library for Client-Server communication (through sockets) on Android with zeroconf using Network Service Discovery (NSD)
This is a simple repository for implement Retrofit Network library for Android
Clean Architecture which have MVVM, ACC, Databinding, Dependency injection(Dagger 2.x), Retrofit networking Library with Client okHttp, Builder pattern and Android Support Library etc.
An Android library project (Eclipse) that provides a simple local (WiFi) network scan for devices.
An Android library provide a simple implementation to provide the network connection status by rxjava stream
Clean Architecture which have MVVM, ACC, Databinding, Dependency injection(Dagger 2.x), Retrofit networking Library with Client okHttp, Builder pattern and Android Support Library etc.
The Weka ML library for Java is FREE and provides access to various ML algorithms and neural networks. These algorithms can be utilized for a variety of purposes, including facial recognition, which can be done for free unlike APIs like Kairos or Microsoft Azure. Clone this repo, give it a star, and have fun using the facial recognition app!
This is an Android project. It contains an application project which uses a library project. This library is added as a git submodule in this repo. Now this library is also a gradle project hence I have added it as a Module. This will be very useful for parallel development where you want to make changes to both referenced library and your application in the Studio project. In this example I added a network library Volley as a git submodule hence we can customise volley, always have the latest changes from the remote repo and debug our application easily in case of issues.
Dagger2 with Recyclerview using Retrofit Library and useed Android Dagger 2 dependency injection with retrofit network library in our android application.
Library for managing downloads of an Android application featuring resume, pause and integrity verification (checksum / hash) for environments with low quality network and intermittent connectivity.
Android volley is a networking library was introduced to make networking calls much easier, faster without writing tons of code. By default all the volley network calls works asynchronously, so we don’t have to worry about using asynctask anymore.
Android volley is a networking library was introduced to make networking calls much easier, faster without writing tons of code. By default all the volley network calls works asynchronously, so we don't have to worry about using asynctask anymore
This Sample contains the flexible use of Volley Android library, and has included swipe fragment update sample. The volley library is updated. Also implementing the network calls and getting the response is became easier than ever for android. You can also find the file uploading.
Standard Android app it's an Android application that gather a bunch of useful library together into a standard application , in witch helps you be more productive and fast coder , it contains the best ranking library like Retrofit for http client networking and Dagger 2 for dependencies injection and so on, read all the article for the details and to get start using the app .
Easy to use library that is bringing stories to native android apps. Enable power that social networks have with your own stories, in just a few simple lines of code.
This is an app to demonstrate data fetching from api with help of Retrofit and Fast Android networking library, in both Java and Kotlin programming language.
I connected this application to my own server using the localhost and took data from there. Here I used Network call (GET and POST method) with Retrofit Library
Demo of Endless Recycler List with http calls. Using the following libraries: Android Annotations - general use, Volley - networking, Gson - json parsing and Picasso - images.
Simple android news app using Volley networking library and NEWSAPI.org as news source. Articles are displayed in a recyclerview list.
Simple app to showcase use and understanding of persistence and networking libraries, using Android Architecture Components (Room, ViewModel, LiveData) and Paging.
Step by step guide to develop a simple android application to upload the user’s location to the server using Retrofit Networking library
An android application which fetch latest movies from network call using Retrofit+kotlin+coroutines+paging library+databinding+MVVM+liveData
Geolocation based social networking application which provides a smooth experience to the users on their route or through traffic. Integrated Google map API and its functions and also implemented connection using Java Socket Library along with password encryption and email verification at backend. This is only the Android App and not the Backend Code
A simple network speed test app on Android, calling function from the library JSpeedTest powered by akinaru.
A simple android library to draw a Clock Loader while doing some blocking operation like network call.
Android application is developed with using 3rd party libraries: OkHttp+Retrofit(network), RxJava(multithreading), Retrolambda and ButterKnife.
Android Basic Application with communicationg server and by using 3rd party libraries like Butterknife for view injection, Dagger2.0 for Dependency Injection, Rx-Java and Retrofit for network communication and GSON for image loading form the server etc.
Provides latest news and weather forecast from the web-services (newsapi.org and openweathermap.org) by location. Network connection guaranteed by using of Volley library. Also, the app notifies the user about information updatings (Service & AlarmManager).
A wrapper of the Volley network library for Android (see http://developer.android.com/training/volley/index.html), which offers an easy interface to integrate and use.
An android library project which performs the network requests and parse them. It uses google-gson library for the parsing the json.
Details about Android App and server connection using Retrofit Network library.Its the advance way to Json data parsing,We use json data convert JSONSchama2pojo library
The application mainly consists of a map view, once opened it gets user GPS or Network location and requests for nearby venues from Foursquare APIs. Application should cache the retrieved venues so that on next application start up, cached venues are displayed until fresh new venues are retrieved from server. It then places pins of each venue on the map, pin images should be venues images retrieved from Foursquare. Clicking on any pin should open an info window with the name of the venue, when clicking on the info window allow user to check-in in this venue. For user to check-in, this user should be logged in using OAuth implementation of Foursquare login. • I am using Job queue manager library to easily schedule jobs (tasks) that run in the background, improving UX and application stability. You can find it here (https://github.com/path/android-priority-jobqueue) • I am using EventBus that simplifies communication between Activities, Fragments, Threads, Services, etc you can find it here (https://github.com/greenrobot/EventBus) • I am using Retrofit that turns your REST API into a Java interface. It depend on Okhttp and Gson library You can find it here (https://github.com/square/retrofit) or (http://square.github.io/retrofit/ ) • I am using foursquare-android-oauth You can find it here (https://github.com/foursquare/foursquare-android-oauth) • I am using google play services
Android Library : LiveServer is a light and fast HTTP Server Library that makes networking for Android apps very simple. It is specially designed for transfer String and JSON data between Android App and Server. Another major advantage of this library is that it turned MySQL Database into a Real-time Database and it is very friendly with PHP.
This is a simple map library(for android) which can help your app to fetch google map tiles beforehand so that our app can use map without network available.
Detects Gimbal beacons, logs beacon events on Android, works with Gimbal manager, interaction with Gimbal API's to view, activate and deactivate beacons from the device. Uses Android Asynchronous Http Client library for networking.
This is the Blood Bank android application. The idea of this app is to be able to find donors in our city with a specific blood group and also share our request for urgent blood in the community of our city. Working This is a simple PHP web server using a free hosting provider: http://000webhost.com There we have our MySQL database and some PHP scripts that are our APIs. For android the languages we are using are Java and XML. Tool Android Studio Libraries Used Volley: https://gist.github.com/RISHABH3821/bc48fe91119c2efa14cfab1accc71376 Glide(For loading images): https://github.com/bumptech/glide Fast Android Networking (For better Image Upload): https://github.com/amitshekhariitbhu/Fast-Android-Networking
310/5000 wazzaby is a social network whose goal is to connect people with common points, it is the native android version migrated in Kotlin MVVM, the libraries used are: (LiveCycle, LiveData, Retrofit 2, RxJava, Glide , Palette, Mudex, Coroutine, Room Data, Databinding, Okhttp,work manager, Fcm ...)
Free listening to the network Radio (radio) project, the project audio source from the network, do not use for commercial purposes, if there is infringement please contact: 464955343@qq.com Project based on MVVM model development: Databinding+retrofit+rxjava+room Audio connection format is mostly m3u8 format, Android does not have a good playback m3u8 format implementation, so the use of third-party library playback, such as please inform, learn Audio Playback library: Vitamio
A light-weight lifecycle aware library written in Kotlin that helps you to capture network connectivity events, i.e. when you goes online and offline (similar to YouTube)
This application demonstrates how to utilize the Chart Cards View in the SAP Fiori UI library. The app is intended to provide an example implementation of these controls with a real network API data source, i.e. the COVID Tracking APIs, so that users can understand how to use the SAP Fiori Chart Cards View to expand the functionality of their own applications.
Network Connection Class is an Android library that allows you to figure out the quality of the current user's internet connection.
This Android library will help you with an alert dialog to ask for the permissions and requirements to scan the wifi networks arround you
Simpalm Logging Library an enhance of native Android logging mechanism to enhance functionality. User can additionally track user navigation path, permissions granted along wit network status.
NetworkImageView is a simple but a very useful way of writing and using image views in Android for handling network images using glide library.
This News application explores some features of Android Architecture Components (Paging, LiveData, ViewModel) along with network libraries (Retrofit, picasso) while following MVVM architecture
web3j is a lightweight, highly modular, reactive, type safe Java and Android library for working with Smart Contracts and integrating with clients (nodes) on the Ethereum network:
This is a library and android app that makes you able to use your phone's nfc scanner in java applications over your internal network or the internet.
Nemo is an Android network request manager library using Volley for running HTTP request and using Gson to parse the Json response from server.
ExtraSense Network is a wifi mesh network for android devices a library/app to easy establish a connection between devices to send messages and some data an app first maybe using some open libs
Android client that enables package browsing and extracts bundles from a RESTful web service. No third-party libraries are used in networking. Package paths are rendered via Google maps.
Teleport is a flexible application and library to perform network operations such as sharing files over network. It uses java sockets as a medium of communication. Teleport is flexible enough to peform almost any kind of network operation by extending the library and adding JUST your business logic. Teleport is platform independent(Windows, MacOS, Linux, Android).
Android demo app created for ARM. AI Chef uses ARM Compute Library to train a neural network to automatically recoginse scanned ingredients, recommend recipes based on them and provide a shopping list of other ingredients needed to complete the selected recipes.
COVID 19 is a project based on an android platform which allows users to track and get the latest update of COVID 19 infected people.MVP architecture has used to develop and organize this project as well as retrofit networking library in order to fetch data from the API
We at NavGurukul, Made this application while learning Android application development. We used many components like recyclerview, cardview, fragments, viewpager, APIs etc in this application. We used Volley Library for the network communication and Picasso Library for the image.
This is a sample project which uses following android components : 1. MVVM Architecture 2. Kotlin Language 3. Databinding to bind the data to view. 4. Navigation Component for navigation. 5. Moshi library for parsing JSON 6. Kotlin Coroutines for async tasks. 7. Retrofit for network calls. 8. Glide to download and set Images. 9. Constraint layout
Van of the Open Source Android library : Fandrift. Fandrift is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.
Rawr it’s a short videogame done in the network programming class that connects a screen and an android phone as a controller using UDP protocol. The computer part is programmed in java using processing as the graphic library.
This is Book Listing App made with using Google Book's Api, And Layout Designing With Android.support Design Library. User can also scan books by barcode and share books via social networks
Android application which makes network calls using 3 libraries ION, Retrofit and Volley and stores the data in DB using content providers and then displays in the list in recyclerview.
Dogs Breed list Android App in Kotlin in MVVM using LiveData with Coroutines when performing network operations using Retrofit2. The app was polished to use latest libraries and design pattern. With little boilerplate thanks to databings.
This is an android app using kotlin. In this app I've tried to use mvvm design pattern, room database library, retrofit for network call, coroutines for async task operation and Kodein framework for dependency injection
Retro Request library is based on Retrofit Library useful for make the http calls. This library (Retro Request) is easy to use compare to Retrofit just you have to put the parameter. Retrofit is denitely the better alternative to volley in terms of ease of use, performance, extensibility and other things. It is a type safe REST client for Android built by Square. Using this tool android developer can make all network stuff much more easier.
A Gallery App that fetches its media from Flickr through it's public API. No External Networking Libraries were used in this project, which makes it hard to debug and maintain. This was part of Android Big Nerd Ranch 2nd Edition
A android application that fetches articles from a static end point, displays it as a list and opens it in a WebView when clicked. This application has used mostly only system provided APIs as far as possible and I have avoided using additional third party libraries for networking and data storage. Though it does use Dagger 2 for dependency Injection.
Demo interaction with AccuWeather API using Fast Android Networking (FAN) Library. There are Path and Query parameters, which search for area named "Long Son" and show their IDs, provinces and positions. The UI was not properly created as it's not the main point.
These Example Will give a basic idea Applying MVP in Android Application. In These I used Couple Of Open Source Libraries 1) Volley For Networking 2) Event Bus For Communication Between Classes . More Changes Has to be Done Will be done Soon .
A sample how Dagger component could be used as an interface of another dagger component located in a different android module (library). Why? For example, it could be useful if you develop a SDK required a network, but the network must be implemented and provided by the app.
ADRENALIN-RV weaves monitoring code at load time and is able to instrument all loaded classes. In addition to the default classes inside the application package (APK), ADRENALIN-RV covers both the Android class library and libraries loaded at runtime from the storage, network, or dynamic generation, which static weaving won't be able to monitor.
What is Retrofit?Retrofit is a type-safe HTTP client for Android and Java. You can make network requests using Retrofit and it is used in android to call RESTful APIs. Why Retrofit? Though it is not necessary that you use a library like Retrofit for the network calls in your application. But if you will not use a library you have to take care of a lot of things, and it increases the task and amount of code. Whereas Retrofit has predefined methods to quickly perform network requests. We also have other libraries in android for example volley, but if you are still using Volley for network operations then it is highly recommended that you should migrate to retrofit now. Retrofit is better than volley. In this Retrofit Android Tutorial series we will learn a lot of things. We will learn - Building RESTful API using SLIM framework - Making the calls from our android app using Retrofit - We will also learn deploying the REST API
This project has developed to help the religious person. In this app user can see the daily updated prayer time, list of kalima, important sura for namaz, the 99-holy name of Allah, some important hadis & tasbi. This application was developed using Java, Rest API And Volley network library. And also, I flow the MVVM Pattern with architecture component ( Databinding and LiveData and android View Model ).
JKPMUtils is an Android library to help you to ask runtime permissions, add more permissions, load circular images, display messages, move from one activity to another, System time, date, bluetooth feature availability, check Network availability, check fields, add, replace, remove fragments. That's it.
This is my personal preparation of a Java package library, which contains files, network requests, reflection, encryption and decryption, base conversion and a series of packages, in the process of using more convenient. In addition, recently added android compiled files such as DEX, ELF parsing and so on
This is the final project that passed Udacity's Android Nanodegree's Stage 2 challenge. The app pulls movie data such as top-rated and most-popular movies from an outside database. The project demonstrates the use of network API via AsyncTask, persistence storage and live data using SQLite Room library, and other functionalities such as selecting favorite movies of choice.
This is an Android application using Google AppEngine, Google Big Table and Mobilyzer library, for conducting network measurement experiments on mobile devices. This app will collect and leverage crowd-sourced data and allow users to validate the performance guarantees provided by various service providers like AT&T, T-Mobile.
This is an Android SDK you can import the AAR(It's a basic one so I don't want to distribute.) into your application. This library demonstrate the ways to pass the network response, database objects to the application via callbacks.
A complete guide to work on JSON parsing in android. I am using ion asynchronous network call library (https://github.com/koush/ion) to fetch json from ipstack, ipstack offers one of the leading IP to geolocation APIs and global IP database services worldwide. Link is here https://ipstack.com/
Pokemon is a small demo application based on modern Android application tech-stacks and MVVM architecture. This project is for focusing especially on the new library Hilt of implementing dependency injection. Also fetching data from the network and integrating persisted data in the database via repository pattern.
Many Android apps rely on instantiating objects that often require other dependencies. For instance, a Twitter API client may be built using a networking library such as Retrofit. To use this library, you might also need to add parsing libraries such as Gson. In addition, classes that implement authentication or caching may require accessing shared preferences or other common storage, requiring instantiating them first and creating an inherent dependency chain. If you're not familiar with Dependency Injection, watch this quick video. Dagger 2 analyzes these dependencies for you and generates code to help wire them together. While there are other Java dependency injection frameworks, many of them suffered limitations in relying on XML, required validating dependency issues at run-time, or incurred performance penalties during startup. Dagger 2 relies purely on using Java annotation processors and compile-time checks to analyze and verify dependencies. It is considered to be one of the most efficient dependency injection frameworks built to date.
DevByteViewer app displays a list of DevByte videos. DevByte videos are short videos made by the Google Android developer relations team to introduce new developer features on Android. They're also a great way to stay up to date with new features as they come out as well as tips and best practices. This app fetches the DevByte video list from the network using the Retrofit library and displays it on the screen. It uses a ViewModel and LiveData to hold the data and update the UI. Since the video list is big, results are displayed in a RecyclerView.
#Retrofit2 to handle network requests by building a simple log in app that will perform POST and GET requests. #Two parameter username and password. #It'll show in response name,id,mobile,type and token etc.This app have some separate Login features for customer and admin. Admin can see all the customers data. Admin can change user password on request. Also admin can delete a customer id. But a customer can not access this features. Customers can only see his profile and he/she can update his/her information. CRUD operations are done by using Retrofit library. Retrofit is used on the client side (Android) to make HTTP request to REST API.
Android application that portrays in memory-network caching technique, using a repository class to provide a clean app architecture, and illustrating the use of the WorkManger API to run tasks on the background, in order to ensure users limited resources(space, battery etc) are utilized efficiently. To relate the techniques above, this an image gallery app that displays images of GitHub users obtained from https://api.github.com/users. The JSON objects are fetched from the API, and parsed as Kotlin objects with the use of Retrofit and MOSHI library, the network data is then cached into a structured in-memory database, and the app loads the cached data into a domain class where the repository, view and view-models can make use of it. The users' avatars are loaded into an image view using Glide library, and the images are shown on the app through a ListView Adapter. An onClick listener is implemented on the RecyclerView to navigate to a detail fragment where the user avatar and login name is then displayed.
Project Overview Project Overview Most of us can relate to kicking back on the couch and enjoying a movie with friends and family. In this project, you’ll build an app to allow users to discover the most popular movies playing. We will split the development of this app in two stages. First, let's talk about stage 1. In this stage you’ll build the core experience of your movies app. You app will: Present the user with a grid arrangement of movie posters upon launch. Allow your user to change sort order via a setting: The sort order can be by most popular or by highest-rated Allow the user to tap on a movie poster and transition to a details screen with additional information such as: original title movie poster image thumbnail A plot synopsis (called overview in the api) user rating (called vote_average in the api) release date Why this Project? To become an Android developer, you must know how to bring particular mobile experiences to life. Specifically, you need to know how to build clean and compelling user interfaces (UIs), fetch data from network services, and optimize the experience for various mobile devices. You will hone these fundamental skills in this project. By building this app, you will demonstrate your understanding of the foundational elements of programming for Android. Your app will communicate with the Internet and provide a responsive and delightful user experience. What Will I Learn After Stage 1? You will fetch data from the Internet with theMovieDB API. You will use adapters and custom list layouts to populate list views. You will incorporate libraries to simplify the amount of code you need to write Ready to start building?
Fitur yang harus ditambahkan pada aplikasi: Pencarian film Syarat: Pengguna dapat melakukan pencarian Movies. Pengguna dapat melakukan pencarian Tv Show. Widget Syarat: Pengguna dapat menampilkan widget dari film favorite ke halaman utama smartphone. Tipe widget yang diterapkan adalah Stack Widget. Reminder Syarat: Daily Reminder, mengirimkan notifikasi ke pengguna untuk kembali ke Aplikasi Movie Catalogue. Daily reminder harus selalu berjalan tiap jam 7 pagi. Release Today Reminder, mengirimkan notifikasi ke pengguna berupa informasi film yang rilis hari ini (wajib menggunakan endpoint seperti yang telah disediakan pada bagian Resources di bawah). Release reminder harus selalu berjalan tiap jam 8 pagi. Terdapat halaman pengaturan untuk mengaktifkan dan menonaktifkan reminder. Aplikasi Favorite Syarat: Membuat aplikasi atau modul baru yang menampilkan daftar film favorite. Menggunakan Content Provider sebagai mekanisme untuk mengakses data dari satu aplikasi ke aplikasi lain. Berikut kerangka tampilan yang bisa Anda gunakan sebagai referensi: 201902180856320073cc3b59071a00e26d5be08eecc67d.png Kesempatan untuk submission Anda diterima akan lebih besar jika: Notifikasi dapat berjalan pada perangkat Oreo dan setelahnya Data pada widget dapat diperbarui secara otomatis ketika terdapat perubahan pada data favorite. Menggunakan SearchView pada fitur pencarian film. Menggunakan library pihak ketiga seperti Retrofit, Fast Android Networking, dsb. Menggunakan library penyimpanan lokal pihak ketiga seperti Room, Realm, dsb. Menerapkan design pattern seperti MVP, MVVM, Arch Component, dsb. Aplikasi bisa memberikan pesan eror jika data tidak berhasil ditampilkan. Menuliskan kode dengan bersih. Submission Anda akan ditolak jika: Fitur pencarian tidak berjalan dengan baik. Fitur pencarian tidak memanfaatkan endpoint dari TheMovieDB. Fitur reminder tidak berjalan dengan baik. Fitur release today reminder tidak memanfaatkan endpoint dari TheMovieDB. Tidak dapat menampilkan data favorite ke dalam Stack Widget. Tidak terdapat aplikasi atau modul baru yang menampilkan data favorite. Tidak menerapkan Content Provider sebagai mekanisme untuk mengakses data dari satu aplikasi ke aplikasi lain. Tidak Mempertahankan semua fitur aplikasi dan komponen yang digunakan pada aplikasi Movie Catalogue (Local Storage). Informasi yang ditampilkan pada daftar ataupun detail film, tidak relevan. Aplikasi force closed. Project tidak bisa di-build. Mengirimkan file selain proyek Android Studio. Mengirimkan proyek yang bukan karya sendiri. Resources Gunakan endpoint berikut untuk melakukan pencarian film. Movies: https://api.themoviedb.org/3/search/movie?api_key={API KEY}&language=en-US&query={MOVIE NAME} Tv Show: https://api.themoviedb.org/3/search/tv?api_key={API KEY}&language=en-US&query={TV SHOW NAME} Contoh: https://api.themoviedb.org/3/search/movie?api_key=123456789&language=en-US&query=Avenger Gunakan endpoint berikut untuk mendapatkan film yang rilis pada tanggal hari ini. Movies release: https://api.themoviedb.org/3/discover/movie?api_key={API KEY}&primary_release_date.gte={TODAY DATE}&primary_release_date.lte={TODAY DATE} Contoh: https://api.themoviedb.org/3/discover/movie?api_key=123456789&primary_release_date.gte=2019-01-31&primary_release_date.lte=2019-01-31 Catatan: Pastikan format tanggal yang kalian gunakan benar. Format tanggal yang digunakan adalah "yyyy-MM-dd". Ketentuan Beberapa ketentuan umum dari proyek aplikasi: Menggunakan Android Studio. Menggunakan bahasa pemrograman Kotlin atau Java. Mengirimkan pekerjaan Anda dalam bentuk folder Proyek Android Studio yang telah diarsipkan (ZIP). Tim penilai akan mengulas submission Anda dalam waktu selambatnya 3 (tiga) hari kerja (tidak termasuk Sabtu, Minggu, dan hari libur nasional). Tidak disarankan untuk melakukan submit berkali-kali karena akan memperlama proses penilaian yang dilakukan tim penilai. Anda akan mendapat notifikasi hasil pengumpulan submission Anda via email, atau Anda dapat mengecek status submission pada akun Dicoding Anda. Tips Sebelum mengirimkan proyek, pastikan Anda sudah mengekspornya dengan benar. Bagaimana cara ekspor proyek ke dalam berkas ZIP? Pilih menu File → Export to ZIP File... pada Android Studio. Pilih direktori penyimpanan dan klik OK. Dengan cara di atas, ukuran dari berkas ZIP akan lebih kecil dibandingkan Anda melakukan kompresi secara manual pada file explorer.
Client HTTP and networking library based on the Envoy project for iOS, Android, and more.
📲 Android Video SDK. Stream's versatile Core + Compose UI component libraries that allow you to build video calling, audio room, and, live streaming apps based on Webrtc running on Stream's global edge network.
🖥 Debug menu library for Android apps with supports network activity logging and many other useful features.
NOTICE This repository contains the public FTC SDK for the SKYSTONE (2019-2020) competition season. If you are looking for the current season's FTC SDK software, please visit the new and permanent home of the public FTC SDK: FtcRobotController repository Welcome! This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer. Getting Started If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system: FTC Blocks Online Tutorial Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards. Downloading the Project If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository. If you are a git user, you can clone the most current version of the repository: git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable. You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the Releases page for this repository. Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)"). Getting Help User Documentation and Tutorials FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link: SKYSTONE Online Documentation Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system. Javadoc Reference Material The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website: FTC Javadoc Documentation Documentation for the FTC SDK is also included with this repository. There is a subfolder called "doc" which contains several subfolders: The folder "apk" contains the .apk files for the FTC Driver Station and FTC Robot Controller apps. The folder "javadoc" contains the JavaDoc user documentation for the FTC SDK. Online User Forum For technical questions regarding the Control System or the FTC SDK, please visit the FTC Technology forum: FTC Technology Forum Release Information Version 5.5 (20200824-090813) Version 5.5 requires Android Studio 4.0 or later. New features Adds support for calling custom Java classes from Blocks OpModes (fixes SkyStone issue #161). Classes must be in the org.firstinspires.ftc.teamcode package. Methods must be public static and have no more than 21 parameters. Parameters declared as OpMode, LinearOpMode, Telemetry, and HardwareMap are supported and the argument is provided automatically, regardless of the order of the parameters. On the block, the sockets for those parameters are automatically filled in. Parameters declared as char or java.lang.Character will accept any block that returns text and will only use the first character in the text. Parameters declared as boolean or java.lang.Boolean will accept any block that returns boolean. Parameters declared as byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, or java.lang.Long, will accept any block that returns a number and will round that value to the nearest whole number. Parameters declared as float, java.lang.Float, double, java.lang.Double will accept any block that returns a number. Adds telemetry API method for setting display format Classic Monospace HTML (certain tags only) Adds blocks support for switching cameras. Adds Blocks support for TensorFlow Object Detection with a custom model. Adds support for uploading a custom TensorFlow Object Detection model in the Manage page, which is especially useful for Blocks and OnBotJava users. Shows new Control Hub blink codes when the WiFi band is switched using the Control Hub's button (only possible on Control Hub OS 1.1.2) Adds new warnings which can be disabled in the Advanced RC Settings Mismatched app versions warning Unnecessary 2.4 GHz WiFi usage warning REV Hub is running outdated firmware (older than version 1.8.2) Adds support for Sony PS4 gamepad, and reworks how gamepads work on the Driver Station Removes preference which sets gamepad type based on driver position. Replaced with menu which allows specifying type for gamepads with unknown VID and PID Attempts to auto-detect gamepad type based on USB VID and PID If gamepad VID and PID is not known, use type specified by user for that VID and PID If gamepad VID and PID is not known AND the user has not specified a type for that VID and PID, an educated guess is made about how to map the gamepad Driver Station will now attempt to automatically recover from a gamepad disconnecting, and re-assign it to the position it was assigned to when it dropped If only one gamepad is assigned and it drops: it can be recovered If two gamepads are assigned, and have different VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have different VID/PID signatures, and BOTH drop: both will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and only one drops: it will be recovered If two gamepads are assigned, and have the same VID/PID signatures, and BOTH drop: neither will be recovered, because of the ambiguity of the gamepads when they re-appear on the USB bus. There is currently one known edge case: if there are two gamepads with the same VID/PID signature plugged in, but only one is assigned, and they BOTH drop, it's a 50-50 chance of which one will be chosen for automatic recovery to the assigned position: it is determined by whichever one is re-enumerated first by the USB bus controller. Adds landscape user interface to Driver Station New feature: practice timer with audio cues New feature (Control Hub only): wireless network connection strength indicator (0-5 bars) New feature (Control Hub only): tapping on the ping/channel display will switch to an alternate display showing radio RX dBm and link speed (tap again to switch back) The layout will NOT autorotate. You can switch the layout from the Driver Station's settings menu. Breaking changes Removes support for Android versions 4.4 through 5.1 (KitKat and Lollipop). The minSdkVersion is now 23. Removes the deprecated LinearOpMode methods waitOneFullHardwareCycle() and waitForNextHardwareCycle() Enhancements Handles RS485 address of Control Hub automatically The Control Hub is automatically given a reserved address Existing configuration files will continue to work All addresses in the range of 1-10 are still available for Expansion Hubs The Control Hub light will now normally be solid green, without blinking to indicate the address The Control Hub will not be shown on the Expansion Hub Address Change settings page Improves REV Hub firmware updater The user can now choose between all available firmware update files Version 1.8.2 of the REV Hub firmware is bundled into the Robot Controller app. Text was added to clarify that Expansion Hubs can only be updated via USB. Firmware update speed was reduced to improve reliability Allows REV Hub firmware to be updated directly from the Manage webpage Improves log viewer on Robot Controller Horizontal scrolling support (no longer word wrapped) Supports pinch-to-zoom Uses a monospaced font Error messages are highlighted New color scheme Attempts to force-stop a runaway/stuck OpMode without restarting the entire app Not all types of runaway conditions are stoppable, but if the user code attempts to talk to hardware during the runaway, the system should be able to capture it. Makes various tweaks to the Self Inspect screen Renames "OS version" entry to "Android version" Renames "WiFi Direct Name" to "WiFi Name" Adds Control Hub OS version, when viewing the report of a Control Hub Hides the airplane mode entry, when viewing the report of a Control Hub Removes check for ZTE Speed Channel Changer Shows firmware version for all Expansion and Control Hubs Reworks network settings portion of Manage page All network settings are now applied with a single click The WiFi Direct channel of phone-based Robot Controllers can now be changed from the Manage page WiFi channels are filtered by band (2.4 vs 5 GHz) and whether they overlap with other channels The current WiFi channel is pre-selected on phone-based Robot Controllers, and Control Hubs running OS 1.1.2 or later. On Control Hubs running OS 1.1.2 or later, you can choose to have the system automatically select a channel on the 5 GHz band Improves OnBotJava New light and dark themes replace the old themes (chaos, github, chrome,...) the new default theme is light and will be used when you first update to this version OnBotJava now has a tabbed editor Read-only offline mode Improves function of "exit" menu item on Robot Controller and Driver Station Now guaranteed to be fully stopped and unloaded from memory Shows a warning message if a LinearOpMode exists prematurely due to failure to monitor for the start condition Improves error message shown when the Driver Station and Robot Controller are incompatible with each other Driver Station OpMode Control Panel now disabled while a Restart Robot is in progress Disables advanced settings related to WiFi direct when the Robot Controller is a Control Hub. Tint phone battery icons on Driver Station when low/critical. Uses names "Control Hub Portal" and "Control Hub" (when appropriate) in new configuration files Improve I2C read performance Very large improvement on Control Hub; up to ~2x faster with small (e.g. 6 byte) reads Not as apparent on Expansion Hubs connected to a phone Update/refresh build infrastructure Update to 'androidx' support library from 'com.android.support:appcompat', which is end-of-life Update targetSdkVersion and compileSdkVersion to 28 Update Android Studio's Android plugin to latest Fix reported build timestamp in 'About' screen Add sample illustrating manual webcam use: ConceptWebcam Bug fixes Fixes SkyStone issue #248 Fixes SkyStone issue #232 and modifies bulk caching semantics to allow for cache-preserving MANUAL/AUTO transitions. Improves performance when REV 2M distance sensor is unplugged Improves readability of Toast messages on certain devices Allows a Driver Station to connect to a Robot Controller after another has disconnected Improves generation of fake serial numbers for UVC cameras which do not provide a real serial number Previously some devices would assign such cameras a serial of 0:0 and fail to open and start streaming Fixes ftc_app issue #638. Fixes a slew of bugs with the Vuforia camera monitor including: Fixes bug where preview could be displayed with a wonky aspect ratio Fixes bug where preview could be cut off in landscape Fixes bug where preview got totally messed up when rotating phone Fixes bug where crosshair could drift off target when using webcams Fixes issue in UVC driver on some devices (ftc_app 681) if streaming was started/stopped multiple times in a row Issue manifested as kernel panic on devices which do not have this kernel patch. On affected devices which do have the patch, the issue was manifest as simply a failure to start streaming. The Tech Team believes that the root cause of the issue is a bug in the Linux kernel XHCI driver. A workaround was implemented in the SDK UVC driver. Fixes bug in UVC driver where often half the frames from the camera would be dropped (e.g. only 15FPS delivered during a streaming session configured for 30FPS). Fixes issue where TensorFlow Object Detection would show results whose confidence was lower than the minimum confidence parameter. Fixes a potential exploitation issue of CVE-2019-11358 in OnBotJava Fixes changing the address of an Expansion Hub with additional Expansion Hubs connected to it Preserves the Control Hub's network connection when "Restart Robot" is selected Fixes issue where device scans would fail while the Robot was restarting Fix RenderScript usage Use androidx.renderscript variant: increased compatibility Use RenderScript in Java mode, not native: simplifies build Fixes webcam-frame-to-bitmap conversion problem: alpha channel wasn't being initialized, only R, G, & B Fixes possible arithmetic overflow in Deadline Fixes deadlock in Vuforia webcam support which could cause 5-second delays when stopping OpMode Version 5.4 (20200108-101156) Fixes SkyStone issue #88 Adds an inspection item that notes when a robot controller (Control Hub) is using the factory default password. Fixes SkyStone issue #61 Fixes SkyStone issue #142 Fixes ftc_app issue #417 by adding more current and voltage monitoring capabilities for REV Hubs. Fixes a crash sometimes caused by OnBotJava activity Improves OnBotJava autosave functionality ftc_app #738 Fixes system responsiveness issue when an Expansion Hub is disconnected Fixes issue where IMU initialization could prevent Op Modes from stopping Fixes issue where AndroidTextToSpeech.speak() would fail if it was called too early Adds telemetry.speak() methods and blocks, which cause the Driver Station (if also updated) to speak text Adds and improves Expansion Hub-related warnings Improves Expansion Hub low battery warning Displays the warning immediately after the hub reports it Specifies whether the condition is current or occurred temporarily during an OpMode run Displays which hubs reported low battery Displays warning when hub loses and regains power during an OpMode run Fixes the hub's LED pattern after this condition Displays warning when Expansion Hub is not responding to commands Specifies whether the condition is current or occurred temporarily during an OpMode run Clarifies warning when Expansion Hub is not present at startup Specifies that this condition requires a Robot Restart before the hub can be used. The hub light will now accurately reflect this state Improves logging and reduces log spam during these conditions Syncs the Control Hub time and timezone to a connected web browser programming the robot, if a Driver Station is not available. Adds bulk read functionality for REV Hubs A bulk caching mode must be set at the Hub level with LynxModule#setBulkCachingMode(). This applies to all relevant SDK hardware classes that reference that Hub. The following following Hub bulk caching modes are available: BulkCachingMode.OFF (default): All hardware calls operate as usual. Bulk data can read through LynxModule#getBulkData() and processed manually. BulkCachingMode.AUTO: Applicable hardware calls are served from a bulk read cache that is cleared/refreshed automatically to ensure identical commands don't hit the same cache. The cache can also be cleared manually with LynxModule#clearBulkCache(), although this is not recommended. (advanced users) BulkCachingMode.MANUAL: Same as BulkCachingMode.AUTO except the cache is never cleared automatically. To avoid getting stale data, the cache must be manually cleared at the beginning of each loop body or as the user deems appropriate. Removes PIDF Annotation values added in Rev 5.3 (to AndyMark, goBILDA and TETRIX motor configurations). The new motor types will still be available but their Default control behavior will revert back to Rev 5.2 Adds new ConceptMotorBulkRead sample Opmode to demonstrate and compare Motor Bulk-Read modes for reducing I/O latencies. Version 5.3 (20191004-112306) Fixes external USB/UVC webcam support Makes various bugfixes and improvements to Blocks page, including but not limited to: Many visual tweaks Browser zoom and window resize behave better Resizing the Java preview pane works better and more consistently across browsers The Java preview pane consistently gets scrollbars when needed The Java preview pane is hidden by default on phones Internet Explorer 11 should work Large dropdown lists display properly on lower res screens Disabled buttons are now visually identifiable as disabled A warning is shown if a user selects a TFOD sample, but their device is not compatible Warning messages in a Blocks op mode are now visible by default. Adds goBILDA 5201 and 5202 motors to Robot Configurator Adds PIDF Annotation values to AndyMark, goBILDA and TETRIX motor configurations. This has the effect of causing the RUN_USING_ENCODERS and RUN_TO_POSITION modes to use PIDF vs PID closed loop control on these motors. This should provide more responsive, yet stable, speed control. PIDF adds Feedforward control to the basic PID control loop. Feedforward is useful when controlling a motor's speed because it "anticipates" how much the control voltage must change to achieve a new speed set-point, rather than requiring the integrated error to change sufficiently. The PIDF values were chosen to provide responsive, yet stable, speed control on a lightly loaded motor. The more heavily a motor is loaded (drag or friction), the more noticable the PIDF improvement will be. Fixes startup crash on Android 10 Fixes ftc_app issue #712 (thanks to FROGbots-4634) Fixes ftc_app issue #542 Allows "A" and lowercase letters when naming device through RC and DS apps. Version 5.2 (20190905-083277) Fixes extra-wide margins on settings activities, and placement of the new configuration button Adds Skystone Vuforia image target data. Includes sample Skystone Vuforia Navigation op modes (Java). Includes sample Skystone Vuforia Navigation op modes (Blocks). Adds TensorFlow inference model (.tflite) for Skystone game elements. Includes sample Skystone TensorFlow op modes (Java). Includes sample Skystone TensorFlow op modes (Blocks). Removes older (season-specific) sample op modes. Includes 64-bit support (to comply with Google Play requirements). Protects against Stuck OpModes when a Restart Robot is requested. (Thanks to FROGbots-4634) (ftc_app issue #709) Blocks related changes: Fixes bug with blocks generated code when hardware device name is a java or javascript reserved word. Shows generated java code for blocks, even when hardware items are missing from the active configuration. Displays warning icon when outdated Vuforia and TensorFlow blocks are used (SkyStone issue #27) Version 5.1 (20190820-222104) Defines default PIDF parameters for the following motors: REV Core Hex Motor REV 20:1 HD Hex Motor REV 40:1 HD Hex Motor Adds back button when running on a device without a system back button (such as a Control Hub) Allows a REV Control Hub to update the firmware on a REV Expansion Hub via USB Fixes SkyStone issue #9 Fixes ftc_app issue #715 Prevents extra DS User clicks by filtering based on current state. Prevents incorrect DS UI state changes when receiving new OpMode list from RC Adds support for REV Color Sensor V3 Adds a manual-refresh DS Camera Stream for remotely viewing RC camera frames. To show the stream on the DS, initialize but do not run a stream-enabled opmode, select the Camera Stream option in the DS menu, and tap the image to refresh. This feature is automatically enabled when using Vuforia or TFOD—no additional RC configuration is required for typical use cases. To hide the stream, select the same menu item again. Note that gamepads are disabled and the selected opmode cannot be started while the stream is open as a safety precaution. To use custom streams, consult the API docs for CameraStreamServer#setSource and CameraStreamSource. Adds many Star Wars sounds to RobotController resources. Added SKYSTONE Sounds Chooser Sample Program. Switches out startup, connect chimes, and error/warning sounds for Star Wars sounds Updates OnBot Java to use a WebSocket for communication with the robot The OnBot Java page no longer has to do a full refresh when a user switches from editing one file to another Known issues: Camera Stream The Vuforia camera stream inherits the issues present in the phone preview (namely ftc_app issue #574). This problem does not affect the TFOD camera stream even though it receives frames from Vuforia. The orientation of the stream frames may not always match the phone preview. For now, these frames may be rotated manually via a custom CameraStreamSource if desired. OnBotJava Browser back button may not always work correctly It's possible for a build to be queued, but not started. The OnBot Java build console will display a warning if this occurs. A user might not realize they are editing a different file if the user inadvertently switches from one file to another since this switch is now seamless. The name of the currently open file is displayed in the browser tab. Version 5.0 (built on 19.06.14) Support for the REV Robotics Control Hub. Adds a Java preview pane to the Blocks editor. Adds a new offline export feature to the Blocks editor. Display wifi channel in Network circle on Driver Station. Adds calibration for Logitech C270 Updates build tooling and target SDK. Compliance with Google's permissions infrastructure (Required after build tooling update). Keep Alives to mitigate the Motorola wifi scanning problem. Telemetry substitute no longer necessary. Improves Vuforia error reporting. Fixes ftctechnh/ftc_app issues 621, 713. Miscellaneous bug fixes and improvements. Version 4.3 (built on 18.10.31) Includes missing TensorFlow-related libraries and files. Version 4.2 (built on 18.10.30) Includes fix to avoid deadlock situation with WatchdogMonitor which could result in USB communication errors. Comm error appeared to require that user disconnect USB cable and restart the Robot Controller app to recover. robotControllerLog.txt would have error messages that included the words "E RobotCore: lynx xmit lock: #### abandoning lock:" Includes fix to correctly list the parent module address for a REV Robotics Expansion Hub in a configuration (.xml) file. Bug in versions 4.0 and 4.1 would incorrect list the address module for a parent REV Robotics device as "1". If the parent module had a higher address value than the daisy-chained module, then this bug would prevent the Robot Controller from communicating with the downstream Expansion Hub. Added requirement for ACCESS_COARSE_LOCATION to allow a Driver Station running Android Oreo to scan for Wi-Fi Direct devices. Added google() repo to build.gradle because aapt2 must be downloaded from the google() repository beginning with version 3.2 of the Android Gradle Plugin. Important Note: Android Studio users will need to be connected to the Internet the first time build the ftc_app project. Internet connectivity is required for the first build so the appropriate files can be downloaded from the Google repository. Users should not need to be connected to the Internet for subsequent builds. This should also fix buid issue where Android Studio would complain that it "Could not find com.android.tools.lint:lint-gradle:26.1.4" (or similar). Added support for REV Spark Mini motor controller as part of the configuration menu for a servo/PWM port on the REV Expansion Hub. Provide examples for playing audio files in an Op Mode. Block Development Tool Changes Includes a fix for a problem with the Velocity blocks that were reported in the FTC Technology forum (Blocks Programming subforum). Change the "Save completed successfully." message to a white color so it will contrast with a green background. Fixed the "Download image" feature so it will work if there are text blocks in the op mode. Introduce support for Google's TensorFlow Lite technology for object detetion for 2018-2019 game. TensorFlow lite can recognize Gold Mineral and Silver Mineral from 2018-2019 game. Example Java and Block op modes are included to show how to determine the relative position of the gold block (left, center, right). Version 4.1 (released on 18.09.24) Changes include: Fix to prevent crash when deprecated configuration annotations are used. Change to allow FTC Robot Controller APK to be auto-updated using FIRST Global Control Hub update scripts. Removed samples for non supported / non legal hardware. Improvements to Telemetry.addData block with "text" socket. Updated Blocks sample op mode list to include Rover Ruckus Vuforia example. Update SDK library version number. Version 4.0 (released on 18.09.12) Changes include: Initial support for UVC compatible cameras If UVC camera has a unique serial number, RC will detect and enumerate by serial number. If UVC camera lacks a unique serial number, RC will only support one camera of that type connected. Calibration settings for a few cameras are included (see TeamCode/src/main/res/xml/teamwebcamcalibrations.xml for details). User can upload calibration files from Program and Manage web interface. UVC cameras seem to draw a fair amount of electrical current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. Updated sample Vuforia Navigation and VuMark Op Modes to demonstrate how to use an internal phone-based camera and an external UVC webcam. Support for improved motor control. REV Robotics Expansion Hub firmware 1.8 and greater will support a feed forward mechanism for closed loop motor control. FTC SDK has been modified to support PIDF coefficients (proportional, integral, derivative, and feed forward). FTC Blocks development tool modified to include PIDF programming blocks. Deprecated older PID-related methods and variables. REV's 1.8.x PIDF-related changes provide a more linear and accurate way to control a motor. Wireless Added 5GHz support for wireless channel changing for those devices that support it. Tested with Moto G5 and E4 phones. Also tested with other (currently non-approved) phones such as Samsung Galaxy S8. Improved Expansion Hub firmware update support in Robot Controller app Changes to make the system more robust during the firmware update process (when performed through Robot Controller app). User no longer has to disconnect a downstream daisy-chained Expansion Hub when updating an Expansion Hub's firmware. If user is updating an Expansion Hub's firmware through a USB connection, he/she does not have to disconnect RS485 connection to other Expansion Hubs. The user still must use a USB connection to update an Expansion Hub's firmware. The user cannot update the Expansion Hub firmware for a downstream device that is daisy chained through an RS485 connection. If an Expansion Hub accidentally gets "bricked" the Robot Controller app is now more likely to recognize the Hub when it scans the USB bus. Robot Controller app should be able to detect an Expansion Hub, even if it accidentally was bricked in a previous update attempt. Robot Controller app should be able to install the firmware onto the Hub, even if if accidentally was bricked in a previous update attempt. Resiliency FTC software can detect and enable an FTDI reset feature that is available with REV Robotics v1.8 Expansion Hub firmware and greater. When enabled, the Expansion Hub can detect if it hasn't communicated with the Robot Controller over the FTDI (USB) connection. If the Hub hasn't heard from the Robot Controller in a while, it will reset the FTDI connection. This action helps system recover from some ESD-induced disruptions. Various fixes to improve reliability of FTC software. Blocks Fixed errors with string and list indices in blocks export to java. Support for USB connected UVC webcams. Refactored optimized Blocks Vuforia code to support Rover Ruckus image targets. Added programming blocks to support PIDF (proportional, integral, derivative and feed forward) motor control. Added formatting options (under Telemetry and Miscellaneous categories) so user can set how many decimal places to display a numerical value. Support to play audio files (which are uploaded through Blocks web interface) on Driver Station in addition to the Robot Controller. Fixed bug with Download Image of Blocks feature. Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Added blocks for DcMotorEx methods. These are enhanced methods that you can use when supported by the motor controller hardware. The REV Robotics Expansion Hub supports these enhanced methods. Enhanced methods include methods to get/set motor velocity (in encoder pulses per second), get/set PIDF coefficients, etc.. Modest Improvements in Logging Decrease frequency of battery checker voltage statements. Removed non-FTC related log statements (wherever possible). Introduced a "Match Logging" feature. Under "Settings" a user can enable/disable this feature (it's disabled by default). If enabled, user provides a "Match Number" through the Driver Station user interface (top of the screen). The Match Number is used to create a log file specifically with log statements from that particular Op Mode run. Match log files are stored in /sdcard/FIRST/matlogs on the Robot Controller. Once an op mode run is complete, the Match Number is cleared. This is a convenient way to create a separate match log with statements only related to a specific op mode run. New Devices Support for REV Robotics Blinkin LED Controller. Support for REV Robotics 2m Distance Sensor. Added configuration option for REV 20:1 HD Hex Motor. Added support for a REV Touch Sensor (no longer have to configure as a generic digital device). Miscellaneous Fixed some errors in the definitions for acceleration and velocity in our javadoc documentation. Added ability to play audio files on Driver Station When user is configuring an Expansion Hub, the LED on the Expansion Hub will change blink pattern (purple-cyan) to indicate which Hub is currently being configured. Renamed I2cSensorType to I2cDeviceType. Added an external sample Op Mode that demonstrates localization using 2018-2019 (Rover Ruckus presented by QualComm) Vuforia targets. Added an external sample Op Mode that demonstrates how to use the REV Robotics 2m Laser Distance Sensor. Added an external sample Op Mode that demonstrates how to use the REV Robotics Blinkin LED Controller. Re-categorized external Java sample Op Modes to "TeleOp" instead of "Autonomous". Known issues: Initial support for UVC compatible cameras UVC cameras seem to draw significant amount of current from the USB bus. This does not appear to present any problems for the REV Robotics Control Hub. This does seem to create stability problems when using some cameras with an Android phone-based Robot Controller. FTC Tech Team is investigating options to mitigate this issue with the phone-based Robot Controllers. There might be a possible deadlock which causes the RC to become unresponsive when using a UVC webcam with a Nougat Android Robot Controller. Wireless When user selects a wireless channel, this channel does not necessarily persist if the phone is power cycled. Tech Team is hoping to eventually address this issue in a future release. Issue has been present since apps were introduced (i.e., it is not new with the v4.0 release). Wireless channel is not currently displayed for WiFi Direct connections. Miscellaneous The blink indication feature that shows which Expansion Hub is currently being configured does not work for a newly created configuration file. User has to first save a newly created configuration file and then close and re-edit the file in order for blink indicator to work. Version 3.6 (built on 17.12.18) Changes include: Blocks Changes Uses updated Google Blockly software to allow users to edit their op modes on Apple iOS devices (including iPad and iPhone). Improvement in Blocks tool to handle corrupt op mode files. Autonomous op modes should no longer get switched back to tele-op after re-opening them to be edited. The system can now detect type mismatches during runtime and alert the user with a message on the Driver Station. Updated javadoc documentation for setPower() method to reflect correct range of values (-1 to +1). Modified VuforiaLocalizerImpl to allow for user rendering of frames Added a user-overrideable onRenderFrame() method which gets called by the class's renderFrame() method. Version 3.5 (built on 17.10.30) Changes with version 3.5 include: Introduced a fix to prevent random op mode stops, which can occur after the Robot Controller app has been paused and then resumed (for example, when a user temporarily turns off the display of the Robot Controller phone, and then turns the screen back on). Introduced a fix to prevent random op mode stops, which were previously caused by random peer disconnect events on the Driver Station. Fixes issue where log files would be closed on pause of the RC or DS, but not re-opened upon resume. Fixes issue with battery handler (voltage) start/stop race. Fixes issue where Android Studio generated op modes would disappear from available list in certain situations. Fixes problem where OnBot Java would not build on REV Robotics Control Hub. Fixes problem where OnBot Java would not build if the date and time on the Robot Controller device was "rewound" (set to an earlier date/time). Improved error message on OnBot Java that occurs when renaming a file fails. Removed unneeded resources from android.jar binaries used by OnBot Java to reduce final size of Robot Controller app. Added MR_ANALOG_TOUCH_SENSOR block to Blocks Programming Tool. Version 3.4 (built on 17.09.06) Changes with version 3.4 include: Added telemetry.update() statement for BlankLinearOpMode template. Renamed sample Block op modes to be more consistent with Java samples. Added some additional sample Block op modes. Reworded OnBot Java readme slightly. Version 3.3 (built on 17.09.04) This version of the software includes improves for the FTC Blocks Programming Tool and the OnBot Java Programming Tool. Changes with verion 3.3 include: Android Studio ftc_app project has been updated to use Gradle Plugin 2.3.3. Android Studio ftc_app project is already using gradle 3.5 distribution. Robot Controller log has been renamed to /sdcard/RobotControllerLog.txt (note that this change was actually introduced w/ v3.2). Improvements in I2C reliability. Optimized I2C read for REV Expansion Hub, with v1.7 firmware or greater. Updated all external/samples (available through OnBot and in Android project folder). Vuforia Added support for VuMarks that will be used for the 2017-2018 season game. Blocks Update to latest Google Blockly release. Sample op modes can be selected as a template when creating new op mode. Fixed bug where the blocks would disappear temporarily when mouse button is held down. Added blocks for Range.clip and Range.scale. User can now disable/enable Block op modes. Fix to prevent occasional Blocks deadlock. OnBot Java Significant improvements with autocomplete function for OnBot Java editor. Sample op modes can be selected as a template when creating new op mode. Fixes and changes to complete hardware setup feature. Updated (and more useful) onBot welcome message. Known issues: Android Studio After updating to the new v3.3 Android Studio project folder, if you get error messages indicating "InvalidVirtualFileAccessException" then you might need to do a File->Invalidate Caches / Restart to clear the error. OnBot Java Sometimes when you push the build button to build all op modes, the RC returns an error message that the build failed. If you press the build button a second time, the build typically suceeds. Version 3.2 (built on 17.08.02) This version of the software introduces the "OnBot Java" Development Tool. Similar to the FTC Blocks Development Tool, the FTC OnBot Java Development Tool allows a user to create, edit and build op modes dynamically using only a Javascript-enabled web browser. The OnBot Java Development Tool is an integrated development environment (IDE) that is served up by the Robot Controller. Op modes are created and edited using a Javascript-enabled browser (Google Chromse is recommended). Op modes are saved on the Robot Controller Android device directly. The OnBot Java Development Tool provides a Java programming environment that does NOT need Android Studio. Changes with version 3.2 include: Enhanced web-based development tools Introduction of OnBot Java Development Tool. Web-based programming and management features are "always on" (user no longer needs to put Robot Controller into programming mode). Web-based management interface (where user can change Robot Controller name and also easily download Robot Controller log file). OnBot Java, Blocks and Management features available from web based interface. Blocks Programming Development Tool: Changed "LynxI2cColorRangeSensor" block to "REV Color/range sensor" block. Fixed tooltip for ColorSensor.isLightOn block. Added blocks for ColorSensor.getNormalizedColors and LynxI2cColorRangeSensor.getNormalizedColors. Added example op modes for digital touch sensor and REV Robotics Color Distance sensor. User selectable color themes. Includes many minor enhancements and fixes (too numerous to list). Known issues: Auto complete function is incomplete and does not support the following (for now): Access via this keyword Access via super keyword Members of the super cloass, not overridden by the class Any methods provided in the current class Inner classes Can't handle casted objects Any objects coming from an parenthetically enclosed expression Version 3.10 (built on 17.05.09) This version of the software provides support for the REV Robotics Expansion Hub. This version also includes improvements in the USB communication layer in an effort to enhance system resiliency. If you were using a 2.x version of the software previously, updating to version 3.1 requires that you also update your Driver Station software in addition to updating the Robot Controller software. Also note that in version 3.10 software, the setMaxSpeed and getMaxSpeed methods are no longer available (not deprecated, they have been removed from the SDK). Also note that the the new 3.x software incorporates motor profiles that a user can select as he/she configures the robot. Changes include: Blocks changes Added VuforiaTrackableDefaultListener.getPose and Vuforia.trackPose blocks. Added optimized blocks support for Vuforia extended tracking. Added atan2 block to the math category. Added useCompetitionFieldTargetLocations parameter to Vuforia.initialize block. If set to false, the target locations are placed at (0,0,0) with target orientation as specified in https://github.com/gearsincorg/FTCVuforiaDemo/blob/master/Robot_Navigation.java tutorial op mode. Incorporates additional improvements to USB comm layer to improve system resiliency (to recover from a greater number of communication disruptions). Additional Notes Regarding Version 3.00 (built on 17.04.13) In addition to the release changes listed below (see section labeled "Version 3.00 (built on 17.04.013)"), version 3.00 has the following important changes: Version 3.00 software uses a new version of the FTC Robocol (robot protocol). If you upgrade to v3.0 on the Robot Controller and/or Android Studio side, you must also upgrade the Driver Station software to match the new Robocol. Version 3.00 software removes the setMaxSpeed and getMaxSpeed methods from the DcMotor class. If you have an op mode that formerly used these methods, you will need to remove the references/calls to these methods. Instead, v3.0 provides the max speed information through the use of motor profiles that are selected by the user during robot configuration. Version 3.00 software currently does not have a mechanism to disable extra i2c sensors. We hope to re-introduce this function with a release in the near future. Version 3.00 (built on 17.04.13) *** Use this version of the software at YOUR OWN RISK!!! *** This software is being released as an "alpha" version. Use this version at your own risk! This pre-release software contains SIGNIFICANT changes, including changes to the Wi-Fi Direct pairing mechanism, rewrites of the I2C sensor classes, changes to the USB/FTDI layer, and the introduction of support for the REV Robotics Expansion Hub and the REV Robotics color-range-light sensor. These changes were implemented to improve the reliability and resiliency of the FTC control system. Please note, however, that version 3.00 is considered "alpha" code. This code is being released so that the FIRST community will have an opportunity to test the new REV Expansion Hub electronics module when it becomes available in May. The developers do not recommend using this code for critical applications (i.e., competition use). *** Use this version of the software at YOUR OWN RISK!!! *** Changes include: Major rework of sensor-related infrastructure. Includes rewriting sensor classes to implement synchronous I2C communication. Fix to reset Autonomous timer back to 30 seconds. Implementation of specific motor profiles for approved 12V motors (includes Tetrix, AndyMark, Matrix and REV models). Modest improvements to enhance Wi-Fi P2P pairing. Fixes telemetry log addition race. Publishes all the sources (not just a select few). Includes Block programming improvements Addition of optimized Vuforia blocks. Auto scrollbar to projects and sounds pages. Fixed blocks paste bug. Blocks execute after while-opModeIsActive loop (to allow for cleanup before exiting op mode). Added gyro integratedZValue block. Fixes bug with projects page for Firefox browser. Added IsSpeaking block to AndroidTextToSpeech. Implements support for the REV Robotics Expansion Hub Implements support for integral REV IMU (physically installed on I2C bus 0, uses same Bosch BNO055 9 axis absolute orientation sensor as Adafruit 9DOF abs orientation sensor). - Implements support for REV color/range/light sensor. Provides support to update Expansion Hub firmware through FTC SDK. Detects REV firmware version and records in log file. Includes support for REV Control Hub (note that the REV Control Hub is not yet approved for FTC use). Implements FTC Blocks programming support for REV Expansion Hub and sensor hardware. Detects and alerts when I2C device disconnect. Version 2.62 (built on 17.01.07) Added null pointer check before calling modeToByte() in finishModeSwitchIfNecessary method for ModernRoboticsUsbDcMotorController class. Changes to enhance Modern Robotics USB protocol robustness. Version 2.61 (released on 16.12.19) Blocks Programming mode changes: Fix to correct issue when an exception was thrown because an OpticalDistanceSensor object appears twice in the hardware map (the second time as a LightSensor). Version 2.6 (released on 16.12.16) Fixes for Gyro class: Improve (decrease) sensor refresh latency. fix isCalibrating issues. Blocks Programming mode changes: Blocks now ignores a device in the configuration xml if the name is empty. Other devices work in configuration work fine. Version 2.5 (internal release on released on 16.12.13) Blocks Programming mode changes: Added blocks support for AdafruitBNO055IMU. Added Download Op Mode button to FtcBocks.html. Added support for copying blocks in one OpMode and pasting them in an other OpMode. The clipboard content is stored on the phone, so the programming mode server must be running. Modified Utilities section of the toolbox. In Programming Mode, display information about the active connections. Fixed paste location when workspace has been scrolled. Added blocks support for the android Accelerometer. Fixed issue where Blocks Upload Op Mode truncated name at first dot. Added blocks support for Android SoundPool. Added type safety to blocks for Acceleration. Added type safety to blocks for AdafruitBNO055IMU.Parameters. Added type safety to blocks for AnalogInput. Added type safety to blocks for AngularVelocity. Added type safety to blocks for Color. Added type safety to blocks for ColorSensor. Added type safety to blocks for CompassSensor. Added type safety to blocks for CRServo. Added type safety to blocks for DigitalChannel. Added type safety to blocks for ElapsedTime. Added type safety to blocks for Gamepad. Added type safety to blocks for GyroSensor. Added type safety to blocks for IrSeekerSensor. Added type safety to blocks for LED. Added type safety to blocks for LightSensor. Added type safety to blocks for LinearOpMode. Added type safety to blocks for MagneticFlux. Added type safety to blocks for MatrixF. Added type safety to blocks for MrI2cCompassSensor. Added type safety to blocks for MrI2cRangeSensor. Added type safety to blocks for OpticalDistanceSensor. Added type safety to blocks for Orientation. Added type safety to blocks for Position. Added type safety to blocks for Quaternion. Added type safety to blocks for Servo. Added type safety to blocks for ServoController. Added type safety to blocks for Telemetry. Added type safety to blocks for Temperature. Added type safety to blocks for TouchSensor. Added type safety to blocks for UltrasonicSensor. Added type safety to blocks for VectorF. Added type safety to blocks for Velocity. Added type safety to blocks for VoltageSensor. Added type safety to blocks for VuforiaLocalizer.Parameters. Added type safety to blocks for VuforiaTrackable. Added type safety to blocks for VuforiaTrackables. Added type safety to blocks for enums in AdafruitBNO055IMU.Parameters. Added type safety to blocks for AndroidAccelerometer, AndroidGyroscope, AndroidOrientation, and AndroidTextToSpeech. Version 2.4 (released on 16.11.13) Fix to avoid crashing for nonexistent resources. Blocks Programming mode changes: Added blocks to support OpenGLMatrix, MatrixF, and VectorF. Added blocks to support AngleUnit, AxesOrder, AxesReference, CameraDirection, CameraMonitorFeedback, DistanceUnit, and TempUnit. Added blocks to support Acceleration. Added blocks to support LinearOpMode.getRuntime. Added blocks to support MagneticFlux and Position. Fixed typos. Made blocks for ElapsedTime more consistent with other objects. Added blocks to support Quaternion, Velocity, Orientation, AngularVelocity. Added blocks to support VuforiaTrackables, VuforiaTrackable, VuforiaLocalizer, VuforiaTrackableDefaultListener. Fixed a few blocks. Added type checking to new blocks. Updated to latest blockly. Added default variable blocks to navigation and matrix blocks. Fixed toolbox entry for openGLMatrix_rotation_withAxesArgs. When user downloads Blocks-generated op mode, only the .blk file is downloaded. When user uploads Blocks-generated op mode (.blk file), Javascript code is auto generated. Added DbgLog support. Added logging when a blocks file is read/written. Fixed bug to properly render blocks even if missing devices from configuration file. Added support for additional characters (not just alphanumeric) for the block file names (for download and upload). Added support for OpMode flavor (“Autonomous” or “TeleOp”) and group. Changes to Samples to prevent tutorial issues. Incorporated suggested changes from public pull 216 (“Replace .. paths”). Remove Servo Glitches when robot stopped. if user hits “Cancels” when editing a configuration file, clears the unsaved changes and reverts to original unmodified configuration. Added log info to help diagnose why the Robot Controller app was terminated (for example, by watch dog function). Added ability to transfer log from the controller. Fixed inconsistency for AngularVelocity Limit unbounded growth of data for telemetry. If user does not call telemetry.update() for LinearOpMode in a timely manner, data added for telemetry might get lost if size limit is exceeded. Version 2.35 (released on 16.10.06) Blockly programming mode - Removed unnecesary idle() call from blocks for new project. Version 2.30 (released on 16.10.05) Blockly programming mode: Mechanism added to save Blockly op modes from Programming Mode Server onto local device To avoid clutter, blocks are displayed in categorized folders Added support for DigitalChannel Added support for ModernRoboticsI2cCompassSensor Added support for ModernRoboticsI2cRangeSensor Added support for VoltageSensor Added support for AnalogInput Added support for AnalogOutput Fix for CompassSensor setMode block Vuforia Fix deadlock / make camera data available while Vuforia is running. Update to Vuforia 6.0.117 (recommended by Vuforia and Google to close security loophole). Fix for autonomous 30 second timer bug (where timer was in effect, even though it appeared to have timed out). opModeIsActive changes to allow cleanup after op mode is stopped (with enforced 2 second safety timeout). Fix to avoid reading i2c twice. Updated sample Op Modes. Improved logging and fixed intermittent freezing. Added digital I/O sample. Cleaned up device names in sample op modes to be consistent with Pushbot guide. Fix to allow use of IrSeekerSensorV3. Version 2.20 (released on 16.09.08) Support for Modern Robotics Compass Sensor. Support for Modern Robotics Range Sensor. Revise device names for Pushbot templates to match the names used in Pushbot guide. Fixed bug so that IrSeekerSensorV3 device is accessible as IrSeekerSensor in hardwareMap. Modified computer vision code to require an individual Vuforia license (per legal requirement from PTC). Minor fixes. Blockly enhancements: Support for Voltage Sensor. Support for Analog Input. Support for Analog Output. Support for Light Sensor. Support for Servo Controller. Version 2.10 (released on 16.09.03) Support for Adafruit IMU. Improvements to ModernRoboticsI2cGyro class Block on reset of z axis. isCalibrating() returns true while gyro is calibration. Updated sample gyro program. Blockly enhancements support for android.graphics.Color. added support for ElapsedTime. improved look and legibility of blocks. support for compass sensor. support for ultrasonic sensor. support for IrSeeker. support for LED. support for color sensor. support for CRServo prompt user to configure robot before using programming mode. Provides ability to disable audio cues. various bug fixes and improvements. Version 2.00 (released on 16.08.19) This is the new release for the upcoming 2016-2017 FIRST Tech Challenge Season. Channel change is enabled in the FTC Robot Controller app for Moto G 2nd and 3rd Gen phones. Users can now use annotations to register/disable their Op Modes. Changes in the Android SDK, JDK and build tool requirements (minsdk=19, java 1.7, build tools 23.0.3). Standardized units in analog input. Cleaned up code for existing analog sensor classes. setChannelMode and getChannelMode were REMOVED from the DcMotorController class. This is important - we no longer set the motor modes through the motor controller. setMode and getMode were added to the DcMotor class. ContinuousRotationServo class has been added to the FTC SDK. Range.clip() method has been overloaded so it can support this operation for int, short and byte integers. Some changes have been made (new methods added) on how a user can access items from the hardware map. Users can now set the zero power behavior for a DC motor so that the motor will brake or float when power is zero. Prototype Blockly Programming Mode has been added to FTC Robot Controller. Users can place the Robot Controller into this mode, and then use a device (such as a laptop) that has a Javascript enabled browser to write Blockly-based Op Modes directly onto the Robot Controller. Users can now configure the robot remotely through the FTC Driver Station app. Android Studio project supports Android Studio 2.1.x and compile SDK Version 23 (Marshmallow). Vuforia Computer Vision SDK integrated into FTC SDK. Users can use sample vision targets to get localization information on a standard FTC field. Project structure has been reorganized so that there is now a TeamCode package that users can use to place their local/custom Op Modes into this package. Inspection function has been integrated into the FTC Robot Controller and Driver Station Apps (Thanks Team HazMat… 9277 & 10650!). Audio cues have been incorporated into FTC SDK. Swap mechanism added to FTC Robot Controller configuration activity. For example, if you have two motor controllers on a robot, and you misidentified them in your configuration file, you can use the Swap button to swap the devices within the configuration file (so you do not have to manually re-enter in the configuration info for the two devices). Fix mechanism added to all user to replace an electronic module easily. For example, suppose a servo controller dies on your robot. You replace the broken module with a new module, which has a different serial number from the original servo controller. You can use the Fix button to automatically reconfigure your configuration file to use the serial number of the new module. Improvements made to fix resiliency and responsiveness of the system. For LinearOpMode the user now must for a telemetry.update() to update the telemetry data on the driver station. This update() mechanism ensures that the driver station gets the updated data properly and at the same time. The Auto Configure function of the Robot Controller is now template based. If there is a commonly used robot configuration, a template can be created so that the Auto Configure mechanism can be used to quickly configure a robot of this type. The logic to detect a runaway op mode (both in the LinearOpMode and OpMode types) and to abort the run, then auto recover has been improved/implemented. Fix has been incorporated so that Logitech F310 gamepad mappings will be correct for Marshmallow users. Release 16.07.08 For the ftc_app project, the gradle files have been modified to support Android Studio 2.1.x. Release 16.03.30 For the MIT App Inventor, the design blocks have new icons that better represent the function of each design component. Some changes were made to the shutdown logic to ensure the robust shutdown of some of our USB services. A change was made to LinearOpMode so as to allow a given instance to be executed more than once, which is required for the App Inventor. Javadoc improved/updated. Release 16.03.09 Changes made to make the FTC SDK synchronous (significant change!) waitOneFullHardwareCycle() and waitForNextHardwareCycle() are no longer needed and have been deprecated. runOpMode() (for a LinearOpMode) is now decoupled from the system's hardware read/write thread. loop() (for an OpMode) is now decoupled from the system's hardware read/write thread. Methods are synchronous. For example, if you call setMode(DcMotorController.RunMode.RESET_ENCODERS) for a motor, the encoder is guaranteed to be reset when the method call is complete. For legacy module (NXT compatible), user no longer has to toggle between read and write modes when reading from or writing to a legacy device. Changes made to enhance reliability/robustness during ESD event. Changes made to make code thread safe. Debug keystore added so that user-generated robot controller APKs will all use the same signed key (to avoid conflicts if a team has multiple developer laptops for example). Firmware version information for Modern Robotics modules are now logged. Changes made to improve USB comm reliability and robustness. Added support for voltage indicator for legacy (NXT-compatible) motor controllers. Changes made to provide auto stop capabilities for op modes. A LinearOpMode class will stop when the statements in runOpMode() are complete. User does not have to push the stop button on the driver station. If an op mode is stopped by the driver station, but there is a run away/uninterruptible thread persisting, the app will log an error message then force itself to crash to stop the runaway thread. Driver Station UI modified to display lowest measured voltage below current voltage (12V battery). Driver Station UI modified to have color background for current voltage (green=good, yellow=caution, red=danger, extremely low voltage). javadoc improved (edits and additional classes). Added app build time to About activity for driver station and robot controller apps. Display local IP addresses on Driver Station About activity. Added I2cDeviceSynchImpl. Added I2cDeviceSync interface. Added seconds() and milliseconds() to ElapsedTime for clarity. Added getCallbackCount() to I2cDevice. Added missing clearI2cPortActionFlag. Added code to create log messages while waiting for LinearOpMode shutdown. Fix so Wifi Direct Config activity will no longer launch multiple times. Added the ability to specify an alternate i2c address in software for the Modern Robotics gyro. Release 16.02.09 Improved battery checker feature so that voltage values get refreshed regularly (every 250 msec) on Driver Station (DS) user interface. Improved software so that Robot Controller (RC) is much more resilient and “self-healing” to USB disconnects: If user attempts to start/restart RC with one or more module missing, it will display a warning but still start up. When running an op mode, if one or more modules gets disconnected, the RC & DS will display warnings,and robot will keep on working in spite of the missing module(s). If a disconnected module gets physically reconnected the RC will auto detect the module and the user will regain control of the recently connected module. Warning messages are more helpful (identifies the type of module that’s missing plus its USB serial number). Code changes to fix the null gamepad reference when users try to reference the gamepads in the init() portion of their op mode. NXT light sensor output is now properly scaled. Note that teams might have to readjust their light threshold values in their op modes. On DS user interface, gamepad icon for a driver will disappear if the matching gamepad is disconnected or if that gamepad gets designated as a different driver. Robot Protocol (ROBOCOL) version number info is displayed in About screen on RC and DS apps. Incorporated a display filter on pairing screen to filter out devices that don’t use the “-“ format. This filter can be turned off to show all WiFi Direct devices. Updated text in License file. Fixed formatting error in OpticalDistanceSensor.toString(). Fixed issue on with a blank (“”) device name that would disrupt WiFi Direct Pairing. Made a change so that the WiFi info and battery info can be displayed more quickly on the DS upon connecting to RC. Improved javadoc generation. Modified code to make it easier to support language localization in the future. Release 16.01.04 Updated compileSdkVersion for apps Prevent Wifi from entering power saving mode removed unused import from driver station Corrrected "Dead zone" joystick code. LED.getDeviceName and .getConnectionInfo() return null apps check for ROBOCOL_VERSION mismatch Fix for Telemetry also has off-by-one errors in its data string sizing / short size limitations error User telemetry output is sorted. added formatting variants to DbgLog and RobotLog APIs code modified to allow for a long list of op mode names. changes to improve thread safety of RobocolDatagramSocket Fix for "missing hardware leaves robot controller disconnected from driver station" error fix for "fast tapping of Init/Start causes problems" (toast is now only instantiated on UI thread). added some log statements for thread life cycle. moved gamepad reset logic inside of initActiveOpMode() for robustness changes made to mitigate risk of race conditions on public methods. changes to try and flag when WiFi Direct name contains non-printable characters. fix to correct race condition between .run() and .close() in ReadWriteRunnableStandard. updated FTDI driver made ReadWriteRunnableStanard interface public. fixed off-by-one errors in Command constructor moved specific hardware implmentations into their own package. moved specific gamepad implemnatations to the hardware library. changed LICENSE file to new BSD version. fixed race condition when shutting down Modern Robotics USB devices. methods in the ColorSensor classes have been synchronized. corrected isBusy() status to reflect end of motion. corrected "back" button keycode. the notSupported() method of the GyroSensor class was changed to protected (it should not be public). Release 15.11.04.001 Added Support for Modern Robotics Gyro. The GyroSensor class now supports the MR Gyro Sensor. Users can access heading data (about Z axis) Users can also access raw gyro data (X, Y, & Z axes). Example MRGyroTest.java op mode included. Improved error messages More descriptive error messages for exceptions in user code. Updated DcMotor API Enable read mode on new address in setI2cAddress Fix so that driver station app resets the gamepads when switching op modes. USB-related code changes to make USB comm more responsive and to display more explicit error messages. Fix so that USB will recover properly if the USB bus returns garbage data. Fix USB initializtion race condition. Better error reporting during FTDI open. More explicit messages during USB failures. Fixed bug so that USB device is closed if event loop teardown method was not called. Fixed timer UI issue Fixed duplicate name UI bug (Legacy Module configuration). Fixed race condition in EventLoopManager. Fix to keep references stable when updating gamepad. For legacy Matrix motor/servo controllers removed necessity of appending "Motor" and "Servo" to controller names. Updated HT color sensor driver to use constants from ModernRoboticsUsbLegacyModule class. Updated MR color sensor driver to use constants from ModernRoboticsUsbDeviceInterfaceModule class. Correctly handle I2C Address change in all color sensors Updated/cleaned up op modes. Updated comments in LinearI2cAddressChange.java example op mode. Replaced the calls to "setChannelMode" with "setMode" (to match the new of the DcMotor method). Removed K9AutoTime.java op mode. Added MRGyroTest.java op mode (demonstrates how to use MR Gyro Sensor). Added MRRGBExample.java op mode (demonstrates how to use MR Color Sensor). Added HTRGBExample.java op mode (demonstrates how to use HT legacy color sensor). Added MatrixControllerDemo.java (demonstrates how to use legacy Matrix controller). Updated javadoc documentation. Updated release .apk files for Robot Controller and Driver Station apps. Release 15.10.06.002 Added support for Legacy Matrix 9.6V motor/servo controller. Cleaned up build.gradle file. Minor UI and bug fixes for driver station and robot controller apps. Throws error if Ultrasonic sensor (NXT) is not configured for legacy module port 4 or 5. Release 15.08.03.001 New user interfaces for FTC Driver Station and FTC Robot Controller apps. An init() method is added to the OpMode class. For this release, init() is triggered right before the start() method. Eventually, the init() method will be triggered when the user presses an "INIT" button on driver station. The init() and loop() methods are now required (i.e., need to be overridden in the user's op mode). The start() and stop() methods are optional. A new LinearOpMode class is introduced. Teams can use the LinearOpMode mode to create a linear (not event driven) program model. Teams can use blocking statements like Thread.sleep() within a linear op mode. The API for the Legacy Module and Core Device Interface Module have been updated. Support for encoders with the Legacy Module is now working. The hardware loop has been updated for better performance.
KMP library for Android, iOS and Desktop targets for observing real-time network traffic of the app
Android network library with QUIC protocol supporting.
This repository showcases a straightforward Android Kotlin project demonstrating the implementation of Retrofit for seamless API calls, providing a concise and practical example for developers to integrate this powerful networking library into their Android applications.