On Sunday, 27 May 2012 04:57:06 UTC+2, Dianne Hackborn wrote:
On Sat, May 26, 2012 at 11:36 AM, b0b wrote:
In short, f... Samsung and the Galaxy Note for this huge mess.
And thanks Google for not thinking about the new Android 3.2 qualifiers,
*before*.
You're very welcome.
I
On Sunday, 27 May 2012 21:27:05 UTC+2, TreKing wrote:
Please let us know how that works out. I'm genuinely curious. Good luck.
It is not going to work out well that's for sure
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post
I'm in the middle of addressing the Galaxy Note layouting and found this
thread.
This device is an anomally with its large/xhdpi nature on Gingerbread,
breaking the long standing assumption that large = tablet.
Of course Samsung knew they were going to break stuff.
According to the latest
On Saturday, 26 May 2012 18:23:18 UTC+2, b0b wrote:
I'm in the middle of addressing the Galaxy Note layouting and found this
thread.
Speaking of which...the Galaxy Note is a 800px x 1280px device with
generalized dpi = 320 (xhdpi bucket)
Which makes the general density factor = 2
As for me, I design my -large / -xlarge layouts based on the real
devices out there,
The Galaxy Note is absolute pain as my -large layouts are made for tablets
(ie at least 7 or smallest Width = 600dp).
The Note can be handled nicely with the new sw qualifier introduced in
Android 3.2
LVL is insufficient, no matter how much you modify it. Additional custom
anti-tamper code is required to make the job of crackers a bit more
difficult.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to
On Wednesday, 16 May 2012 10:40:49 UTC+2, the_edge123 wrote:
On 16/05/12 09:28, Kostya Vasilyev wrote:
http://www.openintents.org/en/intentstable
Very interesting...
...but incomplete.
I wish there was a database I could submit an Intent, and have the
exhaustive list of all apps
On Wednesday, 16 May 2012 14:37:45 UTC+2, Kostya Vasilyev wrote:
Don't know about exhaustive, but couldn't you make a site for this since
you're interested?
The other half of this is, of course, trying to convince other developers
to submit their intents.
I have better things to
On Wednesday, 16 May 2012 15:58:25 UTC+2, Mark Murphy (a Commons Guy) wrote:
Also, AFAICT, a BroadcastReceiver registered via registerReceiver() is
always exported, insofar as you cannot put something in the
registerRecevier() call or IntentFilter to say please, I only want
local
Finally another example: some apps provide open (app-specific) APIs
through Intents. When I mean open, I mean that receivers are knowingly
exported for public use.
It is impossible to find out about these APIs unless you know about
them...or you find them by luck looking at
On Wednesday, 16 May 2012 16:37:35 UTC+2, Mark Murphy (a Commons Guy) wrote:
Another example. I write an app handling a list of images. I'd like to
find
another app able to display a *list* of images. Impossible,
unless getting every image viewer app and looking at their regenerated
if you keep a wake lock
and burn CPU time your users are going to basically hate your app.
For a change they could hate:
- battery manufacturers for not making advance in battery technology.
- WiFi chipset manufacturers for WiFi using so much battery when active (vs
mobile which uses
On Tuesday, 1 May 2012 16:40:21 UTC+2, Mark Murphy (a Commons Guy) wrote:
I seldom argue w/Mark... but in this case I think there is a way to do
this. The application you've downloaded is in the directory /data/app
on the device to which you downloaded it. Use adb pull to copy the
On Wednesday, 2 May 2012 17:16:24 UTC+2, MagouyaWare wrote:
Unfortunately, the definition of software piracy has nothing to do with
whether it is free or not:
http://dictionary.reference.com/browse/software+piracy?s=t
And that link references you to software theft, which says this:
I wouldn't care about Android 2.2 at this point, as the MediaPlayer is
really incomplete and buggy in this version and lower.
It is a lot better in 2.3.x and above.
Most third party video players use ffmpeg as the media framework.
--
You received this message because you are subscribed to the
Aer you sure it isn't due to the network not fully connected yet after
device resume from sleep ?
--
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
No I am not sure, but what do I do about it if so? The device does not
seem asleep, and the screen hasn't dimmed, but that doesn't mean the device
won't get lazy about network connections. The wifi disconnect policy is set
to never, but I know Android can ignore that.
Ok it is very
On Saturday, 21 April 2012 05:39:30 UTC+2, William Ferguson wrote:
The real problem that is see with this change is that while you can modify
all of your own uses of AsyncTask to suit you can be entirely hamstrung by
one or more 3rd-party libraries that are also using AsyncTasks.
This
On Friday, 20 April 2012 23:24:34 UTC+2, Dianne Hackborn wrote:
Yes if your targetSdkVersion is = 12, then as of that release the default
executor is serial.
This change was made because we realized we had a lot of bugs in the
platform itself where async tasks where created that had
To complete on this topic, I think it would be very useful to post an
article on this issue on the developer's blog,
asking developers whose app run on APi 13+ to review all their AsyncTask
execute() code to check
if it can use the default Executor or if it must use the Threaded Executor,
for
Conclusion: there's probably man apps broken in subtle ways on ICS
because
of this change.
Probably not, only because they have to explicitly set the
targetSdkVersion to 13+, and I don't know how many people are setting
it that high.
Bumping targetSdkVersion to the latest version is
To illustrate this further, consider this code from Tim Bray downlading
images in a ListView. Something that must be implemented in thousand apps:
http://android-developers.blogspot.fr/2010/07/multithreading-for-performance.html
This code running unmodified on ICS will download images
It seems that ratings count go up and down since a few days. I wouldn't
worry to much about it...
--
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
On Thursday, 12 April 2012 18:11:21 UTC+2, latimerius wrote:
Nice idea. Actually, if the free app can get access to the paid app
executable (which I hope it can) I might be possible to restore some
of the protection by having the free app run anti-tampering checks on
the paid one. That
For your code to work you need:
out.write(result.toString(UTF-8));
--
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
On Thursday, 22 March 2012 15:55:43 UTC+1, Ricardo Gladwell wrote:
Hi Ted
This is possible, please see the Android Connector for M2E (Maven for
Eclipse):
http://rgladwell.github.com/m2e-android/
Regards...
The thing is that it never worked too well as the eclipse ADT plugin and
On Monday, 12 March 2012 14:46:00 UTC+1, Remote Red wrote:
The tablet Acer Iconica A100 returns for
Environment.getExternalStorageDirectory()
/mnt/sdcard
Actually that is intern memory as the microSD card is mounted as
In Google-speak, External Storage refer to a storage medium
Since there has not been much progress in this area for years, I wouldn't
expect it to change anytime soon.
Which is sad because iOS destroys Android in this domain hands down.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this
On Wednesday, 18 January 2012 16:30:21 UTC+1, John Coryat wrote:
I've seen the multiple cancel lots of times. I've also seen many double
payments.
Has anyone else seen double payments? Those are of greater concern to me
than cancels.
-John Coryat
Never seen double payments. Up to
I bought my own app using a separate account than my developer account.
That way I can experience exactly what users do, in particular LVL
validation and updating apps.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this
Yes this is doable if both app have the same userId
You can implement a remote service in the unlocker paid app that check the
license.
Then your free app invoke binds to that remote service to do the check.
If both of your apps share the same android:sharedUserId you're not forced
to make
Scoket behaviour can be different on mobile vs WiFi and has it has been
stated it might be carrier dependent.
In particular you may not get the same Exception.
For example in my particular case I get SocketTimeoutException on mobile vs
ConnectTimeoutException on WiFi.
--
You received this
The problem is that the emulator does not emulate the no hardware buttons
which make things very hard to visualize and test unless you own a Galaxy
Nexus.
That, and showIfRoom is really a fuzzy concept.
I expect there will be many apps targetting Honeycomb that will look
initially funny under
Fragmentation is in good shape to become the most overused word of this
tech decade...
Did PC developpers complained about fragmentation every 2h on the interwebs
in the 90's and the 00's?
You can make an app work great on 2.x, 3.x and 4.x taking advantage of each
version.
--
You
This morning, looking at the developer console I had the surpise
to see that the active install count had dropped significantly and that one
of my app
got 35 new 1-star ratings (without comments) during the night which is
impossible (it had previously 34 1-star ratings and it took 5 months to
the ADT theam must issue a fix for that, as the source is not attached to
the (now) generated Android Library jars.
It also affects Open Declaration (F3).
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to
On Tuesday, 18 October 2011 22:00:18 UTC+2, Jon Perlow wrote:
AsyncTask.java has the following code:
private static final InternalHandler sHandler = new InternalHandler();
Clearly it expects this to be initialized on the main thread. What
guarantees that? Isn't is possible that
There are a few threading rules that must be followed for this class to
work properly:
- The task instance must be created on the UI thread.
For your specific case, creating an AsyncTask from an IntentService's
worker thread violates this clearly documented rule, although I
Same here.
--
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
I've seen reports of that error although they are so rare that I didn't
bother with it.
In my case it happen with the compat library. Also in a TabActivity.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email
The error is rare then because fewer than 1.5% of devices are running
Android 3.*:
Not when using the compat package (android.support.v4.*).
Anyway to be clear, this exception is super rare in my app using the compat
package 2.x devices.
--
You received this message because you are
The real only meaningful beta test is releasing the app on the Market so
anyone can be a beta tester.
Set an expiration date for the app and state clearly it is a beta. Any other
beta test is anecdotic.
Configure your app to automatically report all crashes online using ACRA or
similar.
I did
I agree that adding a self-signed certificate to the trustore is the way to
go. It's not that difficult.
look here if you need to generate a certificate:
http://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/
And here to create a BKS trust store:
They'll talk to you one-on-one exclusively now with the mythical one-on-one
support that is best for the types of threads that have historically been
posted to this forum by app developers .
Well, if this wasn't clear enough, just kidding.
On Monday, 26 September 2011 20:28:04 UTC+2, TreKing
You're executing too much AsyncTask concurrently (either by mistake of
because they don't terminate) and
saturate the ThreadPoolExecutor attached to Async tasks, which is not of
infinite size.
Look at the javadoc of ThreadPoolExecutor to learn more about
RejectedExecutionException.
--
You
if(isUserAOneStarRatingIdiot()) {
((Object)null).toString();
}
--
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
Same here. And I suspect rating/comments to not be updated too.
And we can't even complain on the Market technical forum, as we developpers
are considered as third class citizens.
On this forum (not this one, the Market one) someone is doing an admirable
job at closing every thread involving
use this for your SSL factory:
SSLSocketFactory sslFactory = SSLSocketFactory.getSocketFactory();
sslFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
But since you didn't specify a truststore with the certificate of the
server, you'll probably have another error.
--
It would crash on Android 1.x only, since starting with 2.0 the classloader
loads the symbols only when they are reached.
No need to use reflection for that kind of test if the target is Android
2.0+
On Saturday, September 10, 2011 1:14:39 AM UTC+2, Dianne Hackborn wrote:
This will probably
It has to be in a conditional test ie:
if (Build.VERSION.SDK_INT = some api level {
// you can call any function defined only since some api level or
greater.
}
On Saturday, 10 September 2011 13:32:39 UTC+2, Mark Murphy (a Commons Guy)
wrote:
That might be true for data members
I have project made of several Library projects and aapt on each invocation
will hang for 10 seconds. from the debug output:
... many new resource id lines (over 200) appearing in the same second
[2011-09-01 13:02:16 - ... ] (new resource id from resource1.xml)
[2011-09-01 13:02:25 -
I'm already using the rename *.png to *.PNG trick to avoid expensive
optimizations.
And I've disabled automatic dexing on file save in Eclipse (which has
nothing to do with aapt which is always spawned on resource modification).
This 10 seconds freeze doesn't happen on a smaller project with
Interesting. I don't understand why another thread could make the
classloader go bananas on loading AsyncTask though.
Do you have more detail on what the unrelated thread did ? What was the
unhandled exception ?
In my app I'm not using any add API but I have a lot of threads launched
early on,
In most apps AndroidHttpClient is best used a singleton for the reasons you
describe. It doesn't make sense to create a thread pool
for each AndroidHttpClient instantiation.
From the Apache HttpComponents dosc:
DefaultHttpClient is thread safe. It is recommended that the same instance
of this
When an error (Exception) occurs you must call abort() on the request (ie
your HttpGet or HttpPost instance).
Also if you don't read (or read partially) the Entity in the response, you
must call EntityUtils.consume(entity). Otherwise you may have hanging
threads / connections.
But I forgot to
Did not try it as I cannot reproduce the problem and I think it is related
to a corrupted image.
--
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
More on this Exception. I triggered it accidently by quitting and
relaunching my app quickly and got the following logcat
Application.onCreate() is called
...
08-25 15:41:33.003: WARN/ActivityThread(16118): ClassLoader.loadClass: The
class loader returned by Thread.getContextClassLoader() may
.
messy.
On Thursday, August 25, 2011 7:56:34 PM UTC+2, Doug wrote:
On Aug 24, 8:03 am, b0b pujos@gmail.com wrote:
As it is a hack using private API it might break, sure. But I don't
expect it to break before 2038 :). If it breaks it's not fatal for the
app (crash). Btw above code
;
---
---
the above code may not pass compile and is just FYI.
Hope it helps!
On Aug 24, 6:40 am, b0b pujos.mich...@gmail.com wrote:
Is there a sensible way to detect
immense wisdom had provided
MediaPlayer.isMimeTypeSupported()...
On Aug 24, 10:25 am, James 030440...@163.com wrote:
Hi b0b,as to decoder capabilities, There's java class in the source
code which lists all supported codec. But It's hidden so probably
you'd better not use it.
If you've got
) {
return null;
}
}
On Aug 24, 12:51 pm, Mark Murphy mmur...@commonsware.com wrote:
On Wed, Aug 24, 2011 at 4:39 AM, b0b pujos.mich...@gmail.com wrote:
If only google in its immense wisdom had provided
MediaPlayer.isMimeTypeSupported
in the constants array? I haven't looked at the code, and I
haven't tried getting at an enum via reflection. That's the big thing
that leaps out at me (besides the private APIs issue you mention).
On Wed, Aug 24, 2011 at 7:13 AM, b0b pujos.mich...@gmail.com wrote:
In the meantime the abomination
I have a simple CheckBoxPreference blargh defined in an XML file. I
want to programatically set its default value with code like this
which does not work
in subclass of PreferenceActivity:
public void onCreate() {
addPreferencesFromResource(R.xml.prefs);
Is there a sensible way to detect if a particular audio decoder which
may or may not be present depending on manufaturers, is available
(for example: WMA) ?
Right now I'm asking the user. There has to be a better way ?
--
You received this message because you are subscribed to the Google
More precision on this mysterious freeze.
The user to which it is happening can reproduce it. Still acording to
his report it happens only on Gingerbread, not on Froyo.
Here's a stack trace from the automated ANR reports in the dev console
(which doesn't tell much):
DALVIK THREADS:
(mutexes:
That's indeed interesting.
In parallel of the code above blocking on decoding a FileInputStream,
I concurrent threads
invoking BitmapFactory.decodeStream() with an InputStream from a
HttpGet executed by a slightlly modified AndroidHttpClient (to use
httpclient/httpcore 4.1).
I'm using a single
On Aug 21, 3:02 am, TreKing treking...@gmail.com wrote:
On Sat, Aug 20, 2011 at 6:02 PM, b0b pujos.mich...@gmail.com wrote:
Does anyone have seen such crash reports in its own apps ?
I've gotten a few randoms that seem impossible like this. My current theory
is a bad install that f***s up
In the WTF stack traces series, I've got a collection of Honeycomb
only stack traces that do not make sense as they happen in the
platform. Some examples below. Anyone also see that in the crash
reports ?
VegaComb, 3.0.1:
java.util.NoSuchElementException
at
I just had a weird issue where BitmapFactory.nativeDecodeStream()
called from BitmapFactory.decodeStream() blocked forever
when trying to load an image (PNG) stored on the SD card (happened on
2.3.4). It's been also reported by a user on another Android version
although I did never seen it myself
My code appears in the stack trace although these errors
- happen only on Honeycomb. Mostly 3.0.1, sometimes 3.1, never saw one
for 3.2
- happen in basic data structures
- they are rare
another one still on the A500 that makes no sense:
java.lang.NullPointerException
at
Now that I think of it: is BitmapFactory.decodeStream() thread-safe ?
I have a separate thread that might be calling this function to decode
a HTTP image streams while another
thread decode File streams...
--
You received this message because you are subscribed to the Google
Groups Android
I have an app on the Market that works well for most users but for a
few of them and very rarely, I get crash reports with exception:
java.lang.NoClassDefFoundError: android.os.AsyncTask
It happens very early in app init when the first AsyncTask is created
on different versions of Android.
Confirmed on the Asus Transformer running 3.2.
This is a serious bug indeed as it make working apps appear
malfunctioning.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to
It is probably related to Wifi Power Save Polling (PSP) mode which can
cause issues like this depending on the device and the WiFi router.
It can also cause stuterring audio, for example for VoIP apps.
See this link for full details:
http://code.google.com/p/android/issues/detail?id=9781
To
On Aug 10, 3:15 pm, mort m...@sto-helit.de wrote:
On 9 Aug., 16:59, b0b pujos.mich...@gmail.com wrote:
Where it works, you're right. But show me how to support Android 1.5
(or even earlier) and Honeycomb features (Action Bar, Fragments, ...)
in one apk without going insane with reflection
On Aug 10, 6:18 pm, TreKing treking...@gmail.com wrote:
On Wed, Aug 10, 2011 at 10:38 AM, b0b pujos.mich...@gmail.com wrote:
As said by Mark, you can ignore anything below Android 2.1 as it
is irrelevant.
Mark said: Ignore Android 1.5 for new development. Key word new.
Of course
I have not tried multiple APK support but IMHO it is much trouble for
what it's worth.
It is much more simple to have a universal APK, even if size is
bigger.
It could be useful if it allowed to have a BETA version of an app
alongside
a STABLE version. The current system doesn't make it easy to
I would really like to see ActionBar support added in the compat
library.
Since on Android pre-Honeycomb, the action bar pattern is more and
more used (in place of the options menu),
adding ActionBar support in the compat library (maybe with some
restrictions like no navigation views) would be a
Thanks for the tip, this look excellent.
On Jul 16, 1:05 pm, Mark Murphy mmur...@commonsware.com wrote:
Check out ActionBarSherlock, which wraps the HC action bar on HC and
supplies an alternative implementation for older devices.
--
You received this message because you are subscribed to the
The sad truth is that you can't expect WAV http streaming to work on
all phones.
Some may work but not others.
MediaPlayer is very limited for audio http streaming and has all kind
of issues.
AAC and MP3 kind of works (with issues) and that's it.
It's so bad that most apps serious about http
Review the proguard warnings in the console and If you think they
won't cause problems
try adding -ignorewarnings in your proguard.cfg
On Jul 8, 4:32 pm, Albert albert8...@googlemail.com wrote:
Hi,
I am trying to use proguard when exporting the build but it's failing
on Proguard returned with
I have the solution for you: ignore all users that don't know to reach
you.
The comment section of the Market is read-and-forget only most of the
time.
On Jun 26, 2:04 am, Halsafar shinhalsa...@gmail.com wrote:
How on earth does a developer contact a user who makes a comment about
their app?
I've got strange crashes from this device running 3.0.1. Appears
broken to me:
java.lang.IncompatibleClassChangeError: interface not implemented
at
org.apache.harmony.xml.dom.NodeListImpl.getLength(NodeListImpl.java:
51)
java.lang.ClassCastException: java.util.LinkedList
I also observed very weird crash reports in the platform itself (NPE,
IncompatibleClassChangeError, failure to cast LinkedList to List)
on the A500 running 3.0.1.
So the question is if that version is completely broken ?
On Jun 8, 5:52 pm, Emanuel Moecklin 1gravity...@gmail.com wrote:
Just in
I noticed plenty of platform crashes on the A500.
Here's what I got reported in various stack traces:
java.lang.IncompatibleClassChangeError: interface not implemented
at
org.apache.harmony.xml.dom.NodeListImpl.getLength(NodeListImpl.java:
51)
--
101 - 185 of 185 matches
Mail list logo