A well-developed app is one that can perform network functions (e.g., connecting to a network) quickly, effectively and efficiently. There are many important tools that the developer can use to do this.
Here are several networking frameworks that can be used to accomplish this:
- Android Http Client includes both Apache HTTP Client (i.e., DefaultHttpClient and -AndroidHttpClient) and HttpURLConnection.
- Android Asynchronous Client is a callback-based library built on Apache HTTP Client libraries.
- Android Query is a library used for asynchronous tasks.
- TurboIMAGE, developed by HP for networking, has a database application component with SQL support (IMAGE/SQL).
- DataDroid is a capture solution for mobile data.
- GreenDroid is a UI development library.
- Parse SDK is an open source library for asynchronous programming.
- Cisco ipSec VPN enables secure mobile networking.
Important aspects of network programming are:
- P2P (peer-to-peer) networking is typical of any Android app. There are many functions that need to be executed with other peers on the Internet. This makes developing such Android apps more challenging than standalone ones.
- Software endpoints, or sockets, create communication pathways that go in two directions, making it the most common method of interfacing in mobile networking.
- RSS feeds on the web can be tapped for use by an app in order to provide interesting content for the app user. The app repackages this feed into whatever the app is to be used for.
Onix applies technologies that create specialized interfaces and implement any network level protocols, such as torrent and VoIP. To simplify the development and processing of REST queries, we use object frameworks that help speed up the app development process.
Click on any of the skills on this page to read more about them.
- Maps and GeolocationGoogle Maps, Google Places, Geocoding/Geoencoding, OSM and GPS Location
- Social ConversationsText Messages/Phone/Mail, Twitter, Facebook, LinkedIn, Instagram, Google+ (YouTube), Path, Vine, WhatsApp, WeChat, and Tumblr
- Native TechnologiesAndroid NDK C/C++, Android Media Codec, Android Lolipop Camera, Wi-Fi 3G connection, View and custom viewgroup layout, internationalization and localization, local data storage, Action Bar, NFC, Bluetooth, GMC Push Notification, Multi Fragments application, account management, Widget, Live Wallpapers, Lock screen, Custom keyboard, OpenGL ES 1.1/2.0, Data providers, Renderscript, Speech API, Telephony API, Multi-Touch gestures and Multithreading
- Game/Render EnginesAndEngine, Unity 3D, Rajvali and LibGDX
- AdvertisingMoPub, Nexage, Millenial, InMobi, RefMob, LeadBolt, AdInch, Airpush, InnerActive, InMobi, Google AdMob
- Android Data AccessSharing data between apps with intents and receiver, Contacts (address book), Photos and Videos on device, Calendar and Reminders/Alerts
- NetworkingP2P, Sockets, RSS and Networking Frameworks (Android Http client, Turboimage, Android query, Android Async client, Volley, DataDroid, GreenDroid, Parse SDK, Cisco ipSec VPN)
- Android NDKlibJpeg, libPng, ffmpeg, 3d math matrix, Pthread, VLC and Android ADT
- External HardwareNFC, Arduino, Bluetooth, USB Host, Action camera, Drones and Wi-Fi
- In-App PurchasesAndroid Google API payments, PayPal, LiqPay, Yandex payments, Open IAB and Amazon payments
- VideoMedia Player Framework, Ffpmeg Player Framework, GoPro, video filtering, video encoding/decoding and Video streaming (RTMP, RTSP, HLS)
- AnalyticsFlurry, Amplitude, Kahuna, Google Analytics and Crashlytics
- AudioMediaPlayer, OpenSL, MediaTrack, Audio generation, Audio Filtering and SoundPool
- GraphicsAndroid Canvas, Matrix, GPU Render, GL Surface and OpenCV
- DistributingCrashlytics Beta, Android Market Alpha/Beta