Skip to main content


Showing posts from 2010

Google SpreadSheet Library for Android

You might have already tried using Google's GData Lib to access SpreadSheet from Android, and after few hours of try, you start Google for any alternate solution. I have also spent number of hours without any solution. So, I have developed SpreadSheet client Lib [ works on Android :-) ] and ideally work on any Java platform- Latest version: 2.1 (Added support for List Feed. Please visit above link to get more info.) Supported Features: 1. Create/Delete Spreadsheet 2. List all stored Spreadsheets 3. Add/Delete WorkSheet into/from a given SpreadSheet 4. List all Worksheets of a given Spreadsheet 5. Add Records into WorkSheet/SpreadSheet (It supports Table based record handling) 6. Retrieve Record from WorkSheet/SpreadSheet ( Structured Query support) 7. Retrieve Record as List Feed from Worksheet 8. Update/Delete Records 9. Share ShreadSheet with user/group/domain. 10. Conditional data retrieval-

Phone Away Widget

This Android widget will allow users to set their status and auto-response of phone calls. So, next time you are having dinner or doing anything much more interesting than attaining a call :-), you can use this widget to auto reply with an SMS message without disappointing or keep your caller guessing for your unanswered call. Supported Platform Android 2.1 and above. How to use ? 1. Download PhoneAwayWidget.apk and add the widget on your Home screen. By default it will set you status "Available", which means your phone will behave as it is. 2. When you don't want to attain call and set status message, click on the widget, which in turn will launch the preference screen. 3. So if you set your status, next time call comes, it will auto-response with SMS message. You can define the mximum number of SMS auto-response, e.g. Max SMS Count = 10 means, for first 10 calls it will send SMS and rest of the calls it will just disconnect. Please update me with your co

NoSuchMethodError in Android AIDL

Finally a good start of Monday :-). Resolved a weird problem of Android Framework which was disturbing me through out the weekend. One of my team mate (Sandeep) did exceptional R&D and helped me to come to this conclusion. [Problem] NoSuchMethodError exception while I was trying to access ISnsRequester.aidl of SNSProvider. In Android 2.2 (Froyo) some of the method definitions of ISnsRequester.aidl file has been changed. A new input argument targetSubID has been added to commentPost() and commentRetrieve() methods. But in our Android source code repository by mistake Telephony framework was still using older version of ISnsRequester.aidl (i.e. of Android 2.1). This was the main cause of this problem. For all framework classes/packages Android build system (when you try to make a binary) makes entry into Android\frameworks\base\api\ current.xml   In fact current.xml acts as Look up for any method or class reference. Thus definitio

Certificate Exception in Google Data API Authentication

You are running the Google Data API samples for the first time and got the following exception- : PKIX path building failed : unable to find valid certification path to requested target It’s definitely SSL certificate error, but it took me a while to figure out the actual cause and the resolution. So thought to share the finding. As we all do :-), I did Google and got this site helpful- it explains a generic solution to this problem. To resolve this Google Data API connection error, you need to import Google Server certificate into your JDK Keystore. Data API does authentication using following URL- To get the certificate, access from your browser (IE)

Android Remote Service

This tutorial is to demonstrate usage of AIDL Interface and interacting 2 Android applications through Service. You can get the complete example source code- RemoteService Example and RemoteService Calling Example   As we all know Android Service concept is good for tasks running in the background. Based on scope of accessibility services are of 2 types- Local and Remote . As the name indicates, Local Service can be accessed only within the process or application which it is part of. On the other hand, Remote Services can be accessed from different process/application and thus it posses inter-application communication use cases e.g. you are running one service to provide Geo Location for Cell ID. So, any application can read the Cell-ID and access your service to get Geo Co-ordinates.   As the usability increases so as the building blocks for creating Remote Service. The first challenge is to do inter-process communication so that one appli

Android Contacts DB Internal

Important Contact DB Tables: This article describes few of the important tables of Contact Application Database- raw_contacts , contacts and data . Following section will describe usage of few of the important columns of these tables- raw_contacts - stores entries for all contacts. So if you have 100 contacts, there will be 100 records in this table. For the purpose of data normalization and reduce data redundancy,  this table stores basic contacts details and foreign keys of other tables (e.g. contacts tables) which in turn stores particular contact details like count of links, whether contact has email id etc. Column Name Purpose Id unique ID for each Contact display_name Contact name (first and last name are clubbed together) display_name_reverse . This column is read when you set display order “reverse” instead of display_n