Skip to main content

Posts

Cordova: Android Log Viewer

This particular blog is devoted to the Android Log Viewer . It is a very useful tool when you are working with Cordova/Phonegap via command-line interface (CLI).  When a developers like you are working on CLI which is recommended by even Cordova team then the most important thing that you are going to face is that how to debug an application. Now you have an option to use eclipse, but then question arise that why the hell you are using CLI.  So the easiest choice would be to use a separate log viewer like this. Of course, the CLI would be very light weight and could work on less powerful machine as well. If you have bought a machine few years back then it might not handle currently available processing intensive applications very well. Thus the only choice left was to use CLI. But you will feel the power and beauty of this once you'll get used to it.  

Streamlining the mobile-app development process in the large team scenario

Every time a file gets added to the project, it adds-up an extra latency in the file loading. So minimizing the number of files in the release-build would definitely enhance the performance of the app. Considering this fact, we should have only one stylesheet containing all the styles related to the app. Though putting everything (style class) in single file would definitely have the following effects Pros: It would make it  compact,  easy to load,  one-time loading  Cons: It would make it  lengthy for manual readability; Thus we need to make it modular, that means, a separate stylesheet need to be made for each module; which is easy to modify & debug for developers. Each stylesheet should follow the standard guidelines like adding a module-name prior to the style class name,  avoiding id based style class, etc. To enforce the developers to follow the standard guidelines, we can also use a css generator system. Where developers...

JS: Minimalist Templator

This is an evolved version of the previous CTemplator classes that you can refer at Templator , Advanced Templator . Basically in this, the rarely used methods have been chopped-off and the tagging method with '@' has been deprecated because it is limited to only 10 items array. You can say, it's a loop hole earlier due to which if array items exceeds this limit then while replacing the tag initial tags overwrites the exceeded tags. So this new version came into picture; that have only 2 methods where 'fitIn' uses serial-number or index value while the other one 'fixIn' uses key value of the hash-map array. /* @file CTemplator.js @author Abhishek Kumar @email akbittu@gmail.com */ window.CTemplator = { fitIn: function (template, arglist) { var tag, output = template; for (var i = 0, len = arglist.length; i

How to configure Android Developer Tools for Cordova/Phonegap use?

If you are reading this blog then you might be be searching for an IDE (Integrated Development Environment) to develop Cordova or Phonegap applications on Android platform. So you have come at the right place. So, how do we acheive that? Well, you need to follow these steps: Download latest ADT from this link:  Get the Android SDK Install it of your development machine Open it up In menu bar go to the Help → Install New Software... A popup window appears, in which you need to click the Add... button A small sub-popup form appears, that you need to fill as: Name : WTP  Location : http://download.eclipse.org/webtools/repository/juno/ Click on the Ok button after filling up the form After closing the sub-popup form, a list appears in the table, where user is suppose to check the items that they need to install. To configure it for Cordova you would require editor for HTML, JS, CSS, XML, so first select the Web Tools Plaform (WTP) 3.4.2   Now check these it...

JS: Advanced Templator

Here is the advanced version of template manipulating class CTemplator in javascript. The basic version can replace just one key-tag in the provided template per item in hastable. While this advanced class having the method CTemplator.fitIn4() can update any occurrence of the key-tags in the provided template and replaces them with the related item in the hashtable. That means, say a template have multiple tag of name then all of them will get replaced by single item in the hashtable. /* @file CTemplator.js @author Abhishek Kumar @email akbittu@gmail.com */ var CTemplator = { fitIn1: function (template, hashtable) { var key, tag, output = template; for (key in hashtable) { tag = "[" + key + "]"; output = output.replace(tag, hashtable[key]); } return output; }, fitIn2: function (template, arglist) { var output = template; for (var i = 0; i < arglist.length; i++) { ...

JS: Javascript Class/File Dependency Handler

Here is the dependency class based on singleton design pattern in javascript. This class can handle all the javascript file dependencies from inside the script. That means you don't need to include the file in the script tag under html head. In fact, you can use it just like import/include/require statements in other language. It's usage is very simple. You just have to declare the class object which would be global since it is a singleton class, then call the import method to include the javascript file on which current file or method is dependent; then listen for the success event on which you can use that imported class/file method as specified. /* @file CDependency.js @author Abhishek Kumar @email abhishek.kumar@intigate.com */ function CDependency() { if (arguments.callee._singletonInstance) { return arguments.callee._singletonInstance; } arguments.callee._singletonInstance = this; var list = []; // jquery based method var jqloa...

JS: Phonegap/Cordova integration with JqueryMobile

Here is the standard way of loading and detecting Cordova & JqueryMobile framework. /* @author Abhishek Kumar @email akbittu@gmail.com */ var app = { deviceReadyDeferred, jqmReadyDeferred, initialize: function() { this.deviceReadyDeferred = $.Deferred(); this.jqmReadyDeferred = $.Deferred(); this.bindEvents(); }, bindEvents: function() { document.addEventListener('deviceready', this.onDeviceReady, false); $(document).one("mobileinit", this.onJQMReady); $.when(this.deviceReadyDeferred, this.jqmReadyDeferred).then(this.onCompleteReady); }, onDeviceReady: function() { app.deviceReadyDeferred.resolve(); }, onJQMReady: function() { app.jqmReadyDeferred.resolve(); }, onCompleteReady: function() { main(); } };