Getting Started with Android

ImageAndroid is an Operating System and application suite for mobile devices. It is being developed by the Open Alliance Project, with Google being a major partner so its is developing a lot of interest. The $10 million in prizes they are offering for the best Android applications may also have something to do with it.

I decided to give it a go. Installing it and getting a simple application running on the emulator was a breeze. The installation instructions on the Android site were relatively straightforward, and the videos helped getting the application to work.

Palm Programming

OnboardC is a complete C programming environment for your Palm. The source editor, resource editor and compiler all run on your Palm so you can develop on the move.

Handheld Basic++ (HB++) is a very nicely designed visual basic development environment.

The Palm Programmers Cookbook describes the basics of programming for Palm and contains examples for creating various user interface objects like forms, buttons, menus, and tables.

The Palm Alternatives to C page describes options for different languages that can be used for programming the Palm. It also benchmarks the resulting code. OnboardC is in a respectable 5th place beind CodeWarrior, HB++, PP and High Speed Pascal.

The Palm OS Development FAQ Wiki is still a bit sparse but with help it could turn into a very useful repository of development information.

The Palm OS API Reference describes in detail every function built into the Palm.

Mathlib
To use trigonometry functions like sqrt(), sin(0 and cos() in your C programs you will need a library called Mathlib. Use the following steps to use it with OnboardC

  • Download the Mathlib.src.zip file.
  • Uncompress the file and take a look at the documentation.
  • Install MathLib.prc on your handheld.
  • You’ll also need to get the source files MathLib.c and MathLib.h on to you Palm. Use a DOC file converter such as DocReader or PigyDoc to create a PRC file for each of the source files and install these on you Palm.
  • Delete the line #include from the top of MathLib.c
  • Add #include "MathLib.h" to the start of your application source file.
  • Add the following code to your startApp() function

    static void startApp(){
    Err error;

    error=SysLibFind(MathLibName,&MathLibRef);
    if (error)
    error=SysLibLoad(LibType,MathLibCreator,&MathLibRef);
    if (error) FrmCustomAlert(DebugAlert,"Can't find MathLib.","","");
    error=MathLibOpen(MathLibRef,MathLibVersion);
    if (error) FrmCustomAlert(DebugAlert,"Can't open MathLib.","","");
    return;
    }

  • Add the following to your stopApp() function

    static void stopApp() {
    Err error;
    UInt16 usecount;

    error=MathLibClose(MathLibRef,&usecount);
    if (error) FrmCustomAlert(DebugAlert,"Can't close MathLib.","","");
    if (usecount==0) SysLibRemove(MathLibRef);
    return;
    }

Forums
1src has a lot of useful forums related to programming on various handheld devices including the Clie
PalmOpenSource may also have some useful information

Software Development Tools

Some interesting new development tools and platforms are available these days.
Microsoft is providing beta versions of its Visual Studio 2005
Mono is an open source IDE for developing .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. from http://www.mono-project.com/

Grasshopper is a Visual Studio .NET plug-in which enables you to use C# or Visual Basic .NET to develop, debug and deploy Web applications and Web services that run on Windows, Linux and any Java-enabled platform. The Developer version is available free from http://dev.mainsoft.com/Default.aspx?tabid=130

Open IE from Access

From http://www.databasejournal.com/features/msaccess/article.php/10895_3505836_2Public

[sourcecode language=’vb’] Public Function UpdateOrderInfoWebSite() As Long
On Error Resume Next
Dim objDoc As SHDocVw.InternetExplorer
Dim sURL As String
Dim lOrderID As Long
lOrderID = Forms!frmOrder!txtOrderID

Const cURL As String =”http://localhost/Orders/Process.asp”
sURL = cURL & “?ID=” & lOrderID
sURL = sURL & “&SDate =” & Forms!frmOrder!txtStatusDate
sURL = sURL & “&SID =” & Forms!frmOrder!cboStatusID
sURL = sURL & “&PONum =” & Forms!frmOrder!txtPONumber
sURL = sURL & “&CID =” & Forms!frmOrder!cboCustomerID

Set objDoc = New SHDocVw.InternetExplorer
objDoc.Navigate sURL, , , True

‘ Need something to pause execution while URL is hit.
Dim i As Integer, j As Integer
For i = 0 To 1000
j = DCount(“*”, “MsysObjects”)
Next

UpdateOrderInfoWebSite = Err.Number

End Function
[/sourcecode]

Notice that objDoc was declared as type SHDocVw.InternetExplorer? This declaration will fail to compile unless you set a reference to the Microsoft Internet Controls. Open any code module and select References from the Tools menu. Scroll down the list until you find the Internet Controls reference and select it.