Implementing CITAQ V8 with POS Device .

CITAQ V8 is an embedded touch-screen POS machine designed for O2O mobile internet. It supports LAN, WIFI, 3G under Android OS and enables transmission of data to cloud servers. It realizes intelligent HCI by an 8-inch multi-touch screen with 1024×768 resolutions. Its high speed 80mm thermal printer prints receipts, rapidly. This unit has special protection design to resist water and oil. Its interfaces enable peripherals such as scanner, customer display, cashbox, mouse, MSR and RFID reader. One of Appdev360’s clients required CITAQ V8 to be implemented with his POS device. Appdev360 engineers encountered the following issues during its implementation: Problem 1: The USB port on the device did not work for debugging. Problem2: Communication with the Printer was not enabled irregular. They had to enable it via built-in android tablet using the CITAQ library. Appdev360 engineers conducted a thorough research to understand the working of CITAQ V8 and came up […]
GoPro- Blog

GoPro Live Streaming in iOS .

GoPro is a mobile app that enables users to control cameras, view photos and videos -remotely.  Appdev360 engineers conducted a research to find if there is any SDK available for iOS to interact with the GoPro Camera. Appdev360 engineers understood the ecosystem of GoPro after looking at its official app to fetch the stream on the mobile devices. They went through their documentation and concluded that they have already provided a set of Python scripts to enable connectivity between the camera and device called “GoProhero”. Click here for installing the GoProhero Library. While going through the documentation, Appdev360 engineers came across another piece of the library that uses GoProController and GoProControllerUI APIs for automating the process of connectivity between the camera and device. The following link provides details along with a complete setup to enable GoProController & GoProControllerUI, respectively: GoProController GoProControllerUI These documentations depicts that most of the work is to […]

FTP Client for iOS .

One of Appdev360 clients required an iOS application that could enable downloading and uploading files through File Transfer Protocol (FTP). Appdev360 engineer Asif Bilal performed an extensive research to find different libraries that were suitable for developing the application. These were: WhiteRaccoon (Objective C) BlackRaccoon (Objective C) Rebekka (Swift) SimpleFTPSample (Objective C, Apple) However, Asif used Rebekka because of Swift as it is the core programming language created for iOS. He took following steps for developing the application: Included Rebekka library as a submodule and imported the ‘Rebecca Touch’ framework. Declared a variable of Session (class) in one of the Singleton class as: import RebekkaTouch class SingletonClass:NSObject { // Singleton Class     static let sharedInstance: SingletonClass = SingletonClass() // This is how we make a class singleton.     var session: Session! // So that this variable should never be reallocated. Also, can be accessed via any class in the application. […]
Wowza nDVR

Using Wowza nDVR to Test Video Live Streaming .

Wowza nDVR is a built-in feature of Wowza Streaming Engine that enables users to play, pause, resume, and rewind live streams. This custom configuration allows them to control the archive strategy and availability of recorded streams. These streams can be played on multiple platforms like Android smartphones, tablets, Apple iPhone, iPad, etc. Configuration Install and configure Wowza streaming engine from this link. After Installing, configure the application settings from the Wowza Streaming Engine Manager. Go to the Application tab and click “Add Application” in the contents panel. The following screen will appear: Now click the Live button to select the application type. In the New Application dialog box, enter a name, say DemoDVR, and then click Add. Expand the DemoDVR application in the contents panel, Go to nDVR and click “Enable nDVR”. The Status field will appear, showing that Wowza nDVR is enabled. Click Restart Now to apply the changes. […]

Fetching Health Data from HealthKit in iOS .

One of Appdev360’s clients required HealthKit SDK to be integrated into his iOS application. HealthKit is an iOS framework that provides an easy-to-read dashboard for health information. It allows healthcare and fitness apps to work together and share their data in the Health app. Appdev360 engineer, Inaam Ur Rehman decided to get access to the health data from HealthKit and integrate it within the client’s application. Our Implementation Firstly, Inaam Ur Rehman navigated to Target > Capabilities and enabled the HealthKit to set up the project as shown below: After setting up the project, Inaam took the following steps to gain authorization of the HealthKit data from the user: Created a set for the type of data user want to read i.e. HKQuantityTypeIdentifierHeight etc. Created a set for the type of data user want to read i.e. HKQuantityTypeIdentifierDietarySugar etc. Checked if the HealthKit data is available in the device using […]

React Native – Insights about its Features .

React Native is an open source framework by Facebook for building iOS and Android applications using JavaScript only. It uses the same fundamental UI building blocks as regular iOS and Android. React developers don’t have to build the same app for iOS and Android from scratch. React Native allows developers to reuse the same code for different mobile operating systems with best practices, generators and more. Features Don’t Waste Time Recompiling Instead of Recompiling, Hot Reloading enables applications to run the code faster while retaining the application state. It injects edited files that is very useful while tweaking the UI, to keep the app running. Understand es6/flow/jsx You can use es6 syntax easily if you have a strong grip on the ECMA Script 6 language. React Native contains a tool called Packager that transforms es6/flow/.jsx files into normal JavaScript that the VMware can understand. Instantly Reload (Live Reload) Rather than […]

Using Twilio API to Build a Mobile Application .

Twilio is a cloud communication company that enables users to use standard web languages to build voice, VOIP and SMS apps via a web API. Voice communication with landlines or other Twilio devices, including web browsers and other mobile hardware, is supported by Java Library for Android. Our Appdev360 engineer, Abu Bakar. decided to test its video call feature in a sample application, to thoroughly understand its working. He used Twilio Android SDK for two different mediums: Mobile to Server Mobile to Mobile Abu Bakar created a Twilio account on the application and then proceeded to its developer console. Upon creating his account, he received an access token along with the confirmation email. A web-based video chat window appeared in Twilio’s developer console as soon as the access token was copied into the Android application Class. To gather configuration options from the console Abu Bakar had to insert a server-side […]

Testing Interactive Notifications in iOS .

Before the release of iOS 8, developers didn’t have the power to provide users with any sort of performable actions in the notification bar. But now thanks to the interactive notifications in iOS 8, users can reply to messages right from the banner, accept invitations from the lock screen or ‘like’ an activity from the notification center. It allows them to perform significant actions in real time Our Appdev360 engineers decided to experiment with this function, in a sample application, to thoroughly understand it’s working. They implemented the following delegate in the AppDelegate class. func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler: () -> Void) . This delegate method is where the action input is handled using an identifier, such as: if identifier == “actionOne” {             NSNotificationCenter.defaultCenter().postNotificationName(“actionOneNotification”, object: nil)         }         else if identifier == “actionTwo” {             NSNotificationCenter.defaultCenter().postNotificationName(“actionTwoNotification”, object: nil) Appdev360 engineers added the following […]

Developing Android App for POS Terminals .

One of our Appdev360 engineers Khizar Hayat encountered an issue on POS Terminals while working with a client. Previously, bulky POS Terminals used to run heavy peripheral devices for tracking the list of items and generating bills. The POS Terminals were not remote as they had to be placed on the cash counter for users to reach them. A solution was required that could help our client’s business deal the following problems: Mobility Space Cost Khizar conducted an in-depth research to find a device already available in the market for fulfilling the client’s requirements. He came up with a smart POS Terminal named “Sunmi V1 POS Terminal”. This POS terminal device had an Android 5.1 operating system with a built-in printer and a hand-held scanner. Along with this device came an SDK for creating additional applications. Khizar developed an Android app using the provided SDK and connected to a mobile […]