Tuesday, July 02, 2013

Course Schedule for Windows Phone 8 Courses - Jul to Sep 2013


Check out the course outline and details here. 

Thursday, June 27, 2013

Raspberry Pi Course Schedule - Aug to Sep 2013


Check out the course outline and details here. 

Course Schedule for Web Development Courses - Aug to Sep 2013


Check out the course outline and details here. 

Course Schedule for Xamarin Courses - Aug to Sep 2013


Check out the course outline and details here. 

Course Schedule for Android Courses - Aug to Sep 2013



Check out the course outline and details here. 


Course Schedule for iOS Courses - Aug to Sep 2013



Check out the course outline and details here. 

Monday, June 24, 2013

Next Xamarin Course - 14-16 Aug 2013 (Wed to Fri)

A big thank you to those who attended the first Xamarin course! And to those of you who asked about the next run, I am happy to announce that the next run is scheduled to run on the 14-16 Aug 2013 (Wed to Fri).

Please note that for this course, you have to bring along a Mac as testing your iOS apps requires a Mac.

For course outline, please click here.

Key Highlights of the Course
* Learn how to write iOS apps using C# and Xamarin.iOS

* Learn how to write Android apps using C# and Xamarin.Android
* Learn how to share common code modules with your iOS and Android apps

You do not need prior knowledge of iOS and Android programming. You just need to know C#!


Venue
Bayview Hotel
30 Bencoolen Street
Singapore 189621

Date
14-16 Aug 2013 (Wed to Fri)

Time
9am to 5pm

Fee
S$1,495 (nett; GST N.A.)

Monday, June 17, 2013

First Training Provider to Provide Xamarin Studio Training in Singapore


I am super excited to announce that Developer Learning Solutions is the first training provider to provide training on Xamarin Studio in Singapore. If you would like to learn how to create cross platform Android and iOS apps using C#, join us this Wednesday to Friday (19-21 June 2013) for the inaugural run of the course! Hope to see you there!

Saturday, June 15, 2013

Windows Phone 8 Courses Confirmed for July 2013

I am excited to announce that the following Windows Phone Programming courses are confirmed:

* Foundation of Windows Phone 8 Programming - 23-24 July 2013
* Advanced Windows Phone 8 Programming - 25-26 July 2013


Also, beginning this week, you will be able to see a series of Windows Phone 8 development tips and tricks to make your development journey much easier!

Saturday, June 01, 2013

Android Tip: Programmatically Displaying the Settings Page


Many a times, you need to programmatically redirect the user to the Settings page so that they can turn on certain features on the device before your application can work correctly For example, if your app uses Bluetooth and the Bluetooth radio is not turned on, you may want to programmatically display the Bluetooth settings page so that the user can turn it on.

Solution

To display the Settings page programmatically, you can use the startActivity() method together with an Intent object. The following shows some examples:

    //---display the main Settings page---
    startActivity(
        new Intent(Settings.ACTION_SETTINGS));
        
    //---display the Location access settings page---
    startActivity(new Intent(
        Settings.ACTION_LOCATION_SOURCE_SETTINGS));
                
    //---display the Wireless & networks settings page---
    startActivity(new Intent(
        Settings.ACTION_AIRPLANE_MODE_SETTINGS));
        
    //---display the Bluetooth settings page---
    startActivity(new Intent(
        Settings.ACTION_BLUETOOTH_SETTINGS));
        
        In general, you use the predefined constant Settings.ACTION__SETTINGS. The full list can be found here: http://developer.android.com/reference/android/provider/Settings.html

Thursday, May 30, 2013

Android Tip - Resolving Build Issues in ADT v22


For those of you who have recently upgraded to the latest version of the Eclipse ADT Plugin (v22), you will realise that some of your projects may be failing to build correctly, specifically those of you who use the Android Support Library. 

In ADT v22, the Android Support Library is now in the Android Private Libraries section:


The problem is that ADT v22 does not automatically include the libraries in the Android Private Libraries for compilation. And this will cause your project's failure to build correctly. 

To solve this, right-click on the project in Eclipse and select Properties. Select Java Build Path and click on the Order and Export tab. Check the Android Private Libraries and click OK. Clean your project and it should now work. 

Monday, May 20, 2013

Confirmed Courses in June and July 2013

I am happy to confirm the following courses! For the list of complete courses, please check out the link here.



S$997/pax



4-5 Jul
(Thu-Fri)








S$997/pax


24-25 Jun
(Mon-Tue)






S$599/pax


26 Jun
(Wed)








Thursday, May 16, 2013

Android Studio is the future of Android Development!

I am excited to announce a 1-day Preview of the newly announced Android Studio!

Android Studio is Google’s new IDE for creating Android applications. Based on the powerful and extensible IntelliJ IDEA Community Edition, Android Studio is designed specifically for Android development. With Android Studio, Android developers now have a dedicated tool that is designed from the ground up, providing you with simplified workflow and tools for designing world-class Android apps. Android Studio is now available for download as an early access preview. This is a good chance to learn about Android Studio and prepare for the future!

Download course outline and application form here.

Venue
Bayview Hotel
30 Bencoolen Street
Singapore 189621

Date
11 Jun 2013 (Tue)

Time
9am to 5pm

Fee
S$599

Friday, May 03, 2013

Android Tip - Displaying a PDF Document inside a WebView


One of the most requested features in Android is the ability to display a PDF document within a WebView. However, the WebView does not contain a PDF plugin that allow you to display a PDF document. One solution is to use an Intent object to launch a third-party app (such as Adobe Acrobat) which can handle the PDF document. However, this will transfer control over to the thrid-party app.

If you insists on displaying the PDF document within your own activity using a WebView, you can use the following trick. You can use Google Docs to open your PDF document and then load the URL of Google Docs using the WebView.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);
        WebView webView=new WebView(MainActivity.this);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setPluginState(PluginState.ON);

        //---you need this to prevent the webview from
        // launching another browser when a url
        // redirection occurs---
        webView.setWebViewClient(new Callback());
       
        String pdfURL = "http://dl.dropboxusercontent.com/u/37098169/Course%20Brochures/AND101.pdf";
        webView.loadUrl(
"http://docs.google.com/gview?embedded=true&url=" + pdfURL);

        setContentView(webView);
    }

    private class Callback extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(
                WebView view, String url) {
            return(false);
        }
    }

The loaded PDF document will look something like this:



Remember to add in the android.permission.INTERNET permission.

Come join me in the Android Post-Conference workshop on 31 May 2013 at DevTeach 2013, Toronto. 

Tuesday, April 30, 2013

Android Tip - Monitor a Location


Your application wants to monitor a particular location and when the device is near that location, you want to perform some actions. This is very useful if you are writing an application that reminds you when you are near to some places of interests.
 
One very cool feature of the LocationManager class is its ability to monitor a specific location. This is achieved using the addProximityAlert() method.

The following code snippet shows how to monitor a particular location so that if the user is within a five-meter radius of that location, your application will fire a PendingIntent object to launch the web browser:

import android.app.Activity;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Bundle;

public class MainActivity extends Activity {
    LocationManager lm;
    PendingIntent pendingIntent;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //---use the LocationManager class to obtain
        // locations data---
        lm = (LocationManager)
            getSystemService(Context.LOCATION_SERVICE);
    }

    @Override
    public void onResume() {
        super.onResume();
   
        //---PendingIntent to launch activity if the user
        // is within the proximity of some locations---
        pendingIntent = PendingIntent.getActivity(
            this, 0, new
            Intent(android.content.Intent.ACTION_VIEW,
                   Uri.parse("http://www.amazon.com")), 0);

        lm.addProximityAlert(37.422006, -122.084095,
                             5, -1, pendingIntent);
    }   

    @Override
    public void onDestroy() {
        super.onDestroy();
       
        lm.removeProximityAlert(pendingIntent);   
    }
   
}

The addProximityAlert() method takes five arguments: latitude, longitude, radius (in meters), expiration (time for the proximity alert to be valid, after which it will be deleted; -1 for no expiration), and the PendingIntent object.

Note that if the Android device’s screen goes to sleep, the proximity is also checked once every four minutes in order to preserve the battery life of the device. Also, your app would need the
android.permission.ACCESS_FINE_LOCATION permission.

Come Join Our Android Courses to Learn More!

17-18 June 2013

24-25 June 2013

26 June 2013