Google Play In-app Billing in Ai2LiveComplete

Ai2LiveComplete includes monetization components that allows you to quickly add monetization into your Android apps. These components allow you to add in Banner ads, full screen Interstitial ads or even full screen rich video ads.


The latest monetization component that was added into Ai2LiveComplete is the Google Play In-app Billing component. This component allows you to sell virtual content such as game levels or potions, premium services and features, subscriptions, and more. Watch the video below and if interested in Ai2LiveComplete follow the link below the video:

Interested in Ai2LiveComplete? Please check features and link to demo site  HERE.  Alternatively, if you have problem accessing the doc, you can check document, HERE


Posted by on April 10, 2015 in AiLiveComplete


AiLiveComplete – Upcoming features

Watch video below to see upcoming AiLiveComplete new features such as:

  • Retrieve Device information feature
    • Easily retrieve device information such as:
      • IMEI,
      • API Level
      • Even phone number!
    • Copy / Paste feature
      • Easily copy a text into clipboard
      • Easily paste data from clipboard
    • Image EXIF data feature

Interested in Ai2LiveComplete? Please check features and link to demo site  HERE.  Alternatively, if you have problem accessing the doc, you can check document, HERE

Leave a comment

Posted by on January 17, 2016 in Uncategorized


Reading Google FusionTable or Spreadsheet data into List

Google provides FusionTables and Spreadsheets web applications for maintaining tabular data. These Google applications allow users to create, update and modify data and share them with other users. Google also offers API for accessing these data using a subset of SQL statements sent over HTTP requests.

In this blog, I’ll show you to use App Inventor to issue SQL statements for accessing this data and how to convert data so that it can properly be displayed into such components as ListPicker or ListView.

Below are examples of Spreadsheet and FusionTable data that will be used for this blog.



Creating, providing sharing and getting the tableid or the key is beyond the scope of this post. However, if there are enough interest/comments, I will provide another post detailing the process.

As shown in figure below, our design will include 2 buttons to query Google Spreadsheet and FustionTable. We’ll use a Web component to send HTTP requests and receive results. We’ll use a label to display raw results and a ListView to display formatted list result.




Figure below shows the logic that is used to send query to FusionTable or Spreadsheet. It also shows the implementation that is used to convert the response from CSV Table to List. As seen in figure below, we are using URL endpoints to invoke RESTful API. The URL takes parameters such as table name, output format, SQL statement. Once the HTTP request is sent, a response will be sent back which will trigger Web GotText event handler. Please note that blocks below do not include any type of validations and in production, validation is required to ensure that response code of 200 is received back.



The responseConent that is received back is in form of CSV table like below (R = row, C = column):

  • “R1C1″,”R1C2″,”R1C3”
  • “R2C1″,”R2C2″,”R2C3”
  • “R3C1″,”R3C2″,”R3C3”

We use “list from csv table” to convert responseContent to a list of list as shown below; keep in mind that parenthesis represent list:

((R1C1 R1C2 R1C3) (R2C1 R2C2 R2C3) (R3C1 R3C2 R3C3))

Data is now converted to list of lists and we now can set elements of our ListView to this list using ListView.Elements. However, since we are dealing with lists of lists, the elements in the ListView will include the inner list parenthesis and will look like below:

  • (R1C1 R1C2 R1C3)
  • (R2C1 R2C2 R2C3)
  • (R3C1 R3C2 R3C3)

In order to remove the start and end parenthesis, I now use a procedure called stripParens that will loop through each list, strip the parenthesis and return result as a list:


Below shows the result querying the Google Spreadsheet



Download source HERE

Interested in Ai2LiveComplete? Please check features and link to demo site  HERE.  Alternatively, if you have problem accessing the doc, you can check document, HERE

1 Comment

Posted by on December 14, 2015 in Uncategorized


How to add Floating Buttons


Adding Floating Buttons
Made Ridiculously Simple!


Interested in full version of AiLiveComplete? Follow link HERE or HERE

1 Comment

Posted by on November 27, 2015 in Uncategorized


HowTo Record your Android screen

If you are interested to record your device screen to show how your app works (like THIS one), use following steps:

  • Install Android SDK
  • Use USB cable to connect your computer to device
  • Once installed, open up a DOS command window and cd to platform-tools
  • Next enter: adb shell
  • Once in shell, then enter: screenrecord /sdcard/demo.mp4    — this will start the recording and place the .mp4 on the root folder of your phone
  • When done with recording, just Control-C to end it
  • Make sure you delete the file because the recording could take huge space. Use Windows Explorer to browse to device file location

NOTE: If you don’t want to install the full SDK AND you are running on Windows OS, then you can download adb from here

Interested in Ai2LiveComplete? Please check features and link to demo site  HERE.  Alternatively, if you have problem accessing the doc, you can check document, HERE

Leave a comment

Posted by on November 22, 2015 in Uncategorized


Social NavCam – Speed Camera Alerting app

Hello everyone,

I have developed an app which is a social GPS system that includes such features as alerting for speed cameras and sharing location information and providing turn-by-turn navigations.

The app is called “Social NavCam” and can be found HERE.

Please check it out and if you like, provide comments here or hopefully good review rating in the play store.



1 Comment

Posted by on November 9, 2015 in Uncategorized


Release – Offline version of MIT AI2 – Sept 07, 2015

Offline version of MIT AI2 was just released and can be found HERE

This is the replica version of MIT App Inventor. However, it can be run offline.

This release is based on MIT latest version on September 7th, 2015.

Mobile App Development

1 Comment

Posted by on September 11, 2015 in Uncategorized


Tips&Tricks – If-Then-Else condition Part II

In my blog post HERE, I showed how you can use data structures along with App Inventor procedure to loop through a set of conditions to check if a user entered value falls within a data-range. The approaches that were discussed will drastically reduce the number if if-then-else statements and will also make maintenance much simpler.

Part II will show you how to check for single values rather than a range of values.

For example, consider the situation where you need to bring-up different web-pages based on user response. For this, the simple approach, as shown below, would be to include a set of if-then-else blocks:


Above approach would require additional “else-if” blocks for adding in more criteria. An alternative to above, would be to use LIST along with PROCEDURE block as shown-below:


Now consider situation where you have to add in more criteria; e.g. provider4, provider5, and so on. Using above approach, you’ll only have to update comparisonCriteria block and there will be no change in any other blocks.

Other approaches includes using two synchronized lists, reading data from file using File component, downloading initial set of data from cloud and so on.


Leave a comment

Posted by on July 24, 2015 in Uncategorized


Get every new post delivered to your Inbox.

Join 447 other followers

%d bloggers like this: