RSS Reader MIDlet

Platform: J2ME MIDP 1.0

Description:

The free RSS feed reader is a cell phone (mobile) J2ME/PhoneME MIDP application that is able to read most RSS servers/feed versions. RSS is a lightweight XML format designed for sharing headlines and other content like blogs and news. Data is stored on the device and updated on request. Read Wiki documentation for more details on which program to use.Add RSS feed bookmarks.  The program can be compiled/built/run entirely with either proprietary or FOSS (Free and Open Source Software).  Features include

  • Parse RSS feeds
  • Browse RSS feed headers
  • Read topics
  • Read all unread/read topics
  • Supports ISO8859_1, windows-1252, UTF-8 , and UTF-16
  • Update all/updated feeds with single command
  • Open item link or enclosure in device browser (On supported devices)
  • Save on exit or request
  • Import and synchronize RSS feed lists from internet or phone memory
  1. OPML
  2. HTML hyperlinks
  3. Line by line
  4. HTML Auto links
  5. HTML OPML auto links

RSS Reader MIDlet with Nokia N80

Midlet is designed to run on J2ME MIDP 1.0 devices so it will work also on older devices. The downloadable package includes binary files along with source code and NetBeans IDE 5.5 project files.

rss-reader-import.png RSS Reader

RSS Reader RSS Reader

Download binaries and source code

Older binaries for BlackBerry:

http://www.substanceofcode.com/downloads/midlets/rim/RSSReader.jad
http://www.substanceofcode.com/downloads/midlets/rim/RSSReader.cod

Contributors:

  • Irving Bunton

Version history:

Version 1.5 - July 24th 2007

  • Open link in device browser
  • Support long feed URLs

Version 1.4 - December 20th 2006

  • ATOM support

Version 1.3 - December 3rd 2006

  • Sync feeds from OPML list
  • Save feed items when application is closed
  • Update all feeds with one command
  • Improved text rendering (HTML tags are removed)
  • Improved feed support

Version 1.2 - September 14th 2006

  • Added a support for importing RSS feed lists using the line-by-line or OPML format

Version 1.1 - April 13th 2006

  • Added a support for basic username and password authentication (eg. htaccess)
  • Fixed the item title when item is changed
  • Removed titles from the item screen to make it more simple

Version 1.0 - April 26th 2005

  • First public release

67 Responses to “RSS Reader MIDlet”

  1. charlieMOGUL Says:

    Hi,

    Thanks for your efforts of publishing all your software! It’s nice to see that some people still have that ’share the WEALTH’ spirit.
    I have a feature request for your RSS reader. Could you add the possibility to login (using basic authentication) on a feed ? Sometimes feeds are username/password protected.

    Thanks in advance,

    charlieMOGUL

  2. Tommi Laukkanen Says:

    Thank you for your nice words. It is nice to hear that somebody actually uses my software :)

    The basic authentication feature is something that I would be very willing to add. Would you happen to know a public site that requires to login to be able to read the feed? This would help me to test this feature.

  3. Tommi Laukkanen Says:

    My site was hacked (again) few weeks ago and I wasn’t able to restore all comments that were made to his page. I still have the feature requests marked down in the google code’s issue manager (http://code.google.com/p/mobile-rss-reader/issues/list). I’m going to implement the “river of news” feature when I have enough time on my hands.

  4. Abraham Tehrani Says:

    When attempting to download the application on my phone I get 906 Invalid Descriptor. Unexpected content type returned from server. This happens when I hit the URL to the JAD.

    My phone is LG CU 500 from Cingular.

    Any ideas? Thanks!

  5. Tommi Laukkanen Says:

    Abraham Tehrani: I have defined the JAD’s MIME content type as “text/vnd.sun.j2me.app-descriptor”. This should be the correct content type for JAD file. I just tried to download the JAD with my Nokia N80 and the installation works without any problems.

    You could try to download the JAR file to your computer and install the application using your computer software if this is possible with LG CU 500.

  6. Cristian Says:

    Hi, very nice applicaction, exist posibility to open OPML files from local storage or Phone memory card ??

    Thank´s, Cristian
    Buenos Aires, Argentina

  7. charlieMOGUL Says:

    Hi,

    Thanks for all the additions to an already very useful application.
    I was wondering which mime-type the OPML import expects, since imports don’t seem to work.
    Can it have something to do with the fact that my OPML file is nested ?
    eg. there are more levels of “outlines” tags.

    Thanks once again, and happy coding (C;

  8. birbilakos Says:

    Hello Tommi, excellent work with this RSS reader, my congrats :)
    I’m trying to open the netbeans project though with Netbeans 5.5 but netbeans won’t recognise the folder as a working project. Any reason for that?

    I would like to get around this so i can play around with this wonderful application.

  9. birbilakos Says:

    For was is worth it, i didn’t have the Netbeans mobility pack installed… thanks for the guidance!

  10. Darran Says:

    I don’t think this application supports read/unread items just like in a rss reader on a desktop, is it possible for you to implement it?

  11. Keeblerelf Says:

    This little app is exactly what I have been looking for! A program that will run on my Nokia 9300 and suck feeds from my Gmail account.

    I am pulling a feed for each GTD context, which I’ve set up as a label in my Gmail account, and can access those lists wherever I may be, just by opening the phone. I leave your program running all the time so that I can get at my lists even if I am out of range or don’t want to wait for an online.

    Great job! Thank you very much for this!

  12. Tommi Laukkanen Says:

    Thank you for your comments!

    I could try to add read/unread items feature when implementing the “river of news” feature so that the main view would show only the new unread items if user chooses so.

  13. Mark Says:

    Hi Tommi,
    Thanks for making this available. I’m trying to find a reader that can poll every 20 seconds. Would you mind if I edited your code to make your reader do this? If so, can you let me know where the variable(s) are? Or can you think of a more efficient way to transmit text streams from a web server to a mobile device in real time? (not SMS, too expensive)
    Thanks!

  14. Tommi Laukkanen Says:

    Hi Mark,
    You are free to edit the code of this RSS Reader as it is open source. Polling could work fine for your needs. It might also be possible to keep the HttpConnection open for a long time but that could eat out the server resources.

  15. jesyn Says:

    can u just create the rss reader to just straight away go to the website without adding the bookmark

  16. Thompson Says:

    Hi,

    Im trying to import my feeds from an OPML file generated by netvibes. Nothing happens when I try to import the OPML file.
    Details:
    Phone - Nokia N80.
    file - OPML file.
    Im trying to import the file from a FTP with the full URL including the .OPML at the end.

    I give the URL and click on import but nothing seems to happen. Please advice what I can do or any other way i can test.

    Thanks.
    Thompson.

  17. Irving Says:

    Unfortunately, MIDP does not directly support http://FTP. In the future, we may try to clone some non-J2ME code to do this.

  18. Irving Says:

    The OPML should download in spite of mime type. A bug was fixed where only one feed was imported. Try the latest version at http://code.google.com/p/mobile-rss-reader/downloads/list.

  19. Irving Says:

    Hi Christian,

    Version 1.10.7 allows data to be read from phone memory although sometimes it can be difficult to put the file on the phone as some phones will take a text file (even ending in XML) and put it into notes application which cannot be accessed.

    Regards,

    Irving

  20. Ivan Gammelgaard Says:

    Hi,
    Two questions.
    Just downloaded the MIDP 2.0 source code.
    In order for it to run I had to add the “MIDP-2.0″); to the New StringItem part. Like it does not understand the compiler directive //#ifdef DMIDP20.
    But it was defined in both Promptlist.java and RssReaderMIDlet.java.
    Why is that? Sorry - I’m a bit new in mobile developement.

    m_pgm_midp_vers = new StringItem(”Program MIDP version:”,”MIDP-2.0″);
    //#ifdef DMIDP20
    //# “MIDP-2.0″);
    //#else
    //@ “MIDP-1.0″);
    //#endif

  21. Irving Says:

    Hi,

    Did you mean in the code
    Very early
    //#define DMIDP20
    Then, somewhat later
    m_pgm_midp_vers = new StringItem(”Program MIDP version:”,
    //#ifdef DMIDP20
    “MIDP-2.0″);
    //#else
    //@ “MIDP-1.0″);
    //#endif

    This is a special preprocessor antenna used to generate this antenna.sourceforge.net

    The original code is in presrc (for preprocessed source)
    m_pgm_midp_vers = new StringItem(”Program MIDP version:”,
    //#ifdef DMIDP20
    “MIDP-2.0″);
    //#else
    “MIDP-1.0″);
    //#endif

    The preprocessor will see that DMIDP20 is defined and comment out using //@ the else as it means that DMIDP20 is not defined. Currently, I have only two situations for this MIDP20 for MIDP 2.0 and DMIDP10 for MIDP 1.0 defined. This code snipet allows us to display the program’s version so that the code with //#ifdef DMIDP20 is active so that the program is the one created midp20_RSSReader.jar. There is another //#ifdef MIDP10 which becomes midp10_RSSReader.jar, and still another with DJSR75 which gives midp20_jsr75_RSSReader.jar Another problem is that I had trouble getting this into the Netbeans build.xml. I will check in the build.xml that I use which I use with Sun’s Wireless Toolkit 2.5.1 although I will call it wtk-build.xml. Currently, using Netbeans it will compile MIDP-2.0 version as is.

  22. Ronan Says:

    A couple of feature suggests for you:
    - The ability to set the polling interval (every 20 seconds)
    - A “minimize” application menu option, so that the app continues to operate in the background.
    - sound/vibration alert options for when new feed items are received in the background.

    Cool. :-)

  23. kittu Says:

    Hi,
    I installed RSS reader on my mobile phone MOTOROLA E6 ROCKR
    The problem is that i am unable to import feeds.
    I searched for jsr 75 on my phone
    the settings showed”Phone JSR75 :available and on (true)
    Program JSR 75 :Not available ”
    Could You please help in this regard
    Thank You
    Kanth

  24. kittu Says:

    Also ,I forgot to mention ie., I installed the your jar file which is for phones with JSR 75

  25. Big D Says:

    I cannot get this to install on my Fusic LG550 (Sprint)

    It downloads then comes up:

    Download failed
    Issue has been reported. Please try again later.
    907 Invalid Content-File Extraction Error

    I’ve tried midp20_jsr75_RSSReader-10.7.jar, midp20_RSSReader-10.7.jar and midp10_RSSReader-10.7.jar and they all give the same error.

    If I rename the .jar into a .zip can I edit META-INF/MANIFEST.MF to override the error?

  26. Irving Says:

    Hi Kanth/kittu,

    I was unable to duplicate your problem. I’ve downloaded with my Nokia installed browser and with operamini and both give true for JSR75 for midp20_jsr75_RSSReader-10.7.jar and it gave true for JSR75. I’ve seen a similar problem when I have installed two different versions, one to phone memory and the other to external memory. This is easy to fix, you often do not have have the opportunity to pick which one to remove. You end up removing the program and you see that it is still there showing you that you had installed it twice.

    Regards,

    Irving

  27. Irving Says:

    Hi Big D,

    I have been unable to dupliate your problem, with my phone, but it is from a different manufacturer. You can either try with operaminie browser(www.operamini.com). Also, the software is with a site designed for phone download http://www.getjar.com/products/11333/RSSReader.
    This site is designed to allow phone download so it may help as Google is not designed for the special phone needs.

    Regards,

    Irv

  28. scorpfromhell Says:

    Hi,

    Am not able to get feeds from our wordpress based internal blogs.
    The feed is provided over https, not http. The feed is password protected.

    I get a error in parsing message.

    Thanks,
    Scorpfromhell

  29. francisco Says:

    how do i import the feeds to my nokia 6230i? it must be only by internet access?

    many thks.

  30. Irving Says:

    Hi Francisco,

    I will give an answer applicable for others as well.
    For phones which support a Java feature to access memory (JSR-75), you can import the feeds from phone memory. This you can tell by finding your phone at http://www.mobref.com/device/ and seeing if it has JSR-75 there. In the case of your phone, it is at http://www.mobref.com/device/Nokia/6230i. It DOES have JSR-75, so you can import feeds and OPML files from phone memory. To import from memory, for either feed or OPMO, install version with midp20_jsr75_ . For example, from http://code.google.com/p/mobile-rss-reader/downloads/list. Then, on add feed or import OPML, use find files menu option. This allows you to browse files on the phone or external memory. Sometimes for some phones, this can take a whie if the file is deep in the file hierarchy as it asks you to give permission for each directory level that you go down. So, it is often better to have the file at a directory which is near root.

  31. HG Says:

    Hi Tommi!

    Just tried this on 9300 (pieni kommari) and seemed to work ok. Except that when I next time opened the software, all the added feeds had disappeared. The list was empty. Any ideas why it get’s emptied?

    Another thing, I also set the number of items on the list to 30. But when I checked the list, it still only contained the 10 (default) items. Is this a bug?

  32. Irving Says:

    Hi HG,

    Are you using the latest version at http://code.google.com/p/mobile-rss-reader/downloads/list

    I was not able to reproduce the item problem as a bug. When the number is changed, it does not immediately change the existing feeds. You need to do update feed so that the extra items can be read for each feed that needs more items. Have you tried this? From then on, the feeds should have the configured # of items.

    I’m not sure why the list is gone. It could be not enough memory. Can you try a small number of feeds and see if it is saved? I’ve seen something similar with the emulator where if the application is started twice at the same time, it can cause that problem. Is this possibly happening when you run the program that it is starting up twice, but then the second one fails, but not before it has ruined the data store?

    If that still does not help, would you be willing to use a test version to help me diagnose the problem?

    Regards,

    Irving

  33. Irving Says:

    Hi HG,

    In addition to what I asked before, did you exit the application using the ‘exit’ element on the RSS application menu or use cancel using Symbian? If you cancel using Symbian, the feeds are not saved.

    Regards,

    Irving

  34. HG Says:

    I’m using the version from the top of this page. Isn’t that the most recent?

    Yes, I did refresh the list after changing the max number of items. But granted, I did it only with one list as the software lost the lists each time.

    Yes, I have plenty of memory. And I do not think that it’s possible that I’m running 2 instances. Where is it trying to save the list or feeds?

    I will try to download another version from the link you gave and see if anything changes. If not, then yes I can try the test version. Possibly I could get the code also but since I’ve never coded for a phone, I’m not sure if I can really do much with it.

  35. Tommi Laukkanen Says:

    @HG: Thanks for pointing that out. I removed the links to the old binaries. Google Code’s download page has always the latest builds. You should download latest JAR files from there.

  36. fakezeta Says:

    Hi,
    I don’t know if this is the right place to post it but I’ll try :)
    I’m using your RSS Reader on the Skypephone of 3 (http://www.3skypephone.com/). It is indeed an Amoi cellular. It works very well, also the OPML import from file, I’m using the midp20_jsr75 version.

    I have problems with some feeds of mine like this punto-informatico.it/fader/pixml.xml for example.

    I don’t know how to help you troubleshooting but if you say me how I’ll be glad to do it.

    Keep up with the good job!

  37. Irving Says:

    Hi again Ivan,

    Now that I have used Netbeans I have found that it recognizes the antenna antenna.sourceforge.net compiler directives. So, there is a bug in the code where the define //#define DMIDP20 is missing. When Netbeans finds code that depends on a define, it changes it to prefix
    //#
    When antenna Ant task wtkpreprocess finds code that depends on a define which is not defined, it creates code //@. To get the code to work in Netbeans, the define //#define DMIDP20 needs to be added so that the line will not have //# in front of it.

    Regards,

    Irving

  38. cat Says:

    Sorry Im not a very techie person.
    But i downloaded mobile rss reader from http://www.getjar.com to my Blackberry 8800.

    Ive looked at the mobref website…and it seems to be that my phone does NOT have JSR-75.

    Ive tried to add feeds/import feeds, by pasting the feed URL to the field. But it comes up with message that there is error parsing feed..

    I hope you can help.

  39. Irving Says:

    Hi Cat,

    I haven’t used a Blackberry, but I’ve found with pasting on Nokia 95 that sometimes an extra character which shows up as a line feed with the paste. This can cause a failure. So, I just backspace so that the cursor is just after the last character of the URL. Otherwise, it will give parse error. You can also use the Beta version at http://code.google.com/p/mobile-rss-reader/downloads/list which has some diagnostics.

    Regards,

    Irving

  40. Emin Says:

    Hi Tommi,

    First of all, thank you for your good works.

    Could you suggest anything about using PICTURES in the rss feeds? Where could I find any information about using pictures with rss feeds, such as viewing pictures, locating within the feed, etc.

    Thanks a lot in advance!

    Emin

  41. Irving Says:

    Hi Emin,

    What is your motivation for asking? Are you wanting this functionality for the RSS Reader authored by Tommi or are you just curious.
    You can look at the RSS specification http://cyber.law.harvard.edu/rss/rss.html which talks about an image for the feed. Also, using HTML inside description (escaped with <![CDATA[
    ) some feeds put in images as well. If you want to display images in J2ME, only .png files are supported. Other mime types would need to be converted to .png.

    Regards,

    Irving

  42. Tommi Laukkanen Says:

    Emin: Good amount of thanks should go to Irving as he is currently more active developer on this project then I am :)

    I have also thought about the idea of displaying the images that are inside the blog posts and such. Those are usually included as IMG elements. We could use server to convert all requested image URLs to PNG and also to make them small enough to be displayed in a small screens of mobile phones. Small images are also faster to download with mobile phone connections.

    I created a new issue for this feature. Leave some comments there if anything comes in mind.

  43. Denise Says:

    Dear Sir/

    I have jsut purchased my first Nokia N95 8G, and wihile I must admit that I am exetremely happy, only because I am able to view my http://www.teacherstv.co.uk video, as I homeschool part-time.

    But I would really like to understand RSS feeds, I know what they are, I just do not know how to implement them onto my phone. Would your software allow me to be able to make the transition easier.

    Thanks Denise

  44. Irving Says:

    Hi Denise,

    You’ve come to the right place. You can use the RSS reader to read feeds on your phone with either GPRS, EDGE, 3G, or WiFi (if available). I have a N95-3 and the program works fine for me. The place to start is either with the Add feed screen in the program or if you have an OPML, you can use import screen. You can use the version which has program name with prefix midp20_jsr75_ as the N95 supports MIDP 2.0 and JSR-75. Once you have added feeds, you can open them (which causes them to get read). Unless you are using WiFi, there may be internet costs from your phone carrier, so it is usually wise to get unlimited data plan.

    Regards,

    Irving

  45. OMP Says:

    Hi

    This is brilliant and just what I was looking for as I am busy with a similar project just not as complex. Is it possible to assign bookmarks programatically instead of using user input. If so, I can’t seem to isolate the code where the variable for the bookmark is loaded.

    I would appreciate your assistance.

    Regards

  46. Irving Says:

    Hi,

    To add a bookmark, you need to do two things. One is add to the bookmark list UI class. This is variable m_bookmarkList. The second is to add to the Hashtable or RssFeedStore m_rssFeeds. Whether or not this is a Hashtable or RssFeedStore depends on which verson you are using. The last stable version is the branch 1.11.1 where m_rssFeeds is a Hashtable. To add a feed, you can look at the code to add feed. This is in the internal class in RssReaderMIDlet, BMForm. There is a method saveBookmark() which shows how to take the bookmark from the UI and add it to the GUI list and m_rssFeeds. One way to do it programatically, would be to create a bookmark with new RssItunesFeed and add the name to m_bookmarkList and feed to m_rssFeeds with the key being the bookmark name and value being the RssItunesFeed.

    If you have any further questions, let me know.

    Regards,

    Irving

  47. OMP Says:

    Hi irving

    Thank you for taking the time to respond. While I was waiting for your reply I managed to find the class and the savebookmark method and you have confirmed that I am on the right track.

    I am very impressed with the work that you and Tommi have put into this project. More importantly; if I wanted to re-distribute my modified version of this project; what is expected of me.

    Regards

  48. Irving Says:

    Hi,

    Ideally, it would be nice to incorporate the change into the main code. If you do not plan on being a regular contributor, you can post an enhancement issue to http://code.google.com/p/mobile-rss-reader/issues/list with an explanation of the code and attach a file with the changes. Then, I could incorporate it when I get the chance as Tommi has not had the time to do updates for a while. If you want to be a regular contirbutor, Tommi would have to add you and we would need to co-ordinate changes as I have a lot of changes in the pipeline.

    On the other hand, it is GPL code, so you could distribute the modified code as a fork, but I would rather not have the code forked.

    Also, I wasn’t sure what you meant by ‘programatic added feeds’? Can you give a use case? Which phone do you have?

    Regards,

    Irving

  49. Irving Says:

    Hi,

    When I say use case, I don’t mean make a time consuming one using Together or another modeling tool. I mean just a short note of how a user would use the feature.

    Regards,

    Irving

  50. OMP Says:

    Hi Irving

    Once again thank you for your prompt reply to my comments. The changes I intend putting in place to assign the RSS bookmarks via the code, is to avoid having the user go to the addbookmark screen and then manually insert the necessary info. Here in our country, our mobile users not very good with mobile applications and I want to make the process of using an RSS Reader as simple as possible.

    With this in mind; I will then specify a list of feeds which apply to that particular user. Have the bookmarks created on first start and then limit the editing of those bookmarks. Thus the user only has access to the feeds that are created and is not allowed to add or remove these feeds.

    If I allow them this amount of freedom, I will be subject to offering them support, which I want to do in a controlled environment.

    In view of this, I would then disbale the options to ADD, DELETE, EDIT existing bookmarks.

    Would I still need to list the changes as you stated earlier.

    Regards

  51. Irving Says:

    Hi,

    I think that I have a way of satisfying some of your requirements, but I have a question. It seems that some personalization is needed since you say that different users would have different feeds to use. Does this mean that you would give them each a different version of the program? One thing that I have thought of is to come up with something that allows the same compiled program, but the difference would be in how the jar was constructed. The manifest could have an attribute say novice which when true, the program would read it and disable add, edit, delete, (and I presume import as well). The first time that it starts, it would read a text file in the jar which would contain the names and URLs (using the line by line parser which has lines separated by line feeds with the URL followed by a space and the feed name). This way one could have the same compiled class files and only need to create the jar file. The coding part would be very easy as it’s just making minor modifications to existing code.
    The creation of the jar file may be possible using an applet as this is done by another project (EBookME from sourceforge), the users would then need to install it on their phones. One option is to have all the jar files the same and have the users go to a site to select the feeds that they want. This would give an ‘activation code’ to use when running the program. This activation code would actually be a decimal number where if changed to binary would select which of the feeds to add programatically. The program would only run after given an initial activation code. The activation code may have some check digits to prevent mistyping.

    Given that you want to simplify things, you probably do not need the JSR-75 versions of the program as this if for reading feeds/importing feeds from phone memory.

    These are just some ideas, I’m open to suggestion.

    Regards,

    Irving

  52. thiago Says:

    is it possible to download rss at pc and synchronize it to mobile device? so that no data taxes will be paid to operator…

  53. OMP Says:

    Hi Irving

    Thank you for your feedback. Your suggestions definitely makes much more practical sense, as this will improve deployment and minimise the amount of “versions” that need to created and limits the amount of re-work that is needed.

    Regarding the manifest file and the creation of the jar file; I am not sure what you mean by making use of eBookME for the creation of the jar. I understand that EBookME is used to create ebooks and not jar files. Also, what would I need to to amend the attributes of the manifest file. I was under the impression that the manifest file is created by the WTK when building the app.

    Please excuse my ignorance.

    Regards

  54. OMP Says:

    HI Irving

    Your suggestions make much more practical sense and limits the amount of re-work that is needed. Also, makes the versioning of this app much simpler. Thanks.

    Regarding the creation of the jar file, I am not too sure how eBookME will help; as I understand eBookME to be an ebook reader. Also, I am using the WTK to build the midlets and was under the impression that is how the jar file is created.

    Could you perhaps elaborate a bit more on the how the midlet is changed based on the contents of the jar.

    Regards

  55. Irving Says:

    Hi,

    What I was proposing is that in the manifest have a line
    novice: true. When you say that you are using WTK, do you mean Sun WTK 2.5.1 or 2.5.2 or Netbeans Mobility? The directions below are for Sun WTK.
    You can accomplish this with Sun WTK by going into Settings -> User defined. And add novice with value true. If you were using my wtkbuild scripts, you would put novice: true into manifestsrc/manifest.mf. In the code, I would add to RssSettings a method getNoviceEnabled which would check for novice first in the record store (which it isn’t in), and then use getAppProperty to check the manifest. The proposed code would check if it’s true, and then look for a file /data/feeds.txt. With Sun WTK, create a directory data in res directory with file feeds.txt which is a list with URL followed by name. For example (this may come out weird with the line breaks from wordpress),
    http://newsrss.bbc.co.uk/rss/newsonline_world_edition/uk_news/rss.xml BBC
    http://rss.news.yahoo.com/rss/topstories yahoo

    The program would use the linebyline parser to read this and add to bookmarks. I would make an easy change to my ant build script to put the feeds.txt into the jar.

    Now, I will talk about the other method to make a jar.
    When I was talking about EBookME, EBookME has a feature which has an applet which allows the user to enter docs and/or text and then, it creates a jar and jad file which contains those books. This feature would need to be extracted and modified to allow easy creation of a jar, although, given it’s not with a WTK, I’m not sure how reliable that jar is. So, it may be easier to do things one at a time. Also, extrating the logic to just create the jar may take some time, where by contrast creating the jar with ant (I would have to make an easy change to the ant script

    If you were to use my ant build, you may be able to create jars faster although the initial setup takes some time. In any case, if you agree to the above, I could have a new release candidate ready in a few days.

    The another suggestion is similar to the first one except, there would be an activation screen which would get a code which is a decimal number of a bit map which indicates which links in feeds.txt to add to bookmarks. So, in the above example, that you wanted to enable the second feed, yahoo. The bit map would be 10 (The rigthmost bit being the first feed). This equals 2 as a decimal number. The program if it is novice, would only run after getting the initial 2 entered as an ‘activation code’. Then, the same program could be given out to dozens of people. This has the downside in that it is another step to take that they would not need if the jar was build specifically for that person. Anyway, the first suggestion is the simplest, this one while easy is a bit more work to create activation screen.

    Regards,

    Irving

  56. OMP Says:

    Hi Irving

    I am using the Sun WTK 2.5.2. I appreciate the time you have taken to elaborate on the different methods of approaching this project and agree that the 1st method is definitely the simplest.

    Correct me if I am wrong, do you make use of scripts to make the necessary amendments without having to make use of any specific IDE.

    I will attempt to implement method 1 and provide feedback on my success.

    Regards

  57. Irving Says:

    Hi,

    I have uploaded Release Candidate 4 which has the novice changes.

    I have an ant build xml wtk-build.xml in wtkbuild. It allows ant dist.midp.2.0.novice to be used to build the novice version. The novice.txt comes from src/data/novice.txt. The rss reader has an undocumented feature which allows it to read files in the jar if preceeded by jar:// in the case of the novice enhancement, it uses jar:///data/novice.txt
    Using the ant build is n the documentation wiki at the end, I talk about how to use the ant script. First the properties files need to be modified to point to the locactions of the required software. I have the ant script set up so that it can compile and copy the files to src of the WTK so that I can build and test on Sun WTK. I have a dist ant target to build for creating the distributions it does almost all that is needed. All the jars’ are built, the only thing needed is some netbeans files.

    Regards,

    Irving

  58. Irving Says:

    Hi Thiago,

    Sorry for the late reply to your message, I did not see it before. If your phone supports JSR-75 which allows J2ME to read from phone memory, you can use program midp20_jsr75_RSSReader.jar. You could download the RSS and put it onto your phone. Then, use find files on add feed to find the RSS on the phone. There is a downside to accessing phone memory in that every time that you go to a sub directory, the J2ME VM will ask you if it is OK to open that subdirectory. So, it is best to keep the files closer to the high level file system to minimize this.

    Another way to do this is to put the feeds into the jar file. This would mean modifying the the build script. For consistency, put them in /data directory. Then, you can read them from the jar file with jar:///data/(file name) as the URL. I have thought about making an applet using code from another project that would create the jar file along with adding feeds, but I have not had the time.

    Regards,

    Irving

  59. Irving Says:

    Hi OMP,

    Have you had time to look at Release Candidate 4? I’ve been holding up the final release of 1.11.1 until you can give it the OK. It’s on the download page as tar.bz2 file. I changed the code used by import feeds to share the code that reads the /data/novice.txt file so that if any errors occur, it will look the same. No errors should occur as long as the program’s jar file contains /data/novice.txt when manifest contains novice set to true. The next release would be 1.12 which would take longer as it has a lot of changes.

    Regards,

    Irving

    Regards,

    Irving

  60. Lector RSS para cualquier móvil Says:

    [...] ¿qué ocurre si tenemos un móvil más sencillo?. Con RSS Midlet sólo es necesario un terminal que permita correr software en Java (la mayoría de los terminales [...]

  61. Irving Says:

    Mi Espanol no es buy bueno, pero creo que si. Un telephono mobil que puedo correr software en Java puede correr RSS Midlet. Correr Java es bastante.

  62. OMP Says:

    Hi Irving

    My apologies for the late reply; I was out of office for a while. I works perfectly and I hae not encountered any problems. Thanks once again. More importanlty, can something similar be created for sms.

    I am looking at creating a “reader” that operates in the background of the mobile phone. When an sms is received it is tracked and stored in the reader based on the mobile number.

    Your input is appreciated.

    Regards

  63. Irving Says:

    Hi OMP,

    From what I have read, the J2ME SMS has a limitation in that it only works between two midlets. This is because, in order for it to work, the midlet must specify a port number when sending and receiving. It is not possible to send the SMS from a phone without a midlet or from internet applications that allow sending of SMS. I’m not sure if it is possible to use Java SMS to do it. If you are OK with that limitation, could you be more specific on how the SMS is used? Is the idea to send a feed URL to a midlet running in the background that would be read by the midlet? Or is the import OPML to be sent? Also, I don’t know much about it, but there is a push registry that may allow running the application if an SMS is received so that the application does not need to be always running in the background.

    Regards,

    Irving

  64. Irving Says:

    Hi OMP,

    I did make a mistake above. The midlet can send an SMS to either a phone’s inbox or a midlet reading for a specific port (by sending to that same port as the listening midlet). The problem comes in that the midlet cannot read the inbox of the phone. The midlet can only read on a specific port number. This limits the communication to be between two midlets.

    Regards,

    Irving

  65. OMP Says:

    Hi Irving

    Thanks for taking the time to respond. Your feedback has confirmed the research that I have been doing as well and as you are more experienced with J2ME; I thought it best to get your view.

    We currently have a banking system that notifies us if any transactions have taken place on our account, via an sms. Though, these sms are sent only when a transaction takes place and thus if you had any other personal sms’ to your mobile, then it can be quite cumbersome to keep track of the last notification that was received.

    What I would like to do is create a midlet that specifically “waits” for this notification and then stores it in the midlet; similar to a mini-statement of transactions. With this in mind, the midlet will extract certain info from the sms and insert it as a “transaction” on your mini statement. Do you memory constraints on mobiles, it should keep the last 5 “transactions” and update it every time a new notification is received.

    Your feedback on the practicality of such a project is appreciated.

    Keep up the great work.

    Regards

  66. Irving Says:

    Hi OMP,

    Given the limitations of midlets not being able to read the SMS inbox, it would be easier to read an e-mail from a midlet. Then, your banking system could send an e-mail to a mailbox that the cell phone could read. The downside is that the user would have to remember not to delete the e-mail before the phone could read it.

    Regards,

    Irving

  67. OMP Says:

    Hi Tommi/Irving

    Thanks once again for the great work you guys have put into this particular midlet.
    Regarding the issue for supporting the dispay of images; I have managed to find the
    source code that will assist in this process. I realise that you have marked this
    particular issue as low priority but would like to know if you could assist with
    incorporating this code into the midlet.

    The source code is for the servlet that will assist with the conversion of images to
    mobile phone images as well as a midlet that allows the mobile phone to connect to
    this servlet and download the converted image.

    http://code.google.com/p/mobile-rss-reader/issues/detail?id=27

    Regards

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word