B4A Library Animated GIF decode library

Discussion in 'Additional libraries, classes and official updates' started by agraham, Dec 13, 2010.

  1. agraham

    agraham Expert Licensed User

    Attached Files:

    Last edited by a moderator: May 19, 2014
    Timteacher likes this.
  2. Erel

    Erel Administrator Staff Member Licensed User

  3. XverhelstX

    XverhelstX Well-Known Member Licensed User

    Hello there,

    I got an error when I try to use my own .gif file with 36 frames
    width: 301
    heigth: 100

    "An error has occured in sub:main_btnload_click(B4a line: 42)
    Timer1.Enabled = true
    java.lang.IllegalstateException: Intevral must be larger than 0.

    How do I solve this?
    running on my SE Xperia X10i


    EDIT: I solved the problem, It was something weird.

    All gif files on my pc didn't worked, then I used some of the internet and those worked.
    I went to iaza.com and uploaded my gif file there and resaved it and it worked.

    Last edited: Mar 9, 2011
  4. shrz

    shrz Member Licensed User

    gif decoder library?

    is there a library to the gif decoder as when i try and run the demo i get a compiling error stating that unknown type :gifdecoder
    and that i am missing a library reference, there is no library reference in the zip or am i missing something as i am still on version 1.5
  5. agraham

    agraham Expert Licensed User

    Have you moved the jar and the xml file in the archive to your additional libraries folder?
  6. shrz

    shrz Member Licensed User

    no i didnt, so that worked first time, thank you.
  7. Highwinder

    Highwinder Active Member Licensed User

    Live Wallpaper using Animated GIFs


    Is it possible to use your library to play animated GIFS as live wallpaper by way of using both your library along with XverhelstX's LiveWallpaper library to be able to achieve this?

    XverhelstX had expressed the desire to be able to have access to your source code to be able to include in the LiveWallpaper library. If I may be so bold, I would like to humbly grovel at your feet and beg you to allow XverhelstX access to your source code so animated GIF playback could be added to the LiveWallpaper library.


  8. agraham

    agraham Expert Licensed User

    Although he calls the library "LiveWallpaper" it isn't, it is just setting normal static wallpaper. Proper live wallpaper should be done with a specially written WallpaperService. See Live wallpapers as it is important that it is as efficient as possible. Resetting normal wallpaper at intervals from a Basic4android service is not the way to do it as you would not know when the home screen was not being displayed and stop the animation.

    However if he wanted to try he doesn't need the source code as he can reference GifDecoder.jar in his library to get the individual Gif images which is all that he would need. The GifDecoder library does no animation, it just supplies the images so he could use whatever images he wanted.
  9. Highwinder

    Highwinder Active Member Licensed User


    Thanks for your reply.

    This might draw some criticism, but I'm starting to get the impression that B4A is more of a playtoy than a real Android development product. Every time I come up with an app I want to write in B4A, apps that others are writing out there in the Java world, and seemingly no matter how simplistic, I hit a brick wall. :BangHead: This is getting extremely frustrating, and I'm having a real hard time taking B4A seriously at this point.

    It feels like I'm being told at nearly every turn to finally just get off my butt, do it right, and learn Java. :sign0148:

    I'd LOVE to be wrong here, but...
    Last edited: Oct 24, 2011
  10. XverhelstX

    XverhelstX Well-Known Member Licensed User

    I'm going to take a look at this WallpaperService, but I won't promis anything.
    I'm very busy with school, a company I work with and my own apps.
  11. moster67

    moster67 Well-Known Member Licensed User

    I don't think you should consider B4A as a full replacement for Android-development but call it a playtoy seems a bit too strong.

    While most important things are already covered in B4A, it is obvious that it can't cover everything that is "doable" with Eclipse and Java although I must say with the help of the libraries that Agraham and others are implementing, B4A is getting better for each day. We must remember that B4A is a still a very young product and I am sure it will get even more full-fledged - just give Erel some time.

    I hardly know any Java but still I have written a few libraries for my own use (some have also been published here on the forum) in order to use some features in Android which were missing in B4A. It should be said that some of those features were thereafter implemented by Erel or by some other library-developer.

    So yes, I think if you decide to start studying Java, that can only be a good thing. Then you can either continue developing with Eclipse and Java or your could write your own wrapper-libraries to implement features that might be missing. In both cases, you will become a more competent coder/developer.

  12. Highwinder

    Highwinder Active Member Licensed User

    Loading up...

    ...In the process of loading up the whole Eclipse/JDK/ADT kitchen to try my hand at cooking up some libs for B4A. I'll need some help getting my feet wet in writing libs for B4A from you gurus.

    I want to continue using B4A, but I also want the ability to code up a missing library when I need one. And right now, I want to write live wallpapers that make use of looping movie clips or animated GIFs. They are way too popular and $uccessful of an app type to be missing from B4A capabilities.

    XverhelstX: "I'm going to take a look at this WallpaperService, but I won't promis anything. I'm very busy with school, a company I work with and my own apps."

    Please know that the last thing I want to do is cause any problems for anyone. Hopefully I will not be doing so, but I do not have a full understanding of how hard it is to create libs for B4A. As a total Java noob, I will be asking LOTS of questions on how to make libraries for B4A and try to add to the product, which I do really like and would prefer to use if possible.

    Please forgive my noobness in advance for the questions I am getting ready to ask (which I will ask in the proper area on this forum).

    - Highwinder :sign0104::sign0085::sign0013::sign0188::sign0151:
  13. Gigatron

    Gigatron Member Licensed User

    Dear Highwinder

    I like livewallpaper too but at the moment you can make more powerfull application with B4A. Just exploiting animation library is ENOUGH to make
    interactif application:)

    You can see all i made with B4A ..


    I believe one day we make livewallpaper with B4A.

    For now i'am learning for exploiting maximum capabilities of B4A, i think
    I know just 5% :)

    Have Fun
  14. Highwinder

    Highwinder Active Member Licensed User

    Yes, B4A can be used to make interactive applications to be sure - I have 3 of them on the market right now. I just wish B4A was able to dig/function deeper into the Android platform, that's all.

    - Highwinder
  15. Erel

    Erel Administrator Staff Member Licensed User

    Which features are you missing except of LiveWallpaper?

    BTW, I guess that except of Google developers there are not many who dug more than me in the Android platform.
  16. Highwinder

    Highwinder Active Member Licensed User



    Sorry if anything i said rattled you. I think I better explain myself.

    To be sure, what you have done is WONDERFUL, and I know everyone that logs onto this forum is in agreement.

    However, what I'm describing and wanting to do is nothing more than anyone else getting into even the most simplistic and popular "marketable" apps will want to do - start with what would seemingly be the most simplistic of apps and move up from there - and live wallpaper is where most people think they will be able to start.

    To answer your qestion, "What features are you missing except for live wallpaper", I'll answer it this way:

    When I saw B4A, I got excited and immediately bought it, thinking I was going to be able to use my VB skills to write Android apps, enhanced by the fact that I have access to a professional graphics guy.

    So I then jump on Android Market to see "what's hot" - live wallpaper does well (and always will) and those "talking character" apps were doing really well. Cool, no problem, I can code that up quickly, nothing to it! Woo Hoo!

    WRONG - Brick wall (WHAM!):BangHead: B4A doesn't tap into live wallpaper functionality (thanks to XverhelstX, at least the ability to change wallpaper from within an app now exists). This just seems like such a simplistic thing to me, was really surprised to see there's no way to do this without having to become a Java guy.

    So then I decide "ok, well, got my butt kicked on that one, and besides, live wallpaper is a fiarly new feature on the Android."

    On to the next idea - making some of those talking character apps that do so well and are making a killing on the market, also easy to write. Since the microphone is a basic function of every android device back to the beginning, this should be no problem. I'll just whip up a "talker" app that trigers from microphone levels and -

    "WHAM!" (brick wall):BangHead: - B4A doesn't monitor microphone levels (and if not for XverhelstX, didn't have the ability to record anything at all).

    That's two immediate failures out of my very first two "beginner" apps I wanted to jump on - apps I should have been able to code up in a weekend.

    Live wallpaper continues to be one of the hottest app types on the market and will remain to be so because they are an Android system feature. A month ago, the "talkers" were popular, but are quickly fading from market (a few of them made millions). That was a HUGE missed opportunity.

    This is why I have some frustration. I'm not a beginning programmer skill-wise, and can write some serious software on PCs. I'm just trying to compete with the most simplistic of the popular apps on the market and so far, I'm 2 for 2 on brick walls in what I consider to be basic Android functions.

    From a programming perspective, I'm just not used to hearing "no, you can't do that". This is a first for me.
    Last edited: Oct 27, 2011
  17. vb1992

    vb1992 Well-Known Member Licensed User

    Can you provide a few names of these Talker apps?
    Siri ?

    Talking Baby Hippo?
    Last edited: Oct 27, 2011
  18. Highwinder

    Highwinder Active Member Licensed User


    Talking Tom Cat would be one, and yes, Hippo was another.

    But alas: no mic volume monitoring and no way to control the speed of the playback of the audio.
  19. Highwinder

    Highwinder Active Member Licensed User

    Like I said...

    Like I said earlier, however, I do not want to be some kind of whiner or feather ruffler. I seriously want things to get better.

    This weekend will be spent trying my hand at fumbling through the process of trying to learn how to create a Java library for B4A.

    I have no idea what I'm doing but desperate enough to give it a try. And I'll definitely be asking for lots of help from you library gurus.

    - Highwinder
  20. moster67

    moster67 Well-Known Member Licensed User

    Back to the topic of this thread, namely Agraham's GID Decode-library...

    Just wanted to thank you Agraham. It works great and I will use it in an app I am currently developing. You will surely be mentioned in the "About".