Author Archive

How to create a skinned button

Posted September 2nd, 2010 by Nazmul
Summary

Introduction
Some Android phone manufacturers replace the default themes, and styles, and drawable assets with what they think looks good and customized. Unfortunately, the side effect of this customization is that what works great in the emulator, and most phones simply does not work these devices. Eg, Motorola Droid 2 and X have a customized theme [...]

Click here to read this tutorial...   |  

Working with BlackBerry list fields

Posted October 13th, 2009 by Nazmul
Summary

This tutorial will show you how to create non-trivial lists using ListField. I will create a sample program that allows you to create, remove, update, delete the contents of a list (that’s backed by a Vector). The list field contains rows of selectable list items. It allows you to display a list of items, and load this list of objects from an array or vector. When using a ListField you have to provide an implementation of the ListFieldCallback interface to perform drawing tasks. This callback constitutes the view and model (using MVC terminology). The controller is the ListField class.

Click here to read this tutorial...   |  

Creating a BlackBerry HTTP Connection

Posted October 12th, 2009 by Nazmul
Summary

This tutorial will show you the various ways to create an HTTP networking connection from your BlackBerry device to an HTTP server (web service, servlet, etc). The complicated part about doing this on a BlackBerry is deciding which transport you would like to use, and which transport you can use.

Click here to read this tutorial...   |  

BlackBerry field borders and backgrounds

Posted October 12th, 2009 by Nazmul
Summary

This tutorial will show you how to create field (component) backgrounds and borders (decoration). Each field can have a border and a background property. You can use the border to space out fields in your UI, and you can use them to add whitespace. The background allows you to set the background color property of your field and make it fit the look for your app.

Click here to read this tutorial...   |  

Creating a BlackBerry custom field

Posted October 10th, 2009 by Nazmul
Summary

This tutorial will show you how to create a very simple custom field (component) using the RIM API. If you’re familiar with Swing, then this code will not be a surprise to you. There are some similarities between AWT/Swing and RIM UI API.

Click here to read this tutorial...   |  

Using the BlackBerry gauge field to display progress

Posted October 9th, 2009 by Nazmul
Summary

This tutorial will show you how the use the gauge field to show progress in your apps. This is useful when your app is performing long running tasks that need to report feedback to the user. The gauge field is a horizontal component that can be used to display status or progress. It displays a percentage from 0 to 100 and you can set a label before it to display any progress/status messages. You can even overlay the label inside of the gauge field, so that it won’t be displayed before it, but inside of it (on top of the progress bar that’s drawn).

Click here to read this tutorial...   |  

Asking for BlackBerry application permissions upfront

Posted October 9th, 2009 by Nazmul
Summary

This tutorial will show you how to ask a user (of your BlackBerry app) for permissions that are required in order for your app to function properly. There are many APIs in the RIM API that will cause a prompt to be displayed in the BlackBerry UI that will require a user to provide explicit permission to access certain API functionality or access to certain hardware features or data on the device. Instead of interrupting the UI, it’s possible to ask the user for all of these permissions at the very beginning. By the way, if the user does not grant permissions when this popup appears, then an exception will be thrown which you have to deal with.

Click here to read this tutorial...   |  

Working with BlackBerry screens

Posted October 5th, 2009 by Nazmul
Summary

In this tutorial, I will show you how to quickly manage screens using the RIM UI API. The BlackBerry OS maintains a stack of screens, and your app can be pushed and popped from this stack. These are normal screen display operations. You can even hide your screen from the display, and it will show the BlackBerry home screen. You can close the screen as well.

Click here to read this tutorial...   |  

Working with BlackBerry Layout Managers

Posted October 4th, 2009 by Nazmul
Summary

This tutorial will simply walk you through the various layout managers available to you using RIM’s UI API (not MIDP). RIM’s layout managers are akin to Swing layout managers, and allow you to arrange lots of fields (aka components in Swing), on the screen. You can create your own layout managers, just like in Swing, but this tutorial will show you how to use the built in ones. If none of the layout managers shown here work for you, then you can composite layout managers to get the desired look for your app, before creating your own.

Click here to read this tutorial...   |  

Creating your first GUI BlackBerry App

Posted September 24th, 2009 by Nazmul
Summary

This tutorial will simply walk you through creating your first GUI app using RIM’s UI API (not MIDP). Only a skeleton will be created, that you can later expand on to create your own projects.

Click here to read this tutorial...   |  

Twitter API integration

Posted August 4th, 2009 by Nazmul
Summary

I’ve been building web, mobile, desktop apps that are powered by the ScreamingToaster ONE Platform for the last 3 years. I’ve had to integrate with a lot of services, like weather, credit card payment processing gateways, GeoIP lookups, CellID lookups, etc. One of the easiest integrations I’ve had to perform is with Twitter :) . Twitter has a simple to use API that can be accessed using Java or just about any other language. There are some really good Java wrappers for this API, and I’m going to highlight a really good one in this tutorial. I’m also going to show you how to integrate with Twitpic using Java.

Click here to read this tutorial...   |  

Connecting to the LinkPoint staging server for payments integration

Posted August 4th, 2009 by Nazmul
Summary

I’ve build payments and licensing infrastructure for my ScreamingToaster ONE Platform, that allows mobile, web, and desktop software to share the same payments and licensing services. For payments, I integrated with FirstData Global Gateway, using the LinkPoint API. The LinkPoint API is good and FirstData provides lots of documentation that shows you how to get started. However, there is one huge flaw in their API and support docs – they don’t show you how to connect to the LinkPoint TEST gateway. All the code and examples are geared to connect to the PRODUCTION/LIVE gateway. If you’re like me, you want to test your stuff before hooking up to the LIVE gateway :) . So this tutorial is dedicated to simply connecting to their TEST gateway, so that you can test your code before going live.

Click here to read this tutorial...   |  

Using JSON for mobile object exchange

Posted March 6th, 2009 by Nazmul
Summary

I’ve been working with various object encoding schemes to get information transferred over the network between services and mobile apps running on Android and BlackBerry. On Android, I figured I would try using Java object serialization, and that works some of the time, and not for anything complex. I wish the object serialization and deserialization mechanism in GWT would be ported over to all these mobile environments, but I digress. This tutorial outlines the use of JSON for this purpose.

Click here to read this tutorial...   |  

Getting code signing keys from RIM, then using them

Posted November 20th, 2008 by Nazmul
Summary

If you use certain BlackBerry APIs, you have to get code signing keys and sign your .COD file with them, before you will be able to install and run these applications on a BlackBerry device. This tutorial will walk you through the process of getting the keys, and installing them to your JDE, and then deploying your application to a real device OTA (over the air).

Click here to read this tutorial...   |  

BlackBerry Development Tools – JDE (and IDEA)

Posted October 22nd, 2008 by Nazmul
Summary

There are different tools that you can use for BlackBerry development – Eclipse Plugin and JDE. In this tutorial I will show you how to use the JDE in conjunction with IDEA as the primary IDE for BlackBerry development. Directions are provided on how to install and configure the JDE, then get started with a Hello World project, then deploy the project to the simulator and run it. The JDE is an IDE that BlackBerry created, and it’s really really old. Modern IDEs like IDEA, Eclipse, and NetBeans really put it shame. It’s good to see that BlackBerry is working on an Eclipse based IDE, and hopefully the JDE will be retired soon. I couldn’t stand to use the JDE by itself, which is why I do all my editing, compiling, refactoring in IDEA, and just use JDE to build my COD file and run it in the simulator, and occasionally use the debugger in the JDE. It’s really old looking and clunky, and just a pain to work with, when compared to IDEA. You can use Eclipse or NetBeans instead of IDEA if that’s your preference.

Click here to read this tutorial...   |  

BlackBerry Development Tools – Eclipse Plugin (in beta)

Posted October 22nd, 2008 by Nazmul
Summary

There are different tools that you can use for BB development – Eclipse Plugin and JDE. In this tutorial I will show you how to use the Eclipse Plugin as your IDE for BlackBerry development. Directions are provided on how to install and configure the Eclipse Plugin, then get started with a Hello World project, then deploy the project to the simulator and run it.

Click here to read this tutorial...   |  

BlackBerry SDK and tools – Getting Started

Posted October 2nd, 2008 by Nazmul
Summary

This tutorial has helpful pointers for developers who are just getting started with Blackberry development. This includes information on tools, IDEs, tutorials, videos, etc.

Click here to read this tutorial...   |  

Android Application Provisioning Strategies

Posted August 11th, 2008 by Nazmul
Summary

There aren’t any good solutions out right now. App provisioning and management are left out of the M5 SDK, and we have to wait until a future release to see this in place. Once it’s in place, these other strategies outlined here may or may not be viable. However, if you can preload an APK file into a device, then the solutions outlined here might work for you.

Click here to read this tutorial...   |  

Android WebView (WebKit)

Posted August 11th, 2008 by Nazmul
Summary

This article shows you the limitations and capabilities of the WebView component. You will see how to download files from the network and use them in HTML, as well as assets loaded in the APK file.

Click here to read this tutorial...   |  

Android Service creation and consumption

Posted August 7th, 2008 by Nazmul
Summary

This tutorial will show you how to create a simple service, that does not use IPC (inter process communication). Services are great for running long running tasks and business logic, outside an Activity, which is tied to the user interface. For example, if you have a background task that has to download data periodically, then you should put that task in a Service. You can explicitly start a service and stop it as well. With IPC you can connect to a running service and call methods on it, however, in this example, I won’t be using any IPC; instead all data transfer will happen via a shared object and a listener.

Click here to read this tutorial...   |  

Android Animation Framework

Posted August 5th, 2008 by Nazmul
Summary

This tutorial is an introduction to the built in animation frameworks that are part of the Android UI library. Without writing any animation/drawing code, you can do 2 types of animations – layout transitions that affect ViewGroups, and sequences inside a View. You can also do frame by frame animation, but this tutorial will not cover that. The basics covered here affect layout transitions, and animation of a View itself, using tweening animation, which includes each of the following effects (or any combination) – Alpha, Rotate, Scale, and Translate.

Click here to read this tutorial...   |  

Android ListView and custom adapter

Posted August 4th, 2008 by Nazmul
Summary

This tutorial will show you how to use ListView to display selectable lists of non trivial data, using complex cell renderers. The ListView is a selectable list. You can attach a variety of data models to it and load different display layouts (cell renderers). You can create your own model and cell renderer. This model-view combo is called an Adapter. In this tutorial, I will show you how to extend create your own Adapter from scratch, and create your own cell renderers from scratch as well.

Click here to read this tutorial...   |  

Android LinearLayout

Posted August 4th, 2008 by Nazmul
Summary

This tutorial shows you how to use the LinearLayout container (using Java code, not XML markup), which is the simplest layout mechanism available on Android. If you’re familiar with Swing’s BoxLayout then you will have a good idea of what this container has to offer. Linear layouts are really simple… you can add components horizontally or vertically to a ‘bag’ or ‘box’.

Click here to read this tutorial...   |  

Android UI Themes

Posted July 31st, 2008 by Nazmul
Summary

This tutorial will show you how to use Android’s theme-ing capabilities. You can set background color, image, etc. on widgets, dialogs, and activities.

Click here to read this tutorial...   |  

Android TableLayout

Posted July 29th, 2008 by Nazmul
Summary

This tutorial will show you how to use the TableLayout container, which is like an HTML table. The UI layout code is done in Java, not XML. A class (LayoutUtils) is provided to make it easier to attach layout params to View objects.

Click here to read this tutorial...   |  

Android Option and Context menu

Posted July 16th, 2008 by Nazmul
Summary

This tutorial will show you how to create options menu (hooks into the MENU button) and context menu (press and hold a component).

Click here to read this tutorial...   |  

Android XML View inflation

Posted July 16th, 2008 by Nazmul
Summary

This tutorial will show you how to instantiate or inflate a View from XML; this is useful for components that don’t provide a Java API to tweak with certain style attributes. The Button class is used as an example; you can only get certain styles to show up via XML that aren’t available via the Java API.

Click here to read this tutorial...   |  

Android Activity and sub-Activity

Posted July 15th, 2008 by Nazmul
Summary

This tutorial will show you how to create a sub-Activity from a calling-Activity, and process the results produced by the sub-Activity, if you want to do so. Also, the various ways of launching a sub-Activity are covered, along with the Android Activity history stack. A subclass of Activity is also provided that makes it trivial to launch sub-Activities and respond to results from them.

Click here to read this tutorial...   |  

Android SDK and tools – Getting started

Posted July 15th, 2008 by Nazmul
Summary

This tutorial has helpful pointers for developers who are just getting started with Android. In addition to Google’s documentation on the SDK itself, there are lots of tools that come with the SDK and others that you can download elsewhere that make it a little bit easier to work with Android.

Click here to read this tutorial...   |  

How to build a service-enabled Android app – Part 3/3 Multithreading

Posted June 4th, 2008 by Nazmul
Summary

I’ve written 3 tutorials to show you how to create a service enabled Android application that performs all of it’s network I/O in a background thread (not the UI thread). These tutorials are split into three parts. This tutorial shows you how to use background threads to perform long running network IO operations, so that the main UI thread is not locked up.

Click here to read this tutorial...   |  

How to build a service-enabled Android App – Part 2/3 Networking

Posted June 4th, 2008 by Nazmul
Summary

I’ve written 3 tutorials to show you how to create a service enabled Android application that performs all of it’s network I/O in a background thread (not the UI thread). These tutorials are split into three parts. This one shows you how to use Apache HTTP Client to connect to services over HTTP or HTTPS and exchange serialized Java objects with services.

Click here to read this tutorial...   |  

How to build a service-enabled Android app – Part 1/3 UI

Posted June 4th, 2008 by Nazmul
Summary

I’ve written 3 tutorials to show you how to create a service enabled Android application that performs all of it’s network I/O in a background thread (not the UI thread). This tutorial shows you how to build a simple UI without using XML, by writing Java code to layout the UI.

Click here to read this tutorial...   |  

Task API (3 of 5) – Monitoring HTTP POST operations

Posted May 27th, 2008 by Nazmul
Summary

Using Task API to perform HTTP POST operation in the background, while monitoring the request and response I/O operation data streams.

Click here to read this tutorial...   |  

Geocoding tutorial – Accessing Google Static Maps from Java

Posted April 21st, 2008 by Nazmul
Summary

Given an IP address, this tutorial will show you how to get a Google Static Map from it. This is the third part of a 3 part series of tutorials on geocoding.

Click here to read this tutorial...   |  

Geocoding Tutorial – Getting physical address from IP address (using MaxMind)

Posted April 21st, 2008 by Nazmul
Summary

Given an IP address, this tutorial will show you how to get geographic location information from it. You can then use this location information for many different things, like looking up weather there, or perhaps displaying a pushpin on google maps, etc. This is the second part of a 3 part series of tutorials on geocoding.

Click here to read this tutorial...   |  

Task API (2 of 5) – Task API in-depth

Posted April 8th, 2008 by Nazmul
Summary

More details on the Task API introduced in the first Task API tutorial. SampleApp from the first tutorial is dissected under a microscope along with the API itself. Also contains information on which external libraries are optional and which are required.

Click here to read this tutorial...   |  

Task API (1 of 5) – Quick Start Guide

Posted April 6th, 2008 by Nazmul
Summary

Introducing the Task API. Easy to use background task API for Swing. Android and JavaME implementation coming soon. Easily create tasks and monitor their progress and cancel them at any time. Easily manage multiple tasks. Create network aware tasks and recurring tasks, and much much more! The API is open source (Apache 2.0 license). Enjoy!!!

Click here to read this tutorial...   |  

GWT Tutorial – Using History mechanism to create an RSS reader app

Posted February 23rd, 2008 by Nazmul
Summary

This tutorial takes the background information on GWT History Management provided in the Managing History and Hyperlinks tutorial and uses it to create an RSS reader application that uses this history mechanism to load initialization parameters. The application that’s built in this tutorial takes the RSS feed URL as a parameter passed to the web app’s URL. You will also learn how to use ROME API, and explore different approaches to displaying application loading (splash) screens.

Click here to read this tutorial...   |  

SwingX Tutorial – Busy Label (JXBusyLabel)

Posted February 2nd, 2008 by Nazmul
Summary

This tutorial will show you how to use SwingX’s JXBusyLabel component to display an indeterminate progress indicator. It will also show you advanced configuration options that allow you to create different and interesting indeterminate progress indicators using the BusyPainter.

Click here to read this tutorial...   |  

SwingX Tutorial – Task Pane (JXTaskPane, Container)

Posted January 28th, 2008 by Nazmul
Summary

This tutorial will walk you through the steps required to use JXTaskPane and JXTaskPaneContainer in SwingX. You will learn how to change the default color schemes of these components, and add components and actions to task panes.

Click here to read this tutorial...   |  

GWT Tutorial – Managing History and Hyperlinks

Posted January 18th, 2008 by Nazmul
Summary

When you are building GWT apps, that run in the context of a web browser, what should happen when the user of your app presses the Back or Forward button in their browser? GWT provides a way for your apps to hook into the browser’s history mechanism, so that you can control what happens when a user hits Back or Forward in their browser. You can also programmatically manipulate the browser’s history, and even create hyperlinks in your apps that can hook into the browser’s history mechanism. You can even intercept these hyperlinks when a user clicks on them, instead of having the browser handle it, or both. This tutorial will show you how to leverage GWT’s history mechanism and do some creative things with histories and hyperlinks that will be useful in your applications.

Click here to read this tutorial...   |  

GWT Tutorial – Deploying GWT Apps

Posted January 17th, 2008 by Nazmul
Summary

There are two aspects to deploying a GWT application: client side deployment, and server side packaging and deployment. In this tutorial, I will cover the different sets of issues that are tied to each aspect of deployment and packaging. Issues around cross site scripting, integration into existing webpages/apps, deployment as widgets, and much more are discussed in detail.

Click here to read this tutorial...   |  

GWT Tutorial – Using and creating modules

Posted January 16th, 2008 by Nazmul
Summary

If you are trying to build a complex GWT application that needs to be split into multiple modules, or if you need to import 3rd party modules into your application, this tutorial will show you how to do both of these things. We will import the GWT Log module, and we will also create a new module that you can include as a dependency for other modules/projects.

Click here to read this tutorial...   |  

GWT Tutorial – Create “Hello World” with IDEA

Posted January 8th, 2008 by Nazmul
Summary

In this tutorial, I will walk you through the tasks you need to perform in IDEA 7 to create GWT projects. We will do the following: create a new project, add resources to it (images, stylesheets), create a web facet for deployment to an app server/servlet engine, add a loading screen for your app.

Click here to read this tutorial...   |  

SwingX Tutorial – Painters

Posted December 24th, 2007 by Nazmul
Summary

This tutorial will introduce you to the SwingX API and the concept of Painters. It will give you an idea of the kinds of effects you can create with them as well, with code examples.

Click here to read this tutorial...   |  

Geocoding Tutorial – Getting physical address from IP address (using ippages)

Posted December 18th, 2007 by Nazmul
Summary

Given an IP address, this tutorial will show you how to get geographic location information from it. You can then use this location information for many different things, like looking up weather there, or perhaps displaying a pushpin on google maps, etc. This is the first part of a 3 part series of tutorials on geocoding.

Click here to read this tutorial...   |  

Fedora Core configuration

Posted November 27th, 2007 by Nazmul
Summary

This document has information on how to configure a Slice (from VPS vendor slicehost.com) which has Fedora Core installed on it. This document will show you how to install and configure: a firewall, Webmin, SMTP (Postfix) server, POP3/IMAP (Dovecot) server, Spamassasin, Apache, PHP, Perl, Java6, Tomcat6, database server, Wordpress, etc. My only advice is install and use Webmin, it will make your life administering the server much easier!

Click here to read this tutorial...   |  

What is XML? An introduction.

Posted November 27th, 2007 by Nazmul
Summary

What is XML? This tutorial provides a brief review of the W3C XML 1.0 Recommendation itself.

Click here to read this tutorial...   |  

Lightweight Remote Object Access – RESTful Java

Posted November 27th, 2007 by Nazmul
Summary

With web services, SOAP and XML RPC and sessionless RESTful protocols becoming popular over the last few years, this tutorial will take you through the steps of crafting a very lightweight RPC mechanism that uses Java’s object serialization and HTTP (URLConnection and Servlets).

Click here to read this tutorial...   |  

XML SQL gateway (socket based)

Posted November 27th, 2007 by Nazmul
Summary

The XML SQL database gateway is an engine that accepts an SQL command and returns the ResultSet as an XML document. The gateway uses JDBC in order to connect to the actual database. The gateway also comes with a socket connector. This allows the gateways services to be accessed over a simple socket. Only the socket implementation is provided in this tutorial, the Servlet connector is not provided.

Click here to read this tutorial...   |  

Hybrid Parser Architectural Pattern

Posted November 25th, 2007 by Nazmul
Summary

The Hybrid Parser architectural pattern applies to software systems which need to parse documents but are constrained by memory resources and processing power available. The pattern combines the processing advantages concerning execution speed and memory resources of event driven parsers with the programming comfort of a fully-fledged document object model, provided by an object tree parser.

Click here to read this tutorial...   |  

SwingWorker details – canceling background tasks in flight

Posted November 9th, 2007 by Nazmul
Summary

This tutorial outlines some of the interesting behaviors exhibitied by SwingWorker when running background tasks are cancelled in flight.

Click here to read this tutorial...   |  

What is SOA?

Posted November 6th, 2007 by Nazmul
Summary

“What is SOA?” This is a white paper on the definition of SOA (Service Oriented Architecture) and what ecosystem it fits in, and issues that are relevant to people at various stages of adopting this paradigm.

Click here to read this tutorial...   |  

How to use the AnimatedTransition API (SwingX and Timingframework)

Posted September 24th, 2007 by Nazmul
Summary

I needed to perform animations in the app that I’m building (http://screamingtoaster.com). I needed to build animations that show a transition from one screen to another. This is slightly different than creating custom, or modified components which perform a function and have a set of graphical effects. I needed animations that would transition my user interface from one “screen” to the next. The screens themselves could be panels or components (part of the whole app, or the entire app itself). While I’d been writing much of this code myself, to do these animations, it just got really tedious and frustrating to add this level of complexity to my code, when all I needed were some simple animations. I’ve been using the SwingX API and the TimingFramework API to perform the animations and leverage the components, however, this last piece was missing. And this last piece just got delivered by Chet Haase, as a part of the binary deliverables with his (and Romain Guy’s) great book – Filthy Rich Clients.

Click here to read this tutorial...   |  

How to use glass pane for animation (SwingX and Timingframework)

Posted June 10th, 2007 by Nazmul
Summary

I needed to perform animations in the app that I’m building (http://screamingtoaster.com). I needed to build animations that move various components around on the screen, and other animations that pop up components on top of existing components, etc. After creating a few of these effects, I realized that I was doing the same thing over and over again, which is why I decided to write this tutorial to encapsulate this pattern, in the hopes that I will help others doing the same thing.

Click here to read this tutorial...   |  

Creating multi-threaded Swing apps that consume web services

Posted January 8th, 2007 by Nazmul
Summary

If you’ve ever want to incorporate web services into your graphical applications/applets/widgets written in Java, then there are some threading issues that you have to be mindful of, and design around. This tutorial will guide you though some of the important threading issues you have to keep in mind when building such applications. The strategies outlined in this tutorial apply to accessing more than just web services from Swing apps; it also applies to loading information from databases, and performing any other kind of time consuming process that has to happen in the desktop app and interact with it, but can’t make the user interface unresponsive.

Click here to read this tutorial...   |  

Source code for accessing weather.com XML data feed from Java

Posted January 2nd, 2007 by Nazmul
Summary

If you’ve ever wanted to access weather reports from your desktop applications, widgets, or web applications, I’ve got some source code that will make it easier than ever to access this weather data from a Java API.

Click here to read this tutorial...   |  

Introduction to Java 5 java.util.concurrent API

Posted June 9th, 2006 by Nazmul
Summary

Introduction to the Java5 Concurrency API

Click here to read this tutorial...   |  

Advanced Threads

Posted September 20th, 2000 by Nazmul
Summary

Advanced threading topics.

Click here to read this tutorial...   |  

Introduction to Threads

Posted September 20th, 2000 by Nazmul
Summary

Introduction to multithreading in Java.

Click here to read this tutorial...   |  

XML, Java, databases and the Web

Posted June 24th, 1999 by Nazmul
Summary

XML and Java can certainly be used to create some very interesting applications from app servers to better searchable websites. However, it is sometimes very difficult to understand where everything really fits. There are web servers, Servlet engines, relational databases, and object databases. Chances are that an XML solution that you have to create will use of one of these prebuilt software pieces. XML development also involves using certain APIs, such as SAX, DOM, Servlets, Swing, RMI, JDBC, and the core Java API.

Click here to read this tutorial...   |  

Java XML Application Categories

Posted June 13th, 1999 by Nazmul
Summary

The applications that you create with Java and XML will rely on the services provided by your Java XML Parser (using DOM or SAX). The information itself might be stored in a variety of persistence engines (object databases, relational databases, file systems, dynamic websites, etc.). The information however that comes out of these persistence storage engines must be converted to XML (if they are not in XML already). Once this is done, you have to be concerned with the material covered in this document. This document outlines the most popular Java XML application categories that are possible in an environment where data is encoded with XML, where web access is ubiquitous and platform independence is a necessity.

Click here to read this tutorial...   |  

Benefits of using XML

Posted June 13th, 1999 by Nazmul
Summary

There is a lot of hype surrounding XML, and a lot of hype surrounding Java. Together these technologies propose to solve many of the most common (and persistent) general computing problems that have been around for the last 20 years. XML and Java are not revolutionary in the approach to solving these problems of interoperability of code and data across and within platform and application boundaries. Rather, XML and Java provide solutions to these problems by using the most successful strategies and techniques that have been honed and refined over the last 20 years of computing.

Click here to read this tutorial...   |  

Introduction to DOM

Posted June 9th, 1999 by Nazmul
Summary

This tutorial is a simple introduction to the DOM API.

Click here to read this tutorial...   |  

SAX Tutorial 1

Posted June 4th, 1999 by Nazmul
Summary

In order for your programs to access information stored as XML you can use the SAX (Simple API for XML) or the DOM (Document Object Model) APIs. This tutorial will show you how to use SAX to programatically access your information.

Click here to read this tutorial...   |  

Should I use SAX or DOM?

Posted May 23rd, 1999 by Nazmul
Summary

SAX (Simple API for XML) and DOM (Document Object Model) were both designed to allow programmers to access their information without having to write a parser in their programming language of choice. By keeping the information in XML 1.0 format, and by using either SAX or DOM APIs your program is free to use whatever parser it wishes. This can happen because parser writers must implement the SAX and DOM APIs using their favorite programming language. SAX and DOM APIs are both available for multiple languages (Java, C++, Perl, Python, etc.).

So both SAX and DOM were created to serve the same purpose, which is giving you access to the information stored in XML documents using any programming language (and a parser for that language). However, both of them take very different approaches to giving you access to your information.

Click here to read this tutorial...   |  

Factory Pattern

Posted March 27th, 1999 by Nazmul
Summary

When using interfaces, it is important NOT to access the implementation classes (which implement these interfaces) directly.

Click here to read this tutorial...   |  

Delegation Pattern

Posted March 27th, 1999 by Nazmul
Summary

The delegation pattern can be defined as follows. When you are creating a class that does everything another class does and more, then instead of subclassing the other class, you have to declare it as a data member or property of your class.

Click here to read this tutorial...   |  

Adapter Pattern

Posted March 27th, 1999 by Nazmul
Summary

The adapter pattern can be described as follows. When you have to implement an interface, but you want to use another class’ (or interface’s) methods in order to implement it you are using the Adapter Pattern.

Click here to read this tutorial...   |  

XML and Java Tutorial, Part II-Servlets

Posted February 11th, 1999 by Nazmul
Summary

In this tutorial, we will read an XML document and map the content of the XML document to a Java object model; this model can then be view and modified using a Servlet. Also, we will generate an XML document from this Java object model.

Click here to read this tutorial...   |  

XML and Java Tutorial, Part II-Swing

Posted February 11th, 1999 by Nazmul
Summary

In this tutorial, we will read an XML document and map the content of the XML document to a Java object model; this model can then be view and modified using a JFC/Swing application. Also, we will generate an XML document from this Java object model.

Click here to read this tutorial...   |  

JVM, URLs and Firewalls

Posted December 30th, 1998 by Nazmul
Summary

How to provide a JVM with proxy server settings to tunnel through a firewall (when a proxy server is present)

Click here to read this tutorial...   |  

XML and Java Tutorial, Part 1

Posted December 28th, 1998 by Nazmul
Summary

In this tutorial, we will create an XML document, the contents of which can be accessed using a JFC/Swing application and from a web browser (via a Servlet). The XML document is a very simplistic representation of an address book which stores the name, email and company name of people. The XML document is written manually, and its structure is known by the Swing application and the Servlet.

Click here to read this tutorial...   |