Careers | Blog | Sitemap  
   
   
  Wanna try working with us?  
  email: info@hibiscustech.com  
     
 

Posts Tagged ‘blackberry development’

Top Outsourcing Countries For IT

Monday, May 7th, 2012

The global services market is highly dynamic environment and selecting the best outsourcing location for your operation can have a significant long-term impact. SourcingLine has compiled the most comprehensive online database of outsourcing country statistics to aid your decision making. Each country has been scored across dozens of key statistics which fall into three broad areas of Cost Competitiveness, Resources & Skills, and Business & Economic Environment.

India, ranked first in our survey, provides the best mix of factors, but it is not a leader across all dimensions. It is still a highly cost competitive location, but recent wage inflation has impacted its position relative to other countries. India also has a massive resource and skill base, but educational challenges are impacting the skills of graduates and the business & economic environment can prove taxing. Other leaders in the survey include numerous other countries from Asia, but also Latin America and Europe.

Overall ranksort icon Country Overall outsourcing index Cost competitveness index Resources & skills index Business & economic environment index
1 India 7.1 8.3 6 4.2
2 Indonesia 6.7 8.6 4.3 4.4
3 Estonia 6.6 7.5 5.2 6.9
4 Singapore 6.5 6.4 5.7 9.4
5 China 6.4 7 5.6 5.6
6 Bulgaria 6.4 8.8 2.9 5.2
7 Philippines 6.3 9 2.8 3.9
8 Thailand 5.9 8.2 2.3 5.9
9 Lithuania 5.9 7 3.9 6.5
10 Malaysia 5.8 7.9 2.2 6.9
11 Jordan 5.7 7.6 2.7 5.7
12 Chile 5.7 7.2 3 6.9
13 Egypt 5.7 9 0.9 4.3
14 Hungary 5.6 6.9 3.4 6.3
15 Czech Republic 5.6 6.9 3.2 6.5
16 Poland 5.6 6.8 3.6 5.5
17 Vietnam 5.4 7.4 2.5 4.5
18 Sri Lanka 5.4 8.3 1.2 4.3
19 Latvia 5.4 7 2.7 5.6
20 Argentina 5.4 7.5 2.5 4.4
21 Costa Rica 5.3 7.3 2.3 4.8
22 Mexico 5.3 6.9 2.8 5.3
23 Romania 5.2 6.8 2.7 5.2
24 Russia 5.2 6.4 3.4 4.7
25 Jamaica 5.2 6.2 3.7 4.7
26 Ukraine 5 6.3 3.2 3.8
27 Ghana 4.9 7.5 0.9 4.3
28 Israel 4.7 3.8 5.5 7
29 South Africa 4.6 6.9 0.6 6.3
30 Kenya 4.5 6.7 1.3 3.6
31 Canada 4.4 2.5 6.3 8.3
32 Panama 4.4 5.8 1.9 5.6
33 Senegal 4.3 7.1 0.2 3.3
34 Pakistan 4.2 6.6 0.8 3.1
35 United States 4.2 1.7 6.9 8.3
36 United Arab Emirates 4 2.8 4.7 7.9
37 Tunisia 3.9 4.7 1.9 6.3
38 Brazil 3.6 4.3 2.4 4.1

BlackBerry App Development - Overriding of Menu button

Wednesday, February 15th, 2012

By using this piece of code you can override the blackberry default menu. What you all need to get is the ID of a particular item in the code. The code given below is to override the close button (in this case id is 9). On click of close you can perform your own task.

====================================================================

protected void onMenuDismissed(Menu menu) {

super.onMenuDismissed(menu);

if (menu.getSelectedItem().getId() == 9) {

//TODO Something

//System.exit(0);

}

}

BlackBerry Application Development - Geo Coding

Wednesday, February 15th, 2012

By using Locator class one can get the location information of a given latitude and longitude. But for OS 7 if one uses locator class, it will give an exception. So in that case, one can use Google APIs to get the location address. The code given below is all about how to use the Google APIs to get complete address details of a given latitude and longitude.

===================================================================

public class Geocoder {

private static String networkString = “”;

private double[] coord = new double[2];

private String name = “”;

public double[] getAddressCordinate(String name) {

name = Split(name);

String url = “http://maps.googleapis.com/maps/api/geocode/xml?address=”

+ name + “&sensor=true”;

try {

if (getnetworkString()) {

HttpConnection connection = (HttpConnection) Connector.open(url

+ networkString);

connection.setRequestMethod(HttpConnection.GET);

InputStream istream = connection.openInputStream();

SAXParserFactory spf = SAXParserFactory.newInstance();

SAXParser sp = spf.newSAXParser();

sp.parse(istream, new LocationParser(this, false));

istream.close();

connection.close();

}

} catch (Exception e) {

}

return coord;

}

private String Split(String name) {

String newName = “”;

for (int i = 0; i < name.length(); i++) {

if (name.charAt(i) == ‘ ‘)

newName += “%20″;

else

newName += name.charAt(i);

}

return newName;

}

private boolean getnetworkString() {

if (DeviceInfo.isSimulator()) {

networkString = “;deviceside=true;ConnectionTimeout=20000″;

return true;

}

else if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {

networkString = “;interface=wifi”;

return true;

}

else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_DIRECT) == CoverageInfo.COVERAGE_DIRECT) {

String carrierUid = getCarrierBIBSUid();

if (carrierUid == null) {

networkString = “;deviceside=true”;

return true;

} else {

networkString = “;deviceside=false;connectionUID=” + carrierUid

+ “;ConnectionType=mds-public”;

return true;

}

}

else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS) {

networkString = “;deviceside=false”;

return true;

}

else if (CoverageInfo.getCoverageStatus() == CoverageInfo.COVERAGE_NONE) {

return false;

}

else {

networkString = “;deviceside=true”;

return true;

}

}

private String getCarrierBIBSUid() {

ServiceRecord[] records = ServiceBook.getSB().getRecords();

int currentRecord;

for (currentRecord = 0; currentRecord < records.length; currentRecord++) {

if (records[currentRecord].getCid().toLowerCase().equals(“ippp”)) {

if (records[currentRecord].getName().toLowerCase()

.indexOf(“bibs”) >= 0) {

return records[currentRecord].getUid();

}

}

}

return null;

}

public void upDateLocation(double latitude, double longitude) {

coord[0] = latitude;

coord[1] = longitude;

}

public String reverseGeocode(double lat, double lng) {

String url = “http://maps.google.com/maps/api/geocode/xml?sensor=false&latlng=”

+ lat + “,” + lng;

try {

if (getnetworkString()) {

HttpConnection connection = (HttpConnection) Connector.open(url

+ networkString);

connection.setRequestMethod(HttpConnection.GET);

InputStream istream = connection.openInputStream();

SAXParserFactory spf = SAXParserFactory.newInstance();

SAXParser sp = spf.newSAXParser();

sp.parse(istream, new LocationParser(this, true));

istream.close();

connection.close();

}

} catch (Exception e) {

}

return name;

}

public void setName(String name) {

this.name = name;

}

}

public class LocationParser extends DefaultHandler {

private boolean getName = false;

private boolean lat = false;

private boolean longi = false;

private double latitude = 0;

private double longitude = 0;

Geocoder geocoder;

private String address = “”;

private boolean addressfound = false;

public LocationParser(Geocoder geocoder, boolean getName) {

this.getName = getName;

this.geocoder = geocoder;

}

public void startDocument() throws SAXException {

super.startDocument();

}

public void startElement(String uri, String localName, String qName,

Attributes attributes) throws SAXException {

super.startElement(uri, localName, qName, attributes);

if (localName.equals(“lat”))

lat = true;

if (localName.equals(“lng”))

longi = true;

if (localName.equals(“formatted_address”))

addressfound = true;

}

public void characters(char[] ch, int start, int length)

throws SAXException {

super.characters(ch, start, length);

if (lat) {

lat = false;

latitude = Double.parseDouble(new String(ch, start, length));

}

if (longi) {

longi = false;

longitude = Double.parseDouble(new String(ch, start, length));

}

if (addressfound) {

if (address.equals(“”))

address = new String(ch, start, length);

addressfound = false;

}

}

public void endElement(String uri, String localName, String qName)

throws SAXException {

super.endElement(uri, localName, qName);

}

public void endDocument() throws SAXException {

super.endDocument();

if (getName == false)

geocoder.upDateLocation(latitude, longitude);

else

geocoder.setName(address);

}

}


  Home | About Us | Products | Portfolio | Work with us | Careers | Blog | Sitemap