All Projects → uber-archive → Auto Value Bundle

uber-archive / Auto Value Bundle

Licence: mit
Extends Autovalue to extract data from a bundle into a value object.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Auto Value Bundle

Vis Academy
A set of tutorials on how our frameworks make effective data visualization applications.
Stars: ✭ 254 (+605.56%)
Mutual labels:  uber, data
Mobile
React Native apps for viewing Dota 2 data on Android/iOS
Stars: ✭ 134 (+272.22%)
Mutual labels:  data, mobile
Countly Server
Countly helps you get insights from your application. Available self-hosted or on private cloud.
Stars: ✭ 4,857 (+13391.67%)
Mutual labels:  data, mobile
Athenax
SQL-based streaming analytics platform at scale
Stars: ✭ 1,178 (+3172.22%)
Mutual labels:  uber, data
Didicallcar
这是我自己做的一个类似滴滴打车的Android出行项目,主要针对滴滴等出行平台一直饱受质疑的“人车不符”问题,以及当前越发火热的或计划和出海战略,给出行项目增加了下面几个功能: 1. RFID识别验证功能:在司机证件或者车内识别硬件嵌入RFID识别芯片,乘客使用手机读取到芯片信息,并且通过网络发送到出行平台数据库进行验证(我用JNI加了一个C语言的MD5加密算法对识别到的信息进行了加密)。如果不是合规的“人”或“车”,则不能完成订单并向平台或监管单位汇报当前位置。(为了方便读者测试,可以使用手机读取任何一个加密或非加密RFID芯片,比如银行卡、公交卡等,我在代码中的验证前阶段把芯片信息都换成我自己的司机信息,确保读者测试时可以收到服务器的回复) 2. 海外版功能:点击切换当前语言。 3. 司机证件号码识别功能:读取司机证件上的证件号码,也可以用来与出行平台数据库的接单司机信息进行。I complete this whole project on my own . Including Android application programming,web server ( Apache + PHP + MySQL), and UI. 1.Map route planing。You can use mobile phone choose pick up & destination address,application provide address name hint and draw optimized route for user , then call car for you. 2.RFID authentication function:User can use application to scan driver license or other RFID hardware, then use NDK MD5 algorithm encrypt RFID number, and send it to Web Server Database, check with driver information and authenticate ID number , if ID number coherent with driver info , send back driver information to User and continue call car order . record user location and alert if ID not coherent. 3.Driver License Number Recognition : Application can recognize driver license digit number ,and also can send to web server for authentication & feed back result to user.
Stars: ✭ 935 (+2497.22%)
Mutual labels:  uber, mobile
Cryptoinscriber
📈 A live cryptocurrency historical trade data blotter. Download live historical trade data from any cryptoexchange, be it for machine learning, backtesting/visualizing trading strategies or for Quantopian/Zipline.
Stars: ✭ 27 (-25%)
Mutual labels:  data
Us Polling Places
Standardized data on historical general election polling places in the United States.
Stars: ✭ 34 (-5.56%)
Mutual labels:  data
Fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
Stars: ✭ 33,382 (+92627.78%)
Mutual labels:  mobile
Magma
Platform for building access networks and modular network services
Stars: ✭ 913 (+2436.11%)
Mutual labels:  mobile
Perhaps
A monad, perhaps.
Stars: ✭ 35 (-2.78%)
Mutual labels:  data
Apogee
Tools for dealing with APOGEE data
Stars: ✭ 34 (-5.56%)
Mutual labels:  data
Uphold Sdk Android
Uphold Android SDK
Stars: ✭ 32 (-11.11%)
Mutual labels:  mobile
Shaderlibs
topameng's shader libs
Stars: ✭ 27 (-25%)
Mutual labels:  mobile
Organic
Outliner, organizer and notes management app.
Stars: ✭ 34 (-5.56%)
Mutual labels:  mobile
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
Stars: ✭ 38,582 (+107072.22%)
Mutual labels:  mobile
Backbone Responsive Css3 Page Transitions
CSS3 hardware accelerated page transitions optimised for fluid layouts
Stars: ✭ 34 (-5.56%)
Mutual labels:  mobile
Awesome React Native
Awesome React Native components, news, tools, and learning material!
Stars: ✭ 30,759 (+85341.67%)
Mutual labels:  mobile
Universityrecruitment Ssurvey
用严肃的数据来回答“什么样的企业会到什么样的大学招聘”?
Stars: ✭ 30 (-16.67%)
Mutual labels:  data
F2
📱📈An elegant, interactive and flexible charting library for mobile.
Stars: ✭ 7,619 (+21063.89%)
Mutual labels:  mobile
Dataframes.jl
In-memory tabular data in Julia
Stars: ✭ 951 (+2541.67%)
Mutual labels:  data

Auto-value-bundle Build Status

An extension for Google's AutoValue that supports Android Bundle object.

Motivation

Bundles are used to pass data along with intents and services, between activities, and from GCM, among other reasons. However, converting that data from a bundle to a Java object involves a lot of repetitive and error-prone code.

Download

Add Gradle dependency:

dependencies {
  annotationProcessor "com.google.auto.value:auto-value:1.4.1"
    annotationProcessor "com.uber.autovalue-bundle-extension:1.0.0"
    //Optionally for use of @GCMBundle annotation
    provided "com.uber.autovalue-bundle-extension:1.0.0"
}

Usage

Simply include the Autovalue: Bundle Extension in your project and add a constructor to your abstract value class that calls the unbundle method.

@AutoValue
public abstract class Foo {

    public static Foo create(Bundle bundle, Gson gson) {
        return AutoValue_Foo.unbundle(bundle, gson);
    }

    public abstract String bar();
}

GCM Bundle

Additionally, there is an annotation @GCMBundle which is used to denote that a bundle was created and attached to an intent from GCM. This means that the data is stored in String-String key-value pairs. Using the @GCMBundle annotation will infer the type from the return type of the value class methods and handle the conversion and type casting for you.

@AutoValue
@GCMBundle
public abstract class Foo {

    public static Foo create(Bundle bundle, Gson gson) {
        return AutoValue_Foo.unbundle(bundle, gson);
    }

    public abstract int bar();
}

Contributors

We'd love for you to contribute to our open source projects. Before we can accept your contributions, however, we kindly ask you to sign our Uber Contributor License Agreement.

  • If you find a bug, open an issue or submit a fix via a pull request.
  • If you have a feature request, open an issue or submit an implementation via a pull request
  • If you want to contribute, submit a pull request.

License

Copyright (c) 2017 Uber Technologies, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].