Monday 17 June 2013

Blackberry: Custom Popup Screen[Forgot Password Example]

Here I am providing one example that shows how we customize our Popup Screen. We can use this like a popup Screen or Dialog Screen. 
Below link is the Example for the Custom Popup Screen and I am showing an example of Forgot Password. 

In this you will get again two custom classes. Like, PictureBackgroundButtonField and CustomTextField where we can use images directly to the buttons and text fields. 
It will look like the below image:

Lets try this one. 
Feel free to ask questions.





Tuesday 11 June 2013

Blackberry: Post Data Using JSON Object

We can post the data by the JSON format. 
For this first,
1. We have to take all the keys and values in One Hash table or Array of Hash tables(Vector)
2. Convert it into JSON object.
3. Send to server.
packagecom.alishaik.thread;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.util.Hashtable;
importjavax.microedition.io.Connector;
importjavax.microedition.io.HttpConnection;
importnet.rim.blackberry.api.browser.URLEncodedPostData;
importnet.rim.device.api.io.http.HttpProtocolConstants;
importnet.rim.device.api.ui.Screen;
importnet.rim.device.api.ui.UiApplication;
importcom.hiddenbrains.ddft.common.CommonMethods;
importcom.hiddenbrains.ddft.common.MessageScreen;
importcom.hiddenbrains.ddft.common.Utility;
importcom.hiddenbrains.ddft.json.JSONObject;
public class PostDataThread extendsThread
{
    privateHttpConnection httpConnection;
    privateInputStream inputStream;
    privateStringBuffer stringBuffer=newStringBuffer();
    privateHashtable hashTable;
    privateString URL="";
    privateintindex=0;
     
      
    public PostDataThread(String url, Hashtable hash,intindex) 
    {
//      System.out.println("=========WEB SERVICE===========: "+url);        
        URL=Utility.escapeHTML(url)+CommonMethods.updateConnectionSuffix();//interface=wifi; or deviceside=false;
        this.index=index;
        this.hashTable=hash;//Here I am taking one Hashtable. You can manage according to your requirement.
    }
     
    publicvoidrun() 
    {
        try
        {
            httpConnection=(HttpConnection)Connector.open(URL);
            httpConnection.setRequestMethod(HttpConnection.POST);
             
            URLEncodedPostData oPostData =newURLEncodedPostData(URLEncodedPostData.DEFAULT_CHARSET, false);
            oPostData.setData(provideJSONObject());//IMPORTANT
             
            byte[] postBytes = oPostData.getBytes();
            httpConnection.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_TYPE,"application / requestJson");
            httpConnection.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH, Integer.toString(postBytes.length));
            
            OutputStream strmOut = httpConnection.openOutputStream();
            strmOut.write(postBytes);
            strmOut.flush();
            strmOut.close();
             
            intresponse=httpConnection.getResponseCode();
            if(response==HttpConnection.HTTP_OK)
            {
                inputStream = httpConnection.openInputStream();
                intc;
                while((c=inputStream.read())!=-1)
                {
                    stringBuffer.append((char)c);
                }                   
                parseData(stringBuffer.toString());             
            }
            else
                parserInterface.didFailParser("Connection failure HTTP Response: "+response);
        }
        catch(finalException e) 
        {
            String msg=e.getMessage();
            if(msg==null)
                msg="No Data Found";
            //Show failure alert here
        }
        finally
        {
            try
            {
                if(httpConnection!=null)
                    httpConnection.close();
                if(inputStream!=null)
                    inputStream.close();
            
            catch(Exception e2) 
            {}          
        }
    }
     
    private String provideJSONObject()
    {
        try
        {
            JSONObject jsonObj=newJSONObject();
            jsonObj.put("data", hashTable);//Getting correct data; You can check here
//          System.out.println("======================JSON STRING FOR POSTING: "+jsonObj.toString());
            returnjsonObj.toString();
        
        catch(Exception e) 
        {
            returnnull;
        }
    }
     
    private void parseData(String responseString) 
    {
        responseString="["+responseString+"]";
        System.out.println("======================\n\n"+responseString+"\n\n===================");
        //Do what you want.        
    }
}
and the method for Utility.escapeHTML(url) is:

public static String escapeHTML(String s)
{
               StringBuffer sb = new StringBuffer();
               int n = s.length();
               for (int i = 0; i < n; i++) {
                     char c = s.charAt(i);
                      switch (c) {
                                           case ‘ ‘: sb.append(“%20″); break;
                                         default: sb.append(c); break;
                     }
             }
            return sb.toString();
}
You can get this class by this below link:

Sunday 9 June 2013

Blackberry: Video Recording in Blackberry

For video recording first we have to check the memory available in Blackberry. According to that we have to go to the next step.
Download the zip file for the example for Video recording in Blackberry

Monday 3 June 2013

Create Route on Map in IOS 6


We can easily create Routes between two places.
Here we have 6 main methods:
-(void)addAnnotationsToMapView
-(NSArray*)getRoutePointFrom:(CLLocationCoordinate2D)origin to:(CLLocationCoordinate2D)destination
-(NSMutableArray *)decodePolyLine:(NSMutableString *)encodedString
-(void)drawRoute
-(void)centerMap
- (MKOverlayView*)mapView:(MKMapView*)theMapView viewForOverlay:(id <MKOverlay>)overlay

Take the code from below link:

Saturday 18 May 2013

Blackberry: QR-Code Reader for BB-5.0


Yes, we can read the QRCode in Blackberry 5.0 api applications. For this we have to follow some points from this link:
You can download the code from this below link:

Blackberry : Any Type of Barcode Generator


We can scan Any type of barcode using blackberry. You can download the code from here.
First see the BarcodeScanner in blackberry 6.0 sample codes.
Take the code from this link : 

Saturday 6 April 2013

INSTAGRAM IN IOS

Find the below GITHUB link to download the INSTAGRAM sample DEMO.

https://github.com/alishaik001/Instagram-IOS

Thanks.

Create CUSTOM MENU in Blackberry Example

Here CustomMenu is a class which we create any number of menu and according to the tag value

=================StartUp.java================

package com.alishaik.custommenu;

public class StartUp extends UiApplication
{
    public static void main(String[] ali)
    {
        StartUp theApp = new StartUp();      
        theApp.enterEventDispatcher();
    }
   
    public StartUp()
    {       
        pushScreen(new FirstScreen());
    }   
   
    public static void showAlertMessage(final String message)
    {
        UiApplication.getUiApplication().invokeLater(new Runnable()
        {
            public void run()
            {
                Dialog.alert(message);
            }
        });
    }
}
=================FirstScreen.java================

package com.alishaik.custommenu;

public class FirstScreen extends MainScreen implements MenuInterface
{
    private ButtonField clickButton;
    private CustomMenu firstMenu1,firstMenu2;
   
    public FirstScreen()
    {
        createGUI();
    }

    private void createGUI()
    {
        firstMenu1=new CustomMenu("First1", 100, 101, 1);
        firstMenu1.setMenuListener(this);
        addMenuItem(firstMenu1);
       
        firstMenu2=new CustomMenu("First2", 100, 101, 2);
        firstMenu2.setMenuListener(this);
        addMenuItem(firstMenu2);
       
       
        add(new LabelField("First Screen", Field.FOCUSABLE));
        //ButtonField.CONSUME_CLICK if you are not writing this every screen menu shows.
        clickButton=new ButtonField("Clik to go Next", Field.FOCUSABLE|ButtonField.CONSUME_CLICK);
        clickButton.setChangeListener(new FieldChangeListener()
        {
            public void fieldChanged(Field field, int context)
            {
                UiApplication.getUiApplication().pushScreen(new SecondScreen());
            }
        });
        add(clickButton);
    }
   
    public void onMenuPressed(String menuText, int tag)
    {
        StartUp.showAlertMessage("You Selected "+menuText);
        if(tag==1)
        {
            //FirstMenu1 Selected;
        }
        else
        {
            //FirstMenu2 Selected;
        }
    }   
   
    protected boolean onSavePrompt()
    {
        return true;
    }
}

=================SecondScreen.java================

package com.alishaik.custommenu;

public final class SecondScreen extends MainScreen implements MenuInterface
{
    private ButtonField clickButton;
    private CustomMenu secondMenu1,secondMenu2;
   
    public SecondScreen()
    {
        createGUI();
    }

    private void createGUI()
    {
        secondMenu1=new CustomMenu("Second1", 100, 101, 1);
        secondMenu1.setMenuListener(this);
        addMenuItem(secondMenu1);
       
        secondMenu2=new CustomMenu("Second2", 100, 101, 2);
        secondMenu2.setMenuListener(this);
        addMenuItem(secondMenu2);
       
        add(new LabelField("Second Screen", Field.FOCUSABLE));
        //ButtonField.CONSUME_CLICK if you are not writing this every screen menu shows.
        clickButton=new ButtonField("Back button", Field.FOCUSABLE|ButtonField.CONSUME_CLICK);       
        clickButton.setChangeListener(new FieldChangeListener()
        {
            public void fieldChanged(Field field, int context)
            {
                UiApplication.getUiApplication().popScreen(SecondScreen.this);
                return;   
            }
        });
        add(clickButton);
    }

    public void onMenuPressed(String menuText, int tag)
    {
        StartUp.showAlertMessage("You Selected "+menuText);
        if(tag==1)
        {
            //SecondMenu1 Selected;
        }
        else
        {
            //SecondMenu2 Selected;
        }
    }
   
    protected boolean onSavePrompt()
    {
        return true;
    }
}


=================MenuInterface.java================

package com.alishaik.custommenu;

public interface MenuInterface
{
    public void onMenuPressed(String menuText,int tag);
}


=================CustomMenu.java================

package com.alishaik.custommenu;

public class CustomMenu extends MenuItem
{
    private MenuInterface menuInterface;
    private String menuText;
    private int tag;
   
    public CustomMenu(String text, int ordinal, int priority, int tag)
    {
        super(text, ordinal, priority);
        this.menuText=text;
        this.tag=tag;
    }

    public void run()
    {
        menuInterface.onMenuPressed(menuText, tag);
    }
   
    public void setMenuListener(MenuInterface listener)
    {
        this.menuInterface=listener;
    }       
}
 

any doubts feel free to mail on alishaik001@gmail.com