Sunday, 2 September 2012

Setup Android on Eclipse

Setup Android on Eclipse


This tutorial is intended for newbies developers that want to start developing Android applications using Eclipse IDE. To start, One most install Java SDK (JDK) (am using jdk 6) and then install the Eclipse, Android SDK and the Android Development Tool (ADT) plugin for Eclipse. Setting up android is quite easy steps to follow 

Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Android offers custom plugin for Eclipse IDE, called Android Development Tools (ADT), that is designed to give you a powerful, integrated environment for building Android applications as at this time of blogging the latest is v19.

Download and Install JDK
Download and install the latest JDK (JDK 1.6 or a later version) from JDK download page
 
Download and Install Eclipse IDE
Download and install Eclipse (Juno) from Eclipse download page. You can also use the Java or RCP version of Eclipse.
 
Download and Install Android SDK Starter Package
You should know that there are two method of getting the starter pack on your computer system.
 
  • By downloading the zip file
  • The other is using the windowS installer
 
 

Page to download Android SDK

Dont be alarm though, as there is no visible differences in both,as both have to create an android sdk folder at a specified directory, which pretty much contain same content. that said,

The Android SDK starter package includes the latest version of the SDK Tools. Included in that component are some tools, called Android SDK and AVD Manager that you can use to download other components from the SDK repository site.
  • Unpack the archive to a suitable location on your machine,if you are using the zip file download . By default, the SDK files are unpacked into a directory named android-sdk-<machine-platform> . For example, on Windows platform the directory will be android-sdk-windows.




  • Android SDK installation directory
Adding Android Platforms to Your SDK
To add one or more Android platforms (for example, Android 1.6 or Android 2.1) to your SDK, use the Android SDK and AVD Manager, included in the SDK starter package. It is recommended to download multiple platforms, so that you can build your application on the lowest version you want to support, but test against higher versions that you intend the application to run on.
  • Launch the Android SDK and AVD Manager on Windows by executing SDK Manager.exe at the root of the SDK directory.
  • On Available Packages menu, select the platforms to download (1.1 to 2.1).
  •  
  • Click Install Selected and then select Accept All to accept selected packages.
  • Click Install Accepted button to start download and install the selected packages.








  •  
Download and Install ADT Plugin
To install the ADT Plugin, you can take advantage of the Eclipse remote update feature. By setting up a remote update site, you can easily download, install, and check for ADT updates. Alternatively, you can download the latest ADT to your development computer as a local site archive.
  • Launch Eclipse, then select Help –> Install New Software.
  • In Available Software dialog, click Add
  • Enter a name for the remote site (ex: Android Plugin) in the Name field and in the Location field, enter this URL:
    https://dl-ssl.google.com/android/eclipse/
    and then click OK. If you have trouble acquiring the plugin, you can try using ‘http’ instead of ’https’ in the URL.
  •  

     
  • Select the checkbox next to Developer Tools, which will automatically select the nested tools Android DDMS and Android Development Tools and then click Next.


  • On the next dialog, click Next to read and accept the license agreement and install any dependencies, then click Finish.
  • Restart Eclipse
  • To check whether the ADT has been installed correctly, try to create a new project by select File > New > Project, you shoud find Android Project listed on project wizard.
Update 2012:
July 2012, Android team has released Android 4.1 (Jelly Bean) software development kit (SDK) has been released in full to developers, which is based on the Linux kernel 3.1.10, it is an incremental update with an aim of improving the user interface both in performance and funtionality. 

Thursday, 16 August 2012

Getting distance of coordinates using java

Getting distance of coordinates 



Yesterday came across way of calculating the distance between coordinates(latitude & longitude) and as usual the application is to be written in java, so after my search i got this snippet i would like to share below which can be used as desired. 
public static double distFrom2(double p_dbllatitude1, double p_dbllongitude1, double p_dbllatitude2, double p_dbllongitude2) { double radianLat1 = p_dbllatitude1 * Math.PI / 180 ; double radianLat2 = p_dbllatitude2 * Math.PI / 180 ; double radiandiff1 = radianLat1 - radianLat2 ; double radiandiff2 = p_dbllongitude1 * Math.PI / 180 - p_dbllongitude2 * Math.PI / 180 ; double s = 2 * Math.asin ( Math.sqrt ( Math.pow ( Math.sin ( radiandiff1 / 2 ) , 2 ) + Math.cos (radianLat1) * Math.cos (radianLat2) * Math.pow (Math.sin (radiandiff2 / 2 ),2))); s = s * 6378137.0 ; s = Math.round ( s * 100000 ) / 100000 ; return s ; }

the result is in meters and to convert to kilometers just divide by 1000. that all for now.a programmer's dairy..  

Sunday, 29 July 2012

Simple Black Berry Push Service implementation

Simple Black Berry Push Service (initiator) implementation

I guess one way or the other we most have heard about push notification. which now exist in most mobile OS out there, such as the Black berry, the Android, Iphone and Windows phone mobile. This blogging is about the Black berry server side push notification.
Below is the architectural design of the black berry push notification 

The Architecture Framework
and for more understanding and detail behind the architecture go here
Below is a sample simple server-side java push application to push messages. RIM provide API to help simplify the development of push message to the RIM server


 public static void pushMsg()  
    {     
       IdGenerator l_idGenerator = new IdGeneratorImpl();  
         
       List<String> l_Lstaddresses = new ArrayList<String>();  
   
       l_Lstaddresses.add("<BB Pin>");     
     //l_Lstaddresses.add("push_all");//To push to all BB pin registered on your server.     
         
      
       PushMessageControl l_pushMessageControl = new PushMessageControl(l_idGenerator,APP_ID, l_Lstaddresses);  
         
       l_pushMessageControl.getPushId();  
         
        
         
       Content l_content = new TextContent("This is my push message Test pushid");        
   
       PapService l_papService = new PapServiceImpl();     
   
       PushSDKProperties properties = getProperties();     
   
       HttpClientImpl client = new HttpClientImpl();  
   
       client.setPushSDKProperties(properties);  
   
       l_papService.setHttpClient(client);  
   
       l_papService.setPushSDKProperties(properties);  
               
       try   
       {  
          PushResponse response = l_papService.push(APP_ID, password, APP_ID, l_pushMessageControl, l_content);  
            
          l_Strpushid = response.getPushId();           
            
          System.out.println("#PushId : " + l_Strpushid);  
            
          System.out.println(response.getResult());              
            
       }   
       catch (PushSDKException e)   
       {           
          e.printStackTrace();  
       }   
       catch (BadMessageException e)  
       {           
          e.printStackTrace();  
       }   
       catch (UnauthorizedException e)   
       {           
          e.printStackTrace();  
       }  


  }  
      
    private static PushSDKProperties getProperties()   
    {  
       PushSDKProperties p = new PushSDKPropertiesImpl();  
         
       p.setPpgAddress(targetURL);  
   
       p.setUsingPublicPush(true);  
   
       p.setHttpIsPersistent(false);  
   
       p.setHttpConnectionTimeout(60000);  
   
       p.setHttpReadTimeout(120000);  
   
       p.setUsingXmlParserDtdValidation(true);  
   
       return p;  
    }  



Monday, 25 June 2012

Using System.property in Weblogic

Using System.property in Weblogic


Recently there was a need for changing application server base on customer request, deployment of our Jboss base Ejb application was to be transfered to Weblogic. one of my thorn issues was that i had to find a solution to setting weblogic configuration path so that my application can request it from the application Server as will.
What needed to be done are as follow:
  • Locate this file 'startWebLogic.cmd' in <Weblogic>Middleware\user_projects\domains\base_domain\bin\
  • Then Open with notepad
  • Then locate or search for 'set JAVA_OPTIONS' then paste or type configuration you want weblogic to config for you
set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS% -DMY_CONFIG_PATH=C:\Config

then at your java code u can have something like the below.

String myConfig = System.getProperty("MY_CONFIG_PATH");
System.out.println(myConfig);

Output:
  C:\Config