Monday, April 27, 2009

Will Bouygues Telecom be the first one to launch the Samsung I7500 in France ?

Today, the first live photos of the Samsung I7500 were found on Mobile-Review ( here ).







And tada....

What do we see in this screen ?

The Bouygues Telecom logo !!
Bouygues Telecom is one of the three telecom operators in France.
Orange has already launched the HTC Dream earlier this month,
SFR should launch the HTC Magic in May.

And we were missing any announce from Bouygues Telecom for the android market.

Looks like we have something like an answer here !

Saturday, April 25, 2009

French Descriptions avalaible in the market !

I made a french version of my game "Word Prospector".
It's another entry in the Android Market, and it's called "Chasseurs de mots".

And I think it's one of the first French independant game, and the first French Word Game !

As it is a French game, it made sense to put a french description. 
But some people couldn't understand this description and gave me a bad rating just because of this !

But since yesterday, the Android Market has added 6 new languages, and French is one of them.

So I could put a french description, in French, and a english description that says it is a French game ( and that there is a english version ! ) !

Android Market with French language

Thanks Google !


Ps : I would like to thanks, even if I really doubt they will ever read this, the users that gave me some good ratings just to counter the ones that gave me bad rating for a poor reason !

Sunday, April 19, 2009

Word Prospector is out now !

Hi all,


I've been quiet for so long time, because I finished and published my first Android game : Word Prospector...

The game is out for 15 days now, has been downloaded about 1800 times, and has generated 10 000 ad requests ( from admob )...

As anybody who published a application, I learned a lot from the whole process, and there are plenty of enhancements that I want to add...



Wednesday, February 25, 2009

Multi columns in listView

Hi all,

I read some articles on multicolumn in a list view with android.
As I worked on this subject, I can show you where I could get.

I tried to work on resolution independant list view, so I tried to place the columns relativelyto the screen, rather than relying on absolute coordinates. This way, the result should be correct, whatever the phone ( /notebook ? ) resolution, or whether you are on landscape or portrait mode.

The difficult part is to find the correct layout to pass to your adapter.
My first try was to have a column on the left side and a column on the right side.
Sound easy, but my first tries couldn't make it.

That was my first try for an line layout :



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent">
<TextView
        android:id="@+id/PlayerName"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Nom"
        />
<TextView
        android:id="@+id/PlayerScore"
android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:gravity="right"
        android:text="score"
        />
</LinearLayout>



But it failed... Both entries were stacked on the left of the screen...

I tried both to set the gravity and the layout_gravity to 'right', but it didn't change anything.

The solution was with the width of my second text view. 
I imagine that I couldn't have the two textview width set to 'wrap content', because it couldn't fill a whole line.

So the trick was to have one textView width set to fill parent, the second one to wrap _content, and to have the text placed on the right of the second textView, using the gravity parameter.
But, for some reason, you can't set the first textview width to 'fill_parent'.
I imagine that in this case, the first textview will take all the parent width, and won't let any place for the second one. And when the second textView width is set to 'fill_parent', it will take all the place, but taking into account the space taken but by the first, already initialised, textview.

Here's the working code anyway :


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent">
<TextView
        android:id="@+id/PlayerName"
        android:textColor="#ffFFffFF"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Nom"
        />
<TextView
        android:id="@+id/PlayerScore"
android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:gravity="right"
        android:layout_marginRight="25dip"
        android:textColor="#ffFFffFF"
        android:text="score"
        />
</LinearLayout>



Just a note : I add a right margin for the second text view, to reserve some space for the listview scrollbar ( without it, the text was behind the scrollbar ) !

Then I tried to have a three columns layout, with one column on the left, one column in the middle, and the last one on the right.
To be honest, I tried anything I could think of in tweaking the precedent code, with no success !

Until I tried to use a relative layout instead of a linear layout !

With a relative layout, the first try was the good one :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
 >
<TextView
        android:id="@+id/Center"
android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerHorizontal="true" 
        android:textColor="#ffFFffFF"
        android:text="Center"
        />
<TextView
        android:id="@+id/PlayerName"
        android:textColor="#ffFFffFF"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_toLeftOf="@+id/Center"
        android:text="Nom"
        />
<TextView
        android:id="@+id/PlayerScore"
android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_toRightOf="@+id/Center"
        android:layout_marginRight="25dip"
        android:textColor="#ffFFffFF"
        android:gravity="right"
        android:text="score"
        />
</RelativeLayout>




Now I still have a question in the back of my mind. 
This reminds me my early web development, where I tried to tweak HTML code to have resoution independant pages. HTML was designed for that !
And some years after that, every serious website is designed to be view in a fixed resolution.

So my question : is it worth it ?
For the moment, only one android device exist, so resolution independance is not a question.
And I feel like all the upcoming phones will have the same resolutions, and that every layout will be design with absolute pixel values... Wait and see ?


Wednesday, February 4, 2009

Tutorial : how to emulate an SD card with the Android emulator

It's important to know how to emulate an SD Card if you're into Android development.
Whether it be because your application actually use it, or to use it for your development, for instance for profiling.

Here are the required step to use an SDCard :

1) Create the emulated SDCard on your real computer :

Google provides a tool just for that, in their SDK/tools directory called mksdcard.
just give it the size of the SdCard you want to create ( in kilobytes or megabytes ) , the name of the resulting file, and you're done :
Open a command prompt, go to your SDK/tool directory, and type :
mksdcard 64M MyNewSdCard

and that's it !

2) Using the emulated SDCard with the emulator

To use the emulated SDCard in the emulator, simply launch the emulator with the '-sdcard EmulatedCard_File_Path' parameter :
So, from the command prompt in the SDK/Tool directory, type :
emulator -sdcard MyNewSdCard

3) Using the emulated SDCard with the emulator from Eclipse :

From eclipse, open the menu entry :
Run / RunConfigurations...

Then on the right panel, choose 'target'
And in the Additionnal Emulator Command Line Options, add
'-sdcard fullPath_to_your_SdCard_File'



And that'all !

4) How to explore the emulated SdCard content and push / pull files from your computer :

Within Eclipse :

Open the DDMS perspective :
Window / Open Perspective / Other... / DDMS

Now select the file explorer tab ( in the right panel ), and you have acces to a classic explorer of your emulated phone, including the sdcard !

Now to push a file from your computer, or pull a file from the emulated device, you have two discrete icons in the upper right corner :


Just use them to to browse and select on your computer the file to pull or push !

Without Eclipse :

Just launch DDMS from the command prompt in the SDK / tools directory.
The file explorer is in the device menu...