Book Image

BlackBerry Java Application Development

Book Image

BlackBerry Java Application Development

Overview of this book

BlackBerry Smartphone was once the domain of jet-setting business users with power suits. Now you can hardly go anywhere without seeing someone using a BlackBerry to check their messages or make a call. It's this kind of explosive growth that makes the BlackBerry ecosystem a great place to develop and market applications through the BlackBerry App World store—this book shows you how to do just that! This step-by-step guide gives you a hands-on experience of developing innovative Java applications for your BlackBerry. With the help of this book, you will learn to build your own applications to illustrate the platform, and the various capabilities that developers can use in their programs. It explores the powers of Blackberry and helps you develop professional and impressive Java applications. The book teaches how to write rich, interactive, and smart BlackBerry applications in Java. It expects the readers to know Java but not Java Mobile or the BlackBerry APIs. We will learn to build rich, interactive, and smart Java applications for the BlackBerry. The book will cover UI programming, data storage, programming network, and internet API apps. As we move on, we will learn more about the BlackBerry's device features, such as messaging, GPS, multimedia, contacts and calendar, and so on.This book also helps you build your own applications to illustrate the platform, and the various capabilities that developers can use in their programs.
Table of Contents (18 chapters)
BlackBerry Java Application Development
Credits
About the Author
Acknowledgement
About the Reviewers
Preface

Time for action - adding a record


  1. 1. Add the save method to the JournalEntry class.

    public byte[] save()
    {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    DataOutputStream outputStream = new DataOutputStream(baos);
    byte[] data = null;
    try
    {
    // Add the Entry Date as a long integer.
    outputStream.writeLong(getEntryDate().getTime());
    // Then add the entry itself
    outputStream.writeUTF(getEntry());
    // Extract the byte array
    data = baos.toByteArray();
    }
    catch (IOException ioe)
    {
    System.out.println(ioe);
    ioe.printStackTrace();
    }
    return data;
    }
    
  2. 2. Add this loop to replace the TODO: comment in the SaveEntriesRMS method of JournalEntryMainScreen.

    for (Enumeration e = EntryList.elements(); e.hasMoreElements();)
    {
    JournalEntry Entry = (JournalEntry) e.nextElement();
    byte[] data = Entry.save();
    if (data != null)
    {
    JournalStore.addRecord(data, 0, data.length);
    }
    }
    
    

What just happened?

I'll bet that the save method is a little bigger than you expected. The serialization is a bit messy and a somewhat...