Archive

Archive for the ‘Android’ Category

OpenGL ES 2 for Android: A Quick-Start Guide

08/08/2013 Leave a comment

So you want to make your first Android game or want to make a live wallpaper or just a simple 3D scene?
On Android, games use OpenGL ES 2 for rendering, which means you’ll have to learn it, even if you want to use a game engine it’s always good to know how stuff works on a low level.

By learning OpenGL ES2, you’ll be also learning WebGL since they both use the same set of functions.

OpenGL ES2 is cross-platform which means once you learn the API on a specific platform you will only need to know some platform-specific details to get your game to the other platforms.

While learning OpenGL ES 2, you will face challenges even if you have a good background in computer graphics! This is where books like OpenGL ES 2 for Android: A Quick-Start Guide shine.

Book cover

Learning OpenGL ES2 starts with a mountain that you have to climb even if you just want to render a single dot in a 3D world, it gets easier after that 🙂 .

The book has a unique approach which makes it easier to understand the process. Read more…

Fuchs Maps

05/03/2013 43 comments

Sometime ago after I finished my tutorials for Android offline map app I spent some time adding more features to the simple app, I guess I should share the code since many of those features are expected from any map application.

The post here won’t contain detailed explanation about how each feature is implemented since each feature might require it’s own post. Anyway if you’ve been reading my previous tutorials everything here should be straightforward and easy to understand, consider the source code provided here as some sort of raw data that someone might benefit from 🙂 .

This code is built upon the offline version of the app, so it doesn’t have web tiles support and the mapView cannot be created in xml (these can be changed easily by following the previous two tutorials).

The code isn’t perfect either, it does the job though 🙂 .

Here’s the features list:

The post will contain lots of images so please be cautious :).

Read more…

Categories: Android, Maps Tags: , ,

Simple Spring Physics

02/03/2013 8 comments

A few weeks ago (during exams period 😛 ) I was playing with spring physics, it turned out to be easy to implement and the results were cool enough for me to write a demo in Android, Microsoft XNA, and Javascript :D.

SpringLab img

Before I talk too much, here see the results for yourself, this is the web version :  SpringLab Web Version.

Reminds you of World of Goo 😀 ?

I came across this tutorial, from which I learned this lovely vector equation:

 F = -k(|x|-d)(x/|x|) - bv

I applied it to 2D springs and it gave amazing results especially when Read more…

Android Terrain Test 2 : Clouds

26/02/2013 11 comments

So I again went playing with OpenGL ES 2 on Android, this time I added clouds to the terrain:

Clouds_Screenshot

Not only that but I also learned new things about OpenGL ES 2 and fixed some deadly bugs in my previous code and reorganized the code in a better way.

Here are some screenshots showing the results of using different textures and different Read more…

MapApp7 : Creating MapView in XML

26/02/2013 15 comments

Hi :), welcome to the 7th part of my tutorial on how to create offline\online map app for android.

Series outline:

______________________________________

So once again it’s an unplanned tutorial and it’s about maps 😀 .

The thing is that I got a number of comments asking about how to create the mapView in XML instead of creating it in java code, what we’ll achieve here is:

  • Make the mapView creatable from XML.
  • Assign a zoom level to the mapView in XML.
  • Adding a position marker (drawable) to the mapView from XML.
  • Add ZoomControls to the layout containing the mapView in XML.

Here’s how the final result should look like:

MapApp with ZoomControls

MapApp with ZoomControls



And just a note before you continue reading: you can add the mapView in XML like any other view, one difference though is that you cannot rely on using wrap_content in the view, since there’s nothing to wrap (something like text in a button for example) but this is not end of the world, you can either using fill_parent or use 0dip with android:layout_weight, only then the mapView will play nicely with other views :).

So either use a RelativeLayout and put your mapView and other views in it, or use LinearLayout and supply weight values for your views.

So if you’re still reading this please download the source code (along with the empty database) from MapApp 6 : Web Support since I’ll be building on the code from that tutorial. Just please remember to put the database World.sqlitedb in the folder /mapapp/ on the sdcard.

The steps we will have to do are Read more…

Categories: Android, Maps, Programming Tags: , ,

Android front camera app

21/10/2012 3 comments

So my friend has a Samsung Galaxy SII, unfortunately the back camera isn’t working anymore, the front one is working and he was able to test it using a built in testing utility that only shows a preview with no photo taking functionality.

The problem with most (all maybe?) camera apps is that they first check the back camera and then crash since the camera isn’t working!. Using an old camera project of mine I removed most of the features (flash, focus, geo tagging, saving images to database with encryption) and changed the app to use the front camera using Camera.Open(1), so now he can use the front camera :).

The reason I’m posting this is that the app might help if someone has a similar problem.

I found some apps that only use the front camera but some of them were laggy and I already had my own app half ready :D.

Here’s the apk with the source Read more…

Categories: Android, Programming

Android terrain test

19/10/2012 18 comments

Hello :), a while ago I decided to learn OpenGL ES 2.0 in Android, so I decided to make a simple terrain, and now I want to share my thoughts about this experience :D.

Edit: after reading this post please take a look at Android Terrain Test 2 : Clouds where the code is better and bugs are fixed (clouds were added too 😛 ).

Terrain in landscape mode


  1. Difficulties
  2. Video
  3. Download apk and source
  4. WebGL Version!
  5. Helpful tutorials
  6. notes



Read more…