A good Android development phone?

Monkey Archive Forums/Digital Discussion/A good Android development phone?

NoOdle(Posted 2012) [#1]
I have been looking around trying to find a decent android handset I can use for testing. I'm not interesting in phoning or texting, this is purely for development. Please can anyone suggest a suitable model? I was wondering about the Samsung S5830 Galaxy Ace? I really don't know much about Android phones...

Thanks a lot for any help!


Gerry Quinn(Posted 2012) [#2]
I recently got a Versus Touchpad 7. You should find one for ST£100, I think. It's got the 4.0 OS and is a very decent little machine for the price. It has a 800 x 480 screen like the majority of Androids, so you won't be tempted to code for anything larger.

Obviously if you are targeting phones specifically you might want something smaller so the physical size will be similar to the target devices.


NoOdle(Posted 2012) [#3]
Nice, thats a pretty reasonable price for a pad! I was tempted to buy an iPad but this sounds more realistic.

Is 480x320 a fairly standard size (or ratio) for Android phones? I noticed the Samsung S5830 Galaxy Ace has this screen size and its the same as the iPhone which could be handy...


c.k.(Posted 2012) [#4]
A Nexus 7 is only $199. I'm really thinking about getting one of those...

Oooh... check this out: https://en.wikipedia.org/wiki/Comparison_of_Android_devices


Xaron(Posted 2012) [#5]
No more standard size is likely 480x800. Mine has 720x1280 while my graphics artist has one with 240x320. Lol.


marksibly(Posted 2012) [#6]
I *love* my Nexus7...but it's probably not a good test device as it's pretty highly speced.


NoOdle(Posted 2012) [#7]
Which brainiac decided that all these different sizes where a good idea? Autofit is all well and good but for crisp pixel graphics the scaling ruins it...

I *love* my Nexus7...but it's probably not a good test device as it's pretty highly speced.

Sounds like a great device, everyone seems to love it! Might have to buy one, future proof myself for a while as well.

No more standard size is likely 480x800.

Ah yea so it is. Thanks for the link c.k. I hadn't thought (stupidly) to check for a wiki page. Still, not much difference ratio wise between the two 0.6 vs 0.66 so scaling using autofit should work fine for most cases?


Xaron(Posted 2012) [#8]
Regarding screen sizes, this might be interesting:

http://developer.android.com/about/dashboards/index.html

http://developer.android.com/guide/practices/screens_support.html#testing

So you see, everything from 240x320 to 2560x1600 is possible. ;)

All in all 51.9% of all devices have "normal hdpi" resolution which is 480x800 or 480x854 followed by 22.3% of all devices which have "normal xhdpi" resolution which is 640x960.

Still, not much difference ratio wise between the two 0.6 vs 0.66 so scaling using autofit should work fine for most cases?


I wouldn't rely on it (Autofit).

That's what I do (I usually always use a fix resolution of 480x320):

Function CheckForResolution:Void()
  gScaleRatioX = 1.0
  gScaleRatioY = 1.0
  gTranslateX = 0.0
  gTranslateY = 0.0
  'Get aspect ratio
  Local dWidth:Float = Float( DeviceWidth() )
  Local dHeight:Float = Float( DeviceHeight() )
  gResX = DeviceWidth()
  gResY = DeviceHeight()
  Local imgSetHeight:Float = 480.0
  Local imgSetWidth:Float = 320.0
  gAspectRatio = dHeight / dWidth
  If( gAspectRatio > 1.5 )
    'Common for my Desire with 800x480 (=1,67)
    'Center the screen x wise
    gScaleRatioX = dWidth / imgSetWidth
    gScaleRatioY = dWidth / imgSetWidth
    gTranslateY = ( dHeight - imgSetHeight * gScaleRatioY ) / 2.0
  Else If( gAspectRatio <= 1.5 )
    'Common for the Wildfire using 320x240 (=1,33)
    'Center the screen y wise
    gScaleRatioX = dHeight / imgSetHeight
    gScaleRatioY = dHeight / imgSetHeight
    gTranslateX = ( dWidth - imgSetWidth * gScaleRatioX ) / 2.0
  Else
    gScaleRatioX = dWidth / imgSetWidth
    gScaleRatioY = dHeight / imgSetHeight
  End If
End Function


and in the main loop:

  Method OnRender:Int()
    Cls()
    SetScissor( gTranslateX, gTranslateY, Float(gResX)*gScaleRatioX, Float(gResY)*gScaleRatioY )
    PushMatrix()
      Translate( gTranslateX, gTranslateY )
      Scale( gScaleRatioX, gScaleRatioY )

      'Do your stuff here
    PopMatrix()
  End Method


The converted mouse coordinates are:

  gCurrentMouseX = Float( MouseX() ) / gScaleRatioX - gTranslateX / gScaleRatioX
  gCurrentMouseY = Float( MouseY() ) / gScaleRatioY - gTranslateY / gScaleRatioY



Samah(Posted 2012) [#9]
Loving the Samsung Galaxy S3 here.