Particle systems are often used in games for a wide range of purposes: Explosions, fire, smoke, etc. This effects can also be used on normal apps to add an element of "juiciness" or Playful Design.
Precisely because its main use is games, all engines have support for particle systems, but there is no such thing for standard Android UI.
This means that if you are building an Android app and you want a particle system, you have to include a graphics engine and use OpenGL -which is quite an overkill- or you have to implement it yourself.
Leonids is made to fill this gap, bringing particle sytems to developers that use the standard Android UI.
Creating and firing a one-shot particle system is very easy, just 3 lines of code.
Note that the ParticleSystem checks the position of the anchor view when oneShot (or emit) is called, so it requires the views to be measured. This means that ParticleSystem won't work properly if you call oneShot or emit during onCreate.
When you create the particle system, you tell how many particles will it use as a maximum, the resourceId of the drawable you want to use for the particles and for how long the particles will live.
Then you configure the particle system. In this case we specify that the particles will have a speed between 0.2 and 0.5 pixels per milisecond (support for dips will be included in the future). Since we did not provide an angle range, it will be considered as "any angle".
Finally, we call oneShot, passing the view from which the particles will be launched and saying how many particles we want to be shot.
You can configure emitters, which have a constant ratio of particles being emited per second. This is the code for the Confeti example: