Giter VIP home page Giter VIP logo

quickblox-android-sdk's Introduction

QuickBlox Android SDK

This project contains QuickBlox Android SDK, that includes

How to start

To start work you should just put library jars into your project and call desired methods.

Latest jar-packed framework file you can clone from jars folder.

Documentation

Oh, please, please show me the code

Android SDK is really simple to use. Just in few minutes you can power your mobile app with huge amount of awesome functions to store, pass and represent your data.

1. Get app credentials

2. Create new Android project

3. Add jars to project libs folder.

Update your build.gradle file if need.

Eclipse users: If you got 'Unable to execute dex: Java heap size' - try to upgrade eclipse.ini to https://groups.google.com/forum/?fromgroups=#!topic/phonegap/yWePvssyiLE

4. Declare internet permission for Android application

  • Go to AndroidManifest.xml and add
<uses-permission android:name="android.permission.INTERNET" />

inside <manifest> tag.

5. Make QuickBlox API calls

The common way to interact with QuickBlox can be presented with following sequence of actions:

  1. Initialize framework with application credentials
  2. Create session
  3. Login with existing user or register new one
  4. Perform actions with any QuickBlox data entities (users, locations, files, custom objects, pushes etc.)

5.1 Initialize framework with application credentials

QBSettings.getInstance().fastConfigInit("961", "PBZxXW3WgGZtFZv", "vvHjRbVFF6mmeyJ");

5.2. Create session

QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
    @Override
    public void onSuccess(QBSession session, Bundle params) {
        // success
    }

    @Override
    public void onError(List<String> errors) {
        // errors
    }
});

5.3. Register/login

First create (register) new user

// Register new user
final QBUser user = new QBUser("userlogin", "userpassword");

QBUsers.signUp(user, new QBEntityCallbackImpl<QBUser>() {
    @Override
    public void onSuccess(QBUser user, Bundle args) {
        // success
    }

    @Override
    public void onError(List<String> errors) {
       // error
    }
});

then authorize user

// Login
QBUsers.signIn(user, new QBEntityCallbackImpl<QBUser>() {
    @Override
    public void onSuccess(QBUser user, Bundle args) {
        // success
    }

    @Override
    public void onError(List<String> errors) {
        // error
    }
});

5.4. Perform actions

Create new location for Indiana Jones

double lat = 25.224820; // Somewhere in Africa
double lng = 9.272461;
String statusText = "trying to find adventures";
QBLocation location = new QBLocation(lat, lng, statusText);
QBLocations.createLocation(location, new QBEntityCallbackImpl<QBLocation>() {
    @Override
    public void onSuccess(QBLocation qbLocation, Bundle args) {
        // success
    }

    @Override
    public void onError(List<String> errors) {
        // error
    }
});

or put Holy Grail into storage

File file = new File("holy_grail.txt");
Boolean fileIsPublic = true;
QBContent.uploadFileTask(file1, fileIsPublic, null, new QBEntityCallbackImpl<QBFile>() {
    @Override
    public void onSuccess(QBFile qbFile, Bundle params) {
        // success
    }

    @Override
    public void onError(List<String> errors) {
        // error
    }
});

Java Framework provides following jars/services to interact with QuickBlox functions (each service is represented by a model with suite of static methods):

  • quickblox-android-sdk-core.jar (contains core, auth and users classes)
  • quickblox-android-sdk-chat.jar (contains chat class)
  • quickblox-android-sdk-customobjects.jar (contains custom objects class)
  • quickblox-android-sdk-location.jar (contains location class)
  • quickblox-android-sdk-content.jar (contains content class)
  • quickblox-android-sdk-messages.jar (contains messages class)
  • quickblox-android-sdk-ratings.jar (contains ratings class)
  • quickblox-android-sdk-videochat.jar (contains video chat classes)
  • quickblox-android-sdk-videochat-webrtc.jar (contains video chat webrtc classes)

See also

quickblox-android-sdk's People

Contributors

ishaforenko avatar tatanka987 avatar bogatovevgeniy avatar alisandr avatar sergey-fedunets avatar vfite avatar andrii-dmytrenko avatar dmitripiryatenets avatar

Watchers

James Cloos avatar Burak Sormageç avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.