Jul 19, 2013

Pull Down to Refresh for LWUIT

Hi, all

I believe most of you here have heard about "Pull Down to Refresh" gesture. Shortly, it is a very used gesture on iOS apps, created by Loren Brichter, which users perform to refresh contents on the screen, just pulling down a list using the thumb.

So, now that you are contextualized about "Pull Down Refresh", I would like to inform that this famous gesture has just arrived to Java ME/LWUIT world.

Pull Down to Refresh for LWUIT was an old idea of mine, but just this week I sat down and decided to code a component that implemented this gesture. I was not sure whether it was going to work, but for my surprise it worked, and you will see how easy it is to get it integrated into your apps.

...
Form form = new Form("PullDownRefresh") {};
form.setLayout(new BorderLayout());
//
List list = new List(new String[] {...});
list.setRenderer(new DefaultListCellRenderer());
//
final PullDownRefresh refresher = new PullDownRefresh();
refresher.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
        new Thread() {
            public void run() {
                // Perform some process
                //
                refresher.endRefreshing();
            }
        }.start();
    }
});
//
form.addComponent(BorderLayout.NORTH, refresher);
form.addComponent(BorderLayout.CENTER, list);
//
form.show();
...

As you can see in the code snippet above, all you have to do is to create an instance of PullDownRefresh class and add it at first position of a Form object and register an ActionListener object to be notified when a refresh operation is triggered. With this notification, you can start a process to perform any operation, e.g., refresh the Form's data. Once the operation is concluded, just call the endRefreshing() method, so the component can return to its default state. Easy, huh?

Watch the video below and see PullDownRefresh component in action:



Cool, huh? :)

PullDownRefresh component is totally customizable. For instance, you can change the style, images and labels. Check out the Javadoc and you will know how.

You can download the component right away by clicking here. Besides the source code, there is also sample MIDlet.

By the way, PullDownRefresh is under MIT license.

I hope everybody finds this new component useful and let me know your comments.

See you in the next post...

Update (Feb 17th, 2014):

There is a new version of this component. For further details, check this post.

6 comments:

Stanyy said...

Hi Ernandes, is there a recent J2ME app for blogger? The old ones like Blogplanet and Kablog no longer work because google changed the blogger interface. If you could make one, It'd be very useful to a lot of people. Thanks

Ernandes Mourão Júnior said...

Sorry, I know none.

I will think about it. :)

Anonymous said...

Hi. I'm trying to use PullDownRefresh in my app. Everything works except that when the form loads the bar is already visible. It doesn't hide until pulled. Any ideas?

Ernandes Mourão Júnior said...

Is it the first component in your form?

Are you calling beginRefreshing() method during the form load? If so, remove it.

Eric Simmons said...

Great and Useful Article.

Online Java Course

Java Online Training

Java Course Online

Best Recommended books for Spring framework

Java Interview Questions












Java Training Institutes in Chennai

Java Training in Chennai

J2EE Training in Chennai

java j2ee training institutes in chennai

Java Course in Chennai

Sathya G said...

thank you for sharing such a nice and interesting blog with us. hope it might be much useful for us. keep on updating...
ROI Services in Chennai