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.

24 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.

Unknown said...

Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and I got more information from your blog.
Devops training in Chennai
Devops training in Bangalore
Devops Online training
Devops training in Pune

simbu said...

It is better to engaged ourselves in activities we like. I liked the post. Thanks for sharing.

java training in chennai | java training in bangalore

java online training | java training in pune

selenium training in chennai

selenium training in bangalore

ganga said...


I would like to thank you for your nicely written post, its informative and your writing style encouraged me to read it till end. Thanks

angularjs-Training in annanagar

angularjs Training in chennai

angularjs Training in chennai

angularjs Training in bangalore

Unknown said...

Impressive. Your story always bring hope and new energy. Keep up the good work.
python online training
python training in OMR
python training course in chennai

Anonymous said...

Thank you for an additional great post. Exactly where else could anybody get that kind of facts in this kind of a ideal way of writing? I have a presentation next week, and I’m around the appear for this kind of data.

angularjs Training in marathahalli

angularjs interview questions and answers

angularjs Training in bangalore

angularjs Training in bangalore

angularjs Training in chennai

automation anywhere online Training

Sharmi Ammu said...

I would like to say that this blog really convinced me to update my knowledge about the technology you talk about. Thanks, very good post


Selenium Training in Chennai
Selenium Course in Chennai
iOS Course in Chennai
French Classes in Chennai
Big Data Training in Chennai
SEO Course in Chennai
SEO Training Institute in Chennai

Vicky Ram said...

Great article. Thanks for sharing.

opencu
Guest posting sites

rohini said...

iphone service center chennai
iphone service center
ipad service center chennai
ipad service center
imac service center chennai
imac service center

Raji said...

Very nice post here and thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.
Devops Training in Chennai | Devops Training Institute in Chennai

spot said...

super your post in the website
honeymoon packages in andaman
andaman tour packages
andaman holiday packages
andaman tourism package
laptop service center in chennai
website designers in chennai
web development company in chennai
website designing company in chennai

vijay said...

Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.

aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore

ammu said...

very nice..
inplant training in chennai
inplant training in chennai
inplant training in chennai
brunei darussalam web hosting
costa rica web hosting
costa rica web hosting
hong kong web hosting
jordan web hosting
turkey web hosting
gibraltar web hosting

preethi minion said...

awesome
inplant training in chennai
inplant training in chennai
inplant training in chennai for it.php
italy web hosting
afghanistan hosting
angola hosting
afghanistan web hosting
bahrain web hosting
belize web hosting
india shared web hosting

Durai Moorthy said...

I am really happy with your blog because your article is very unique and powerful for new reader.
aws Training in Bangalore
python Training in Bangalore
hadoop Training in Bangalore
angular js Training in Bangalore
bigdata analytics Training in Bangalore
python Training in Bangalore
aws Training in Bangalore

Aadhya said...
This comment has been removed by the author.
devi said...

I like your post. Everyone should do read this blog. Because this blog is important for all now I will share this post. Thank you so much for share with us.
Data Science Training In Chennai | Certification | Data Science Courses in Chennai | Data Science Training In Bangalore | Certification | Data Science Courses in Bangalore | Data Science Training In Hyderabad | Certification | Data Science Courses in hyderabad | Data Science Training In Coimbatore | Certification | Data Science Courses in Coimbatore | Data Science Training | Certification | Data Science Online Training Course

Aadhya said...
This comment has been removed by the author.
Vennala said...
This comment has been removed by the author.
salome said...

useful information.keep up the good work
devops Training in chennai | devops Course in Chennai

Aishwariya said...

wonderful article contains lot of valuable information. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.
AWS certification course in Chennai