Adams Bros Blog

28Jan/163

Spring Building a RESTful Web Service – revisited

Posted by Trenton

I do frequently find that Spring documentation reads more like a novel than it does technical documentation. I find you can sometimes take many minutes, or even hours, just wading through stuff to find out how to do something that should have taken 5-10 minutes. Spring's REST framework is relatively straight forward to use, but there doesn't seem to be a good quick start on it's use.

So, we endeavour to have you up and running with their "Building a RESTful Web Service" tutorial in under 5 minutes, assuming you have a basic java development environment going, meeting their requirements. Please quickly review the first two "What you'll build" and the "What you'll need" sections at "Building a RESTful Web Service", then come back here.

We have one additional requirement. It's assumed you're able to develop from a Linux command line. If you're not using Linux as a development platform, you really should be.

We won't be using gradle, as I personally think it's a really bad tool.

Filed under: Spring Continue reading
5Aug/150

SOAP vs REST

Posted by Trenton

I was recently asked the question about the conditions under which I would choose SOAP vs REST for writing a Web Service.  I was thoroughly intrigued by the question, because I was curious in which way the discussion would go, as that would tell me a lot about the other developer.

7Nov/140

OpenJPA Standalone Application Quick Start

Posted by Trenton

Finding a decent OpenJPA standalone example is very difficult. The one I've created on github does not provide any sort of complex example, but it at least shows how to get started with a standalone Open JPA application, with a maven build.

Filed under: Java Continue reading
6Nov/140

Derby Command Line Quick Start

Posted by Trenton

While you can find this information on the derby website, in a grossly large Derby Basics document, isn't it nicer to just copy and paste? I just don't understand why developers like to write documents that make you take so much time to get started.

Filed under: Java Continue reading
27Feb/130

apache tomcat 7 rpm

Posted by Trenton

So, I decided to get an apache tomcat 7 rpm going.  I ended up finding someone who had created one, and then made it work a little bit better.  I had one guy that used to be a fedora RPM contributor help out a bit as well.  The result is a repository on github.

If you want to help contribute, and make it better, by all means fork it and work away. 😀

https://github.com/TrentonAdams/apache-tomcat-rpm

Filed under: Java, Linux No Comments
28Feb/1219

Upgrade Android SQLite Database

Posted by Trenton

After fiddling with a few different styles of coding a database upgrade implementation for Android, I've settled on a fairly simple method.  Basically, I take the old version, and increment a counter until I get to the current version.  Through each iteration, I use switch on the value of the upgradeTo variable, and upgrade each cycle.  If things get too complex for your application, you can always create individual upgrade methods, for each version.

Of course this method will only work if your database version is incremented by one each time you change the database.  And, this really should be the way you version it anyhow.

    public void onUpgrade(
        final SQLiteDatabase db, final int oldVersion,
        final int newVersion)
    {
        int upgradeTo = oldVersion + 1;
        while (upgradeTo <= newVersion)
        {
            switch (upgradeTo)
            {
                case 5:
                    db.execSQL(SQLiteSet.V5_ADD_LAST_CARD);
                    db.execSQL(SQLiteCard.V5_ADD_FAILED);
                    break;
                case 6:
                    db.execSQL(SQLiteSet.V6_ADD_IMPORT_TYPE);
                    break;
                case 7:
                    db.execSQL(SQLiteSet.V7_ADD_SHORT_FNAME);
                    break;
            }
            upgradeTo++;
        }
    }

Someone asked in a comment, why we do the upgrade in a loop.  I do this because I do not know what version they will be converted from or to. So, I must either put a bunch of logic for every possible upgrade variation, such as 1 => 2, 1 => 3, 1=> 4, 3=> 4, etc, etc, or, I can loop through and do one upgrade at a time, and increment the version through each loop.  This GREATLY simplifies the database upgrade.

Filed under: Android, Java 19 Comments
31Dec/118

Send Email in your Android Application

Posted by Trenton

I've seen a lot of examples of how to send email from an android application.  All of them result in applications coming up in a chooser list that are not appropriate for sending email.  In this post, I'll described the various solutions I found, and the solution that brings up only email clients.

Filed under: Android, Java Continue reading
7Nov/110

Conversion to Dalvik format failed with error

Posted by Trenton

I went looking, and looking, and looking, for a solution to this problem. None of them seemed to fit the bill. I tried...

  1. updating proguard
  2. not using libraries I shouldn't be
  3. re-importing the project
  4. removing duplicate android jars
  5. removing all android jars
  6. a host of other "suggestions" from Eclipse Android users
Filed under: Android, Java Continue reading
22Jul/110

Eclipse Android Hello World Tutorial Video – Part 3

Posted by Trenton

In third part of the android hello world video, we explain the different components of the application, and why things are done in a certain way.  This video is a bit raw.  However, rather than editing the videos, I'm going to try and improve my presentation skills as I go.

16Jul/110

Eclipse Android Hello World Tutorial Video – Part 2

Posted by Trenton

Part 3 - Code Explained

Okay, I've finished another android development demo video.  Sorry it took so long, I got really busy with a new computer and what not, and life in general.  In the next video in this series, I will explain the details of the hello android application.  So, if you do not understand some of what is happening, stay tuned for the next video in the series.