[android-developers] Re: Android Activity stack

2010-10-20 Thread whitemice
You don’t need to page your lists.  The Android ListView is very
efficient at displaying long lists (recycling views, fast scrolling,
etc), assuming you are showing data derived from a database (there are
other examples if you are dynamically downloading your data)

The world of ListView
http://code.google.com/events/io/2010/sessions/world-of-listview-android.html

Regards
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Need I-phone app converted into an Android app.

2010-10-18 Thread whitemice
According to a demo I watched at the last Berlin droidcon, the latest
version of the Unity 3D engine supports outputting to Android.  I
suggest you take this up with Unity.

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HELP: A Verizon Droid puzzle.

2010-07-16 Thread whitemice
Quick dial on the Last Caller mini widget is now live on the Market,
enjoy,
Mark

On Jul 12, 10:43 pm, whitemice markbr...@zedray.co.uk wrote:
 Hi Operand Zombie
 Thanks for ruling out the CMDA API on your EVO.
 Issue is with the original Droid AFAIK (I'm guessing specific
 firmware), but I'll accept a LogCat trace from anyone who can
 reproduce the update issue on their device.

 Auto-populate/quick dial feature will be coming, as soon as I figure
 out how to make it work in the new 2:1 layout.
 Thanks for the feedback.
 Mark

 On Jul 11, 8:30 pm, Operand Zombie operandzom...@gmail.com wrote:



  I'd also highly doubt that the network type is impacting your app.
  Just to confirm, I downloaded your app on my EVO - a phone on the
  Sprint (CDMA) network, and it seems to work just fine (it'd be nice if
  when I tap the small 2x1 widget the persons number would auto-populate
  like when I tap the phone on the larger widget).

  So it would seem that the problem stems more from something the Droid
  is doing (the complaints are from Droid, and not Droid Incredible
  users, yes?), or perhaps some other app on the users phone..

  On Jul 11, 11:18 am, whitemice markbr...@zedray.co.uk wrote:

   I am based in Germany and publish the Last Call Widget on the
   Android Market.  I have been steady improving it over time, but one
   group of users still complain about it not working on their devices.

   My widget listens for the android.intent.action.PHONE_STATE intent,
   and then sets an alarm to update the last call UI in 20 seconds, then
   60 seconds, then 5 minutes, 1 hour, etc.  This works reliably on all
   my test devices, even with aggressive task killers (try it yourself).
   Unfortunately I have a cluster of users with Motorola Droids on the
   Verizon network who complain that the UI does not automatically
   update.

   I believe Verizon is a CDMA network (we have GSM here in Europe),
   though the Android API docs don't specify any implementation
   differences.  This could also be a driver issue on the Motorola Droid
   (we have GSM Motorola Milestones in Europe).

   I am wondering if anyone reading is in a position to offer any ideas,
   or test the widget on a Droid and/or CDMA network to see if they can
   reproduce an issue (with logs)?

   Regards
   Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: HELP: A Verizon Droid puzzle.

2010-07-12 Thread whitemice
Hi Operand Zombie
Thanks for ruling out the CMDA API on your EVO.
Issue is with the original Droid AFAIK (I'm guessing specific
firmware), but I'll accept a LogCat trace from anyone who can
reproduce the update issue on their device.

Auto-populate/quick dial feature will be coming, as soon as I figure
out how to make it work in the new 2:1 layout.
Thanks for the feedback.
Mark


On Jul 11, 8:30 pm, Operand Zombie operandzom...@gmail.com wrote:
 I'd also highly doubt that the network type is impacting your app.
 Just to confirm, I downloaded your app on my EVO - a phone on the
 Sprint (CDMA) network, and it seems to work just fine (it'd be nice if
 when I tap the small 2x1 widget the persons number would auto-populate
 like when I tap the phone on the larger widget).

 So it would seem that the problem stems more from something the Droid
 is doing (the complaints are from Droid, and not Droid Incredible
 users, yes?), or perhaps some other app on the users phone..

 On Jul 11, 11:18 am, whitemice markbr...@zedray.co.uk wrote:



  I am based in Germany and publish the Last Call Widget on the
  Android Market.  I have been steady improving it over time, but one
  group of users still complain about it not working on their devices.

  My widget listens for the android.intent.action.PHONE_STATE intent,
  and then sets an alarm to update the last call UI in 20 seconds, then
  60 seconds, then 5 minutes, 1 hour, etc.  This works reliably on all
  my test devices, even with aggressive task killers (try it yourself).
  Unfortunately I have a cluster of users with Motorola Droids on the
  Verizon network who complain that the UI does not automatically
  update.

  I believe Verizon is a CDMA network (we have GSM here in Europe),
  though the Android API docs don't specify any implementation
  differences.  This could also be a driver issue on the Motorola Droid
  (we have GSM Motorola Milestones in Europe).

  I am wondering if anyone reading is in a position to offer any ideas,
  or test the widget on a Droid and/or CDMA network to see if they can
  reproduce an issue (with logs)?

  Regards
  Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] HELP: A Verizon Droid puzzle.

2010-07-11 Thread whitemice
I am based in Germany and publish the Last Call Widget on the
Android Market.  I have been steady improving it over time, but one
group of users still complain about it not working on their devices.

My widget listens for the android.intent.action.PHONE_STATE intent,
and then sets an alarm to update the last call UI in 20 seconds, then
60 seconds, then 5 minutes, 1 hour, etc.  This works reliably on all
my test devices, even with aggressive task killers (try it yourself).
Unfortunately I have a cluster of users with Motorola Droids on the
Verizon network who complain that the UI does not automatically
update.

I believe Verizon is a CDMA network (we have GSM here in Europe),
though the Android API docs don't specify any implementation
differences.  This could also be a driver issue on the Motorola Droid
(we have GSM Motorola Milestones in Europe).

I am wondering if anyone reading is in a position to offer any ideas,
or test the widget on a Droid and/or CDMA network to see if they can
reproduce an issue (with logs)?

Regards
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Failing JUnit tests, not breaking my Ant script like I expect?

2010-06-08 Thread whitemice
Hi Xavier
Thanks for the feedback.  I haven't found a utility for parsing the
output (XML or otherwise) and breaking the build.  If no one can
suggest one, I'll just go an write one myself.

Regards
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Failing JUnit tests, not breaking my Ant script like I expect?

2010-06-02 Thread whitemice
My continuous integration server runs an Ant script, which calls
something like:
/tests/ant run-tests

My JUnit tests run, but with errors:
run-tests:
 [echo] run-tests-helper.
 [echo] Running tests ...
 [exec]
 [exec] com.zedray.stuff.FooBarTest:
 [exec] com.zedray.stuff.FooBarTest:.INSTRUMENTATION_RESULT:
shortMsg=Some error in your code.
 [exec] INSTRUMENTATION_RESULT:
longMsg=java.security.InvalidParameterException: Some error in your
code
 [exec] INSTRUMENTATION_CODE: 0

The errors are OK, but my build script keeps going (eventually
publishing my broken app to my testers - bad!).  What I would expect
is for the instrimentaiton to throw a build error, so my continuous
integration server (TeamCity in this case) realises that something has
gone wrong and reports a broken build.  The failonerror is already
set in the relevant macrodef, so I'm not sure what else I can do?

 /tests/build.xml 
macrodef name=run-tests-helper
attribute name=emma.enabled default=false /
element name=extra-instrument-args optional=yes /
sequential
echoRunning tests .../echo
exec executable=${adb} failonerror=true
arg value=shell /
arg value=am /
   arg value=instrument /
arg value=-w /
arg value=-e /
   arg value=coverage /
   arg value=@{emma.enabled} /
extra-instrument-args /
arg value=${manifest.package}/${test.runner} /
/exec
/sequential
/macrodef

Any ideas/suggestions on how to fix this?

Regards
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] JUnit Puzzle: How do I test a Service and an Application together?

2010-05-21 Thread whitemice
I want to test a Service with my Application class pre-instantiated, a
bit like what happens on a real device.

My problem is I can't figure out a way to do this with the correct
Application context AND having the Application being instantiated
EXACTLY once.  Being instantiated multiple times causes issues if
there is code which uses singletons, and/or performs registrations
tasks that should only be performed once.

Full code for this snippet can be downloaded here:
http://www.zedray.co.uk/temp/ServiceSnippet.zip

My test code:
=
public class ServiceDemoTest extends ServiceTestCaseServiceDemo {
  protected final void setUp() throws Exception {
/** Setup the MainApplication. **/
mApplication = (ApplicationDemo)
Instrumentation.newApplication(ApplicationDemo.class, getContext());
mApplication.onCreate();
setApplication(mApplication);

super.setUp();
}

@Override
protected final void tearDown() throws Exception {
if (mApplication != null) {
mApplication.onTerminate();
mApplication = null;
}
setApplication(null);

super.tearDown();
}

@MediumTest
public final void testStartable() {
startService(new Intent(getContext(), ServiceDemo.class));
}
=

This produces the following trace, which suggests that several
instances of my Application are being created, or just that onCreate()
is being called several times:

=
05-21 16:20:43.667: INFO/ServiceSnippet(4126):
ApplicationDemo.onCreate() mInstanceId[0]
05-21 16:20:46.398: INFO/ServiceSnippet(4143):
ApplicationDemo.onCreate() mInstanceId[0]
05-21 16:20:46.437: INFO/ServiceSnippet(4143):
ApplicationDemo.onCreate() mInstanceId[1]
05-21 16:20:46.447: INFO/ServiceSnippet(4143): ServiceDemo.onCreate()
05-21 16:20:46.447: INFO/ServiceSnippet(4143): ServiceDemo.onStart()
05-21 16:20:46.466: INFO/ServiceSnippet(4143):
ApplicationDemo.onCreate() mInstanceId[2]
05-21 16:20:46.488: INFO/ServiceSnippet(4143):
ApplicationDemo.onCreate() mInstanceId[3]
=

I have no idea why the onCreate() keeps getting called, and how to
ensure it only happens once.  Is this possible? Any ideas?

Regards
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Need help understanding the ContentObserver life-cycle.

2010-05-09 Thread whitemice
I have Call Log Widget on the Android Market:
http://blog.zedray.com/call-log-widget/

The core of this Widget is an AppWidgetProvider which registers a
ContentObserver to the CallLog content URI.  This means that my widget
is updated every time a call (incoming, outgoing, missed) is
recorded.  This works fine for a while, until *something happens* and
my ContentObserver stops getting called (no error message seen in
trace).  I would rather that this ContentObserver persisted until the
user removes the Widget.

I am guessing that my JVM has been destroyed (due to low memory?),
ContentObserver garbage collected and/or ContentObserver unregistered
(or just pointing to nothing), but I don't know how to debug this
without restarting my code (and thereby re-registering).

I can hide this bug by periodically re-registering my Content
provider, but I would rather understand the cause and have a more
optimal solution.

Feedback appreciated.
Mark

### Code snippet ###
public class CallLogWidgetProvider extends AppWidgetProvider {
/** Making this static is an attempt to prevent duplicate
ContentObserver registrations. **/
private static CallObserver sCallObserver;

   /** Method called by onEnabled() and onUpdate(). **/
private void registerCallObserver(Context context) {
if (sCallObserver == null) {
sCallObserver = new CallObserver(null,
context.getApplicationContext());
 
context.getContentResolver().registerContentObserver(CallLog.Calls.CONTENT_URI,
true, sCallObserver);
}
}

 private class CallObserver extends ContentObserver {
private Context mContext;

public CallObserver(Handler handler, Context context) {
super(handler);
mContext = context;
}

@Override
public void onChange(boolean b) {
/** Update all widgets due to a change in content. **/
callOnUpdate(mContext);
}

//... widget code ...
}
### Code snippet ###

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Need help understanding the ContentObserver life-cycle.

2010-05-09 Thread whitemice
Ah, BroadcastReceiver - ACTION_PHONE_STATE_CHANGED.  That's the sort
of life-cycle I was looking for. :-D
Thanks
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Problem updating widget in emulator

2010-05-05 Thread whitemice
Genius, I'd never have figured that one out! (just had the same issue
testing http://blog.zedray.com/call-log-widget/)

Thanks for closing your own question.
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Using Flurry with a Widget

2010-04-24 Thread whitemice
Has anyone had any luck using Flurry with a home screen widget?

What I want to do is tap into the onEnabled and onDisabled life-
cycle methods, so I know how long at least one of the widgets has been
installed on the home screen.  The problem here is that the widget
does not maintain the same context between these two calls, and (if
well designed) shouldn't spend much time being in memory at all.

My widget is triggered repeatedly by the AlarmManager and does the UI
within the permitted time span of the BroadcastReceiver.  This is
extremely efficient from a saving battery perspective(AlarmManager can
be configured not to wake up the device), but may not be giving Flurry
enough scope to report back usage data over the network.  I have no
idea how Flurry have implemented this functionality?

Hence I am seeing incorrect session length values in my Flurry
reports, i.e. Flurry is reporting 3-10 seconds (probably the time it
takes to initialise my widget) and not the time the widget spends
being shown on the home screen (in this example several days).

Unfortunately Flurry have locked down their own forums, and are not
returning my support emails. :-(
As Flurry reports are delayed, this is very difficult to debug.  Does
anyone know if this kind of tracking is this possible?
Would it help if I spun up a service or cached the context (i.e. leak
some memory)?

Could anyone suggest another usage tracking tool that supports Android
Home screen widgets?

Regards
Mark

I'm blogging this:
http://blog.zedray.com/2010/04/24/using-flurry-with-a-android-home-screen-widget/

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: what's the best 2d engine and what's the tools I need to create a game?

2010-03-30 Thread whitemice
If you want to see how its done, suggest you look here:

Replica Island is a free, open-source game for Android.
http://replicaisland.net/

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

To unsubscribe from this group, send email to 
android-developers+unsubscribegooglegroups.com or reply to this email with the 
words REMOVE ME as the subject.


[android-developers] Re: Develop Android app using J2ME Polish

2009-12-21 Thread whitemice
Polish is designed to save you from most of the pain of writing a good
looking app in J2Me. However Android is a modern OS with it's own UI
framework, so you should only consider it if you have a very great
need to support Java phones.

If you want to support more users, consider building a web app
instead.
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Re: Same servicein multiple APKs, only want best one to launch

2009-12-18 Thread whitemice
I already had this discussion and was able to put together a workable
solution. I bloged it here:
http://tinyurl.com/9hwdva

Regards
Mark

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


[android-developers] Device bug: Data SMS not received on Samsung Galaxy

2009-09-25 Thread whitemice

Background:A code contained in a Data SMS is required to authenticate
the MSISDN of the device running our product.

Bug: When I receive a data SMS on the Samsung Galaxy, the Intent
“android.intent.action.DATA_SMS_RECEIVED” is not thrown and the Data
SMS arrives in the Inbox as a blank text message.  Any data contained
in the Data SMS seems to be lost once it arrives in the Inbox.

I have filed this bug here:
http://code.google.com/p/android/issues/detail?id=4018

I have made a little app to test this functionality.  It detects the
MSISDN (not working on many devices) or lets you enter it, and then
send either a Data SMS or a Text Message.  The app will then display
any incoming Data or Text SMSs by the intent they throw and allow you
to interrogate the native Inbox to determine what data was saved.
http://tinyurl.com/y8jspgv  -- Info
http://tinyurl.com/yannsxb -- ZIP source + APK

Is there any known workaround for this situation?
Regards
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Developer review of all Android (Cupcake) devices - HTC vs. Samsung, test cases, etc.

2009-09-01 Thread whitemice

Hi Android Developers
I am doing a developer centric review of all the Android devices
currently available (retail) and have documented some technical
differences on my blog:
http://blog.zedray.com/2009/08/22/android-cupcake-hardware-review/

I am now working on individual device reviews, and was wondering if
anyone could point out some of the differences they’ve noticed between
devices, so I can write some useful test cases.

So far I have noticed differences with the flip out keyboard, virtual
keyboard height, MSISDN detection, SMS Capture, etc, but I would be
interested in anything that would make an application perform
differently on another device.

I want this to be a useful resource for all the developers,
particularly for the kind of people who keep asking me which Android
device they should buy.
Regards
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Android service always alive..

2009-07-29 Thread whitemice

Maybe this is what you're looking for:

Its not clear from the documentation the difference between
startService() and bindService().  If you just bind to a service, the
service will be killed after your activity calls unbind.  If you call
startService(), then it will (more or less) keep running regardless.

It's very easy to leak services that way, which is a bug everybody
should be watching out for!
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: SurfaceView to slow for games? OpenGL necessary to do games?

2009-07-22 Thread whitemice

Some phones implement this functionality in hardware, others in
software.

Here is a tutorial I found recently:
http://sites.google.com/site/drpaulthomasandroidstuff/Home/voxel-fun/how-it-works
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: DEVELOPER CHALLENGE 2 - Can suite of applications participate as one entry?

2009-07-02 Thread whitemice

I had this issue in ADC1 and was forced to put all my apps into the
same APK, although by configuring the manifest.xml file I was still
able to make each application show up with an individual icon.

However, due to the commoditized nature of the competition, the judge
doe’s not follow the normal user lifecycle (install, open, play,
uninstall), so an Android style “federation” of apps is at a huge
disadvantage to the traditional single app model.

I don’t think there is much Google can do to change this, so I suggest
that you rethink your submission idea early on to take this into
account.

Regards
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: I must pay 25$ to distribute a FREEWARE on Android Market

2009-03-16 Thread whitemice

Distribution of apps (even free ones) over the Android Market isn’t
free for Google.
Worst case: why don’t you just ask someone else to distribute the app
on your behalf?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Confused about handling SSL Errors in WebView

2009-02-24 Thread whitemice

Hi Manuel
So far no luck.
I'm sure any solution will involved the SslErrorHandler class, but I
have so far failed to find any post 1.0 example code.
http://developer.android.com/reference/android/webkit/SslErrorHandler.html

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: IMPROPER RENDERING OF A HTML OBJECT

2009-02-20 Thread whitemice

I’ve just encountered the same problem.

Below is a code snippet which defines a DIV element, light blue in
colour and of limited height.  This height/overflow setting caused a
scrollbar to appear on all the desktop browsers tested.  In the
Android Browser, no scrollbar is shown and content after the 10th line
is cropped.

I am testing on a ADP 1.0 device.

I will now see if anyone has previously reported this as a bug.
Regards
Mark


!—SNIPPIT --
html
headtitleScroll Test/title/head
body
h3Scroll Test START/h3
div style=height: 180px; overflow:auto; background-color: #66;
1yyy1br
2yyy2br
3yyy3br
4yyy4br
5yyy5br
6yyy6br
7yyy7br
8yyy8br
9yyy9br
0br
1yyy1br
2yyy2br
3yyy3br
4yyy4br
5yyy5br
6yyy6br
7yyy7br
8yyy8br
9yyy9br
0br
1yyy1br
2yyy2br
3yyy3br
4yyy4br
5yyy5br
6yyy6br
7yyy7br
8yyy8br
9yyy9br
0br
/div
h3Scroll Test END/h3
/body
/html
!—SNIPPIT --


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: IMPROPER RENDERING OF A HTML OBJECT

2009-02-20 Thread whitemice

Added as a bug report here:
http://code.google.com/p/android/issues/detail?id=2044can=1q=htmlcolspec=ID%20Type%20Version%20Security%20Status%20Owner%20Summarystart=100


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Confused about handling SSL Errors in WebView

2009-02-13 Thread whitemice

I have a WebView and I want to capture an error, most likely related
to a web page having an invalid SSL certificate (company Intranet).
Currently the MyWebViewClient.onPageStarted() method is called, and no
secure content is shown the the page.

Generally I would expect WebViewClient.onReceivedError() to be called
to handle this situation, although the documentation is not quite
clear on exactly what kind of errors this method covers.

Looking at the Android Browser implementation source code, it seems to
call WebViewClient.onReceivedSslError() on line 2954, which triggers
the relevant site certificate prompt:
http://android.git.kernel.org/?p=platform/packages/apps/Browser.git;a=blob;f=src/com/android/browser/BrowserActivity.java

...which of course is a method that was removed in 0.9:
http://code.google.com/android/migrating/m5-0.9/changes/android.webkit.WebViewClient.html

I am not clued up enough to take on the WebKit source and can't find
any documentation on what if anything has replaced the
onReceivedSslError() method.

Is this a bug/omission in the Android platform?  How was the
release-1.0 browser complied with missing classes?  Am I doing
something completely wrong?

Thanks in advance for your feedback.
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Sending SMS using Messaging app - with filled in To: field

2009-02-12 Thread whitemice

Thanks to the wonders of open source

  * ACTION_VIEW Specification taken from Android source code
com.android.mms.ui.ComposeMessageActivity.initActivityState()
 * See line numbers between 2999 to 3004 in v1.0
 * 
http://android.git.kernel.org/?p=platform/packages/apps/Mms.git;a=blob;f=src/com/android/mms/ui/ComposeMessageActivity.java
 *
 * KNOWN BUG: Android only supports a single recipient, comma
separated lists are invalid
 */

public Intent getSmsIntent() {
Intent intent = new Intent(Intent.ACTION_VIEW);

if (recipient != null) {
intent.putExtra(address, recipient);
} else {
return null;
}

if (body != null) {
intent.putExtra(sms_body, body);
}

intent.setType(vnd.android-dir/mms-sms);
return intent;
}
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Android Bug/Architectural Issue: How do I handle multiple versions of my own Content Provider?

2009-01-19 Thread whitemice

Thanks for the additional feedback.

The meta data name is a global namespace to all applications, so you must
qualify it…
That’s how I understood it.  “myComponentNamespace” is a shortened
camel case to represent a full application namespace.  I renamed all
my code to anonymize our client and make my point easier to follow.
For example, my provider authority of
“myComponentNamespace.theirApplicaitonNamespace” is something like
“com.myclientscompany.example.projectname.platform.component.com.thirdpartycompany.applicationname”.

Thanks for pointing at the actual documentation, as it was sort of
buried.


Usually they rely on the standard permission mechanism, though you can do 
more complicated stuff if you want.
The standard permission mechanism is great for protecting the user
from bad applications, but not helpful for protecting an application
from a bad user.  I will have to look at this in more detail when I
find myself implementing something that needs to be secure.

Regards
Mark


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Android Bug/Architectural Issue: How do I handle multiple versions of my own Content Provider?

2009-01-16 Thread whitemice

Thanks for the additional feedback.

Peli  - Probably you should not mis-use getType()…
I originally choose getType() for simplicity (URI in - String out),
but I will now use query() instead.  However, as my application is not
compatible with any other software (i.e. my data exchange has no MIME
type), I would be interested if anyone could provide a concrete
example of where an inappropriate getType() response might cause
problems.

Also, for simplicity I am not using intents.


Dianne Hackborn - ...Along those same lines, looking for your own special 
text in the authority to identify content providers you are going to work 
with is also kind-of screwy.  Typically how we do this is attach meta-data to 
the component that whoever is interested in identifying specifically tagged 
components looks for.  Look at the way input method service components are 
discovered in Cupcake as an example. 

Here is a small component discovery rewrite, now using meta-data to
mark valid Content Providers:

AndroidManifest.xml
provider
  android:name=test.TheirContentProvider
  android:authorities=myComponentNamespace.theirApplicaitonNamespace
  
  meta-data android:name=type android:value=myComponentNamespace/

/provider


Java Code
ListProviderInfo pis = androidContext.getPackageManager
().queryContentProviders(null, 0, PackageManager.GET_META_DATA);
...
for(ProviderInfo pi:pis) {
  Bundle md = pi.metaData;
  if (md != null 
md.getString(type) != null 
md.getString(type).equals(myComponentNamespace)) {
//Congratulations you have now found a valid Content Provider
//Note: keep looking as you might find more
}
  }

The upside of this is that the application developer can now deploy my
Content Provider using any URI namespace they choose.  However, I will
still recommend the previous naming scheme to prevent damaging naming
conflicts.


Dianne Hackborn - …Also, have you thought about security at all?  What kind 
of information is stored on the content provider?  Who can access it?
As I understand it, any cross application Content Provider on Android
needs to implement its own (i.e. roll-your-own) security solution when
handling incoming requests.

My current application (an advertising server) treats this as an open/
free to use API, with risk scenarios being managed mainly on the
server side.

My next application (component for peer-to-peer data sharing) will
require a custom Android Permission for sending data.  This is similar
to the “android.permission.INTERNET” permission whereby the user still
gets a say as to whether the application can send data off the phone.

I am not yet confident enough in the security capabilities of Android
and/or my knowledge of them, to implement an application that handles
confidential data.

Regards
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Android Bug/Architectural Issue: How do I handle multiple versions of my own Content Provider?

2009-01-15 Thread whitemice

Solution
The simplest solution (not using intents) is to instruct each user of
my component to define a new content provider:

content://myComponentNamespace.theirApplicaitonNamespace

Android lets me search through all available content providers, which
can be string matched to my own component namespace.

context.getPackageManager().queryContentProviders(null, 0, 0);

If I find more than one valid Content Provider I can then pass around
Synchronisation information (validity, compatibility, version, status,
etc) using any of the ContentProvider class methods (I used getType
()).

The only problem with this approach is that the application developer
who imports my component (as a JAR) will have to define their own
custom Content Provider.  This is done by extending the
MyComponentContentProvider class (from my JAR) and defining a
CONTENT_URI variable.

package test;
import com.whitemice.MyComponentContentProvider;
public class TheirContentProvider extends MyComponentContentProvider {
public static final Uri CONTENT_URI =
Uri.parse( content://
myComponentNamespace.theirApplicaitonNamespace);
}

As well as adding the custom provider to the Android manifest.

provider
android:name=test.TheirContentProvider
 
android:authorities=test.service.TestContentProvider.TestAndroidContentProvider
/

Without the custom Content Provider configuration, Android will behave
strangely and sometimes call a different .APK file if it has a class
in it with the same name.

As this is a work time project, I will have to check if I can release
the synchronisation code as a working example.  If I do it will appear
on my blog here:
http://tinyurl.com/9hwdva

Regards
Mark

P.S. Thanks again everyone for your suggestions.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Android Bug/Architectural Issue: How do I handle multiple versions of my own Content Provider?

2009-01-09 Thread whitemice

Thanks everyone for the replies:

Just to clarify: I am writing an advertising server component at the
moment, but other projects that I have in the pipeline essentially
have the same requirement.

Dianne Hackborn - As far as naming issues, this is why you should use an 
authority in a
namespace/domain you own, so that there will not be naming
collisions.
My application sits in its own namespace.  I am only having conflicts
with different copies of the same Content Provider Component being
installed with different applications.


Dianne Hackborn - …any client app that is relying on a component that is not 
part of the base platform needs to deal with the error cases if that 
component does not exist.
If the component is not there, then the application would show an
error on start and normally refuse to run.  Result: Bad user
experience.


Peli - Hm, I think you end up with unnecessary code duplication if you 
include your component / content provider in every application.
This isn’t an issue, as my component is delivered as a small Java
class included with the main application.  When activated, the
component inflates in size as it downloads content over the internet.
My goal is to manage this process by having only one component
activated regardless of how many applications are installed on the
device.


Peli - I think it would be better if every application that wants to use your 
component shows a small dialog You need to install the following 
component... with a button that brings you to the download page of the 
Market for your component...
Catching a missing component is easy enough.  It’s just that what you
describe adds up to a bad user experience:
- No user will download a 3rd party advertising server (or any non-
core functionality) just to run a game.
- Installation is already a convoluted process and should only take
place once.  Additional APK installations require more downloading,
application permission settings, button pressing, confusion, etc.
- No client of mine will accept a solution that asks the user to jump
through any additional hoops (e.g. even the Android Developer
Challenge only permitted a single executable).


Peli - At OpenIntents we try to resolve dependencies as late as possible - 
i.e. not at installation time, but the first time the user actually wants to 
use a particular feature (they may never use it in which case there is no 
need to install it).
This doesn’t work for me as ad funded Applications generally require
my component to be available on startup.


Peli - I think in the long run Market should have better tools for resolving 
compulsory dependencies automatically, but for the moment I think this is a 
good compromise for developers and end users.
I agree that this needs to be improved, as there is currently no
support for components (downloading, versioning, upgrading, etc) in
Android or on the Android Market.  Hence I am trying to get around
this issue by “managing” a Content Provider.

Dianne Hackborn - Oh wait if what is being talked about is having the same 
content provider in multiple applications, that is completely the wrong 
approach.  For a given authority there must be one and only one content 
provider implementation, living in a single specific .apk.
This is how it’s done at the moment, i.e. Android will log a warning
(and do nothing) every time an application tries to register a Content
Provider URI that’s already in use.  This means that subsequent
applications will be broken (and need to be reinstalled) if the
original Content Provider is ever uninstalled.  I don’t seem to be
able to reregister a missing Content Provider URI at runtime.


Muthu Ramadoss - AFAIK, a Content Provider is tied up to a unique Authority.  
If you want to support multiple URI's you do so accordingly by providing 
different URI paths using the same authority.
I explored this approach initially, but it still has the following
problem:

Over time, I release a number of versions of my component that other
developers subsequently integrate into their own applications.  My
component uses the following URI conventions:
content://mynamespace.mycomponentnamespace.version1/
content://mynamespace.mycomponentnamespace.version2/
content://mynamespace.mycomponentnamespace.version3/

Android allows me to search and interrogate each URI to check the
status of each Content Provider (allowing me to version my
component).  This is fine until v3 of my component becomes really
popular and a user installs five games on their phone, each with the
same component trying to register the same URI.

The user then gets bored of the first game and uninstalls it, thereby
breaking all the other games that rely on the Content Provider that it
contains.  As URIs are set at install time, none of the other games
will work until the user reinstalls an existing game or downloads a
new one - This is a terrible user experience.

Regards
Mark

--~--~-~--~~~---~--~~
You received 

[android-developers] Re: Android Bug/Architectural Issue: How do I handle multiple versions of my own Content Provider?

2009-01-09 Thread whitemice

Peli - Indeed, for an advertising server, it makes more sense to include that 
in every application separately, for the reasons you mentioned. I could 
suggest the following…and all applications can access that one content 
provider. Would this sound like a suitable solution?
I didn’t think of just doing the synchronisation using intents (as
they support a one-to-many relationship between components).  I’ll do
a proof of concept on Monday to see if this works.  It’ll be a bit of
a hassle for the guy who has to incorporate this into their
application, but it will do until Android is improved to support
components. ;-)

Thank you kindly!!

Mark Murphy - Since the content in question is going on /sdcard (right? 
right?!?), solve the problem by managing the space, not managing the 
components. Since you already require each application to have your own code 
anyway, just use a regular Java class to access the /sdcard data store and 
dump the ContentProvider interface.
Peli - Ad images and banners should be placed on the SD card, but private 
data for accounting (number of times an ad had been shown, click- 
through-rate, last ad shown, etc.) could be stored in a content provider, and 
it makes sense to share this content provider among several applications 
installed (e.g. so that the end user is not presented the same ad in every 
application they launch).
While Mark Murphy’s solution could be made to work, communicating
outside of the OS would be quite ugly in terms of the security and the
hardware assumptions which would need to be made.  I also expect the
security regime and file permissions to morph somewhat over the next
couple of Android releases, potentially breaking my OS bypass hack.
I’ll put this idea down as a plan B, thanks anyway!!


I think I have enough ideas to get this to work now, and will post my
results to the thread and blog early next week.

Thank you Android Developers. :-D
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Android Bug/Architectural Issue: How do I handle multiple versions of my own Content Provider?

2009-01-08 Thread whitemice

I’ve blogged this question with pictures here:
http://tinyurl.com/9hwdva

I am writing a component that makes certain functionality available to
any application running on an Android device (e.g. an advertising
service, stock ticker cache, Snowball server, etc).

This functionality is useful for application developers, but not
interesting to actual users i.e. my component should be included as
part of a new application, but not require the end user to explicitly
install the additional component themselves.

I expect that over time multiple applications installed on the phone
will want to communicate with my component.  As each new application
will have a different certificate, I want to communicate between
applications using an Android Content Provider.  To save resources on
the device (networking, caching, etc) only one instance of my
component should be appointed to handle all queries.

This works well as Android only registers the first Content Provider
for a given URI and then ignores the rest (throwing an “WARN/
PackageManager: Skipping provider name  name already used” error
each time a new one is installed).

However if the registered Content Provider is uninstalled, it will
immediately break all the other applications that rely on it, even
though other instances of the component still exist.

Questions:
- Does anyone have any suggestions on how to better handle this
situation?
- If I could reregister Content Providers I could handle situations
like this, and upgrade components when newer versions are installed.
Perhaps the Android OS could also handle this situation better, by
tracking Content Provider naming collisions?
- Should I be looking at other communication methods to solve this
issue?


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Working example of CrossProcessCursor?

2008-12-18 Thread whitemice

Solved
Use a MatrixCursor instead of a CrossProcessCursor.
This will allow you to send custom data in a Cursor object over a
ContentProvider, and works across the process boundary.

Example code:

public class TestContentProvider extends ContentProvider {
public Cursor query(Uri uri, String[] arg1, String selection, String
[] selectionArgs, String sortOrder) {
String[] columnNames = new String[2];
columnNames[0] = col1;
columnNames[1] = col2;
MatrixCursor cursor = new MatrixCursor(columnNames);

String[] columnValues = new String[2];
columnValues[0] = ServiceName;
columnValues[1] = 2;
cursor.addRow(columnValues);

return cursor;
}

...other required methods..
}


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Working example of CrossProcessCursor?

2008-12-16 Thread whitemice

bump

So correct me if I am wrong, but the only Cursors that can be sent
across a process boundary are the ones created by SQLite?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Working example of CrossProcessCursor?

2008-12-15 Thread whitemice

Can anyone point me at a working example of CrossProcessCursor?

I am trying to create a custom object and pass it to another process
over a content provider.

My code works fine inside the same process, but I get a
CursorIndexOutOfBoundsException(AbstractCursor.java:559) when I try to
access the content provider from another Package.  Somehow the “mPos”
variable is getting reset to -1 when going cross process, but I don’t
yet understand the internals enough to solve this.

Thanks for the help
Mark




--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



Re: Fw: [android-developers] Re: Android and bluetooth

2008-12-04 Thread whitemice

Hi Nick

I can see there is a use case for this. If we were to do this, it would be 
through a scary sounding bluetooth permission. This application can connect 
to untrusted Bluetooth devics. We'll have to think about this a little.
I would do it this way:
(1) Application permission: This application can connect to any
untrusted Bluetooth device without asking your permission.

(2) To get this to work the user must manually activate Bluetooth, and
then select an extra check box for Bluetooth Ad Hoc communication
(seeing another scary warning) in the Bluetooth settings.
The user is then shown a list of currently installed applications that
make use of this feature, having to activate (or disable) this feature
for each individual application.

It would be the responsibility of application developer to detect when
this feature is disabled, and then guide the user towards the
Bluetooth settings panel.

(3) Make the Android market a website, and make it searchable by
permission.
This would allow the community to find and strike down applications
that misuse this capability.

I think this would be enough hoops for the user to jump through while
keeping the user in control, and making it more secure than existing
Symbian Bluetooth implementations.


The first step is to get any Bluetooth API out. Let me work on that first :)
I’ve used enough bad Bluetooth stacks to know not to ask you to
hurry ;-)
…But you can put me down as a vested interest if you require some
outside validation in this area.

Thanks for listening
Mark


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



Re: Fw: [android-developers] Re: Android and bluetooth

2008-12-03 Thread whitemice

Hi Nick
While we are on the subject, I am looking for Android *Ad-hoc*
Bluetooth support.

Example: Alice and Bob both have my client running on their phones,
and walk within Bluetooth range of each other in a social setting.  I
want the application to:
(a) Be able to detect the other Bluetooth phone in the room
(b) Detect that the same application is running on the other phone
(c) Create a data connection between the two phones without asking for
the user’s permission (permission is granted beforehand).

Is this considered a security problem, or will this kind of thing be
allowed in the new API?

Some more info on what I am doing….
http://blog.zedray.com/snowball/

Regards
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



Re: Fw: [android-developers] Re: Android and bluetooth

2008-12-03 Thread whitemice

Hi Nick
Thanks for getting back to me.

We are likely to prevent Bluetooth data connections (RFCOMM) from apps unless 
the two phones have been paired. It's really hard to make security work any 
other way.
Right, so none of these Symbian apps are possible on Android…

Nokia Sensor (http://en.wikipedia.org/wiki/Nokia_Sensor)
Bedd (http://www.bedd.com)
FluidNexus (http://www.inclusiva-net.es/fluidnexus/)
Imity (http://imity.com/pocket-radar)
etc…

How about creating a separate permission for ad-hoc Bluetooth
networking?
…or making it user configurable?
Mark


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: T-mobile G1 for testing purposes

2008-10-28 Thread whitemice

This could be FUD, as the G1 is reported to have “quad-band GSM plus
dual-band UMTS, which means it will work abroad [i.e. outside US] as
well“.

It turns out that 3G standards are a bit complex:
http://www.three-g.net/3g_standards.html

Although I do use a T-Mobile Germany laptop PCMCIA 3G card (presumably
UMTS), and the connection speeds aren’t that bad:
http://www.3gnewsroom.com/3g_news/feb_06/news_6661.shtml

Could someone who knows comment on this? (I.e. how well a US or even
UK optimised unlocked G1 would work in my country)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: T-mobile G1 for testing purposes

2008-10-27 Thread whitemice

I am a T-Mobile customer/Android developer living in Germany, and we
have been promised a device sometime in Q1/2009 (after USA, then UK).

As it takes 90 days to get an officially locked T-Mobile USA device, I
am assuming that all unlocked G1’s currently listed on eBay are fake.
I am also unsure of how well a device apparently *optimised* for T-
Mobile USA 3G frequencies will perform on my local network.

Ironically, for such a developer centric device, they are starving the
community of phones:
e.g. http://www.biggu.com/2008/10/23/t-mobile-says-no-g1-for-you/
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: Android Specialists

2008-06-25 Thread whitemice

No one *really* supports Android yet as there are no actual devices to
deploy against.

However many developers who entered the Android Developer Challenge
have real mobile-software-development day jobs and are looking forward
to the first Android projects to walk in the door.

What sort of thing did you have in mind?
Mark

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: 16M Memory Limit

2008-06-13 Thread whitemice

That’s a relief!
Can you comment on whether the community will see another Android SDK
before the APIs are finalised in 1.0?
I know the UI is supposed to be a *big surprise*, but there are so
many other APIs that us regular developers would love to give feedback
on.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: 16M Memory Limit

2008-06-13 Thread whitemice

OK, thanks for giving feedback.
Perhaps someone else from Google (who is more in the know) could throw
in a comment?

All this silence from Google regarding the SDK is making us developers
nervous.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---



[android-developers] Re: 16M Memory Limit

2008-06-12 Thread whitemice

...On top of this, by the time Android is fully loaded on a 64MB device only 
10-20MB of RAM will probably remain.* So, essentially your application would 
use all system resources...

640K ought to be enough for anybody
- Bill Gates (apparently)
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~--~~~~--~~--~--~---