Best practices for integrated (context-sensitive) help?

by Mark Murphy » Fri, 23 Apr 2010 05:14:03 GMT


Sponsored Links
 


This sounds lovely.

Or, just host the help online, linking to it via an ACTION_VIEW Intent
on your URL. I'm not sure if the HTML5 offline stuff works with the
Android browser, but if it does, use that to allow your help to be
usable even when there's no connection. IMHO, this will be the long-term
direction for this sort of thing, as it gives you easy publishing, easy
updates independent of the app itself, yet still isn't completely busted
when the user is offline.

Or, write your help in the form of an EPUB document and make it
available, so those with an EPUB reader (e.g., FBReaderJ) can use it.

Or, write your help in the form of a PDF document and make it available,
so those with a PDF viewer (e.g., Documents To Go) can use it. And see
if they have a referral program for sales, so you can make a bit of
money on people who buy that app to view your help.

Or, don't worry about on-device help due to form-factor issues and just
provide support via your Web site.


Worst-case scenario: create a content provider to serve your help files.

-- 
Mark Murphy (a Commons Guy)
 http://commonsware.com  |  http://twitter.com/commonsguy 

Android Consulting:  http://commonsware.com/consulting 

--



Other Threads

1. Cannot play audio on some phones

I am vexed by the variety of ways various phones can choose or choose
not to play an MP3 file I have in my app as a raw asset.

My preferred way to do this:
MediaPlayer mp = MediaPlayer.create(this, resId);

returns NULL on HTC Hero, and seemingly some Erises.

So when THAT happens, I do

mp = new MediaPlayer();

// copies the resource to a file with suffix .mp3
String fname = copyResourceToFile(resId, ".mp3");
mp.setDataSource(fname);
mp.prepare();

But, in one case at least on an Eris, I still saw a machine report an
IOException on mp.prepare(), with status 0x01

Is there some way I can get this to just work?


-- 

2. Booting Failure

Hi,

Can anyone let me know the issue in my target system, based on the
logcat info below?


I extracted the root file system from sdk, images folder (using
unyaffs2) into my USB(2GB, ext2) and gave chroot /mnt /init command.

D/AndroidRuntime( 1882): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
D/AndroidRuntime( 1882): CheckJNI is ON
D/AndroidRuntime( 1882): --- registering native functions ---
I/SamplingProfilerIntegration( 1882): Profiler is disabled.
I/Zygote  ( 1882): Preloading classes...
D/dalvikvm( 1882): GC freed 791 objects / 50440 bytes in 7ms
D/dalvikvm( 1882): GC freed 255 objects / 16400 bytes in 7ms
D/dalvikvm( 1882): GC freed 298 objects / 19112 bytes in 9ms
D/dalvikvm( 1882): GC freed 215 objects / 13688 bytes in 10ms
D/dalvikvm( 1882): GC freed 422 objects / 26984 bytes in 12ms
D/skia    ( 1882): ------ build_power_table 1.4
D/skia    ( 1882): ------ build_power_table 0.714286
D/dalvikvm( 1882): GC freed 419 objects / 28872 bytes in 13ms
D/dalvikvm( 1882): Trying to load lib /system/lib/libmedia_jni.so 0x0
D/dalvikvm( 1882): Added shared lib /system/lib/libmedia_jni.so 0x0
D/dalvikvm( 1882): Trying to load lib /system/lib/libexif.so 0x0
D/dalvikvm( 1882): Added shared lib /system/lib/libexif.so 0x0
D/dalvikvm( 1882): GC freed 2289 objects / 119800 bytes in 17ms
D/dalvikvm( 1882): Trying to load lib /system/lib/libmedia_jni.so 0x0
D/dalvikvm( 1882): Shared lib '/system/lib/libmedia_jni.so' already

loaded in same CL 0x0

D/dalvikvm( 1882): Trying to load lib /system/lib/libmedia_jni.so 0x0
D/dalvikvm( 1882): Shared lib '/system/lib/libmedia_jni.so' already

loaded in same CL 0x0

D/dalvikvm( 1882): Trying to load lib /system/lib/libmedia_jni.so 0x0
D/dalvikvm( 1882): Shared lib '/system/lib/libmedia_jni.so' already

loaded in same CL 0x0

D/dalvikvm( 1882): Trying to load lib /system/lib/libmedia_jni.so 0x0
D/dalvikvm( 1882): Shared lib '/system/lib/libmedia_jni.so' already

loaded in same CL 0x0

D/dalvikvm( 1882): GC freed 3790 objects / 197008 bytes in 30ms
D/dalvikvm( 1882): GC freed 461 objects / 26384 bytes in 27ms
D/dalvikvm( 1882): GC freed 294 objects / 17048 bytes in 29ms
D/dalvikvm( 1882): GC freed 204 objects / 11424 bytes in 31ms
D/dalvikvm( 1882): GC freed 178 objects / 9544 bytes in 34ms
D/dalvikvm( 1882): Trying to load lib /system/lib/libsrec_jni.so 0x0
D/dalvikvm( 1882): Added shared lib /system/lib/libsrec_jni.so 0x0
D/dalvikvm( 1882): Trying to load lib /system/lib/libsrec_jni.so 0x0
D/dalvikvm( 1882): Shared lib '/system/lib/libsrec_jni.so' already

loaded in same CL 0x0

W/zipro   ( 1882): Bad offset to local header: 2314003 (at 1120)
D/asset   ( 1882): failed to open Zip archive
'/system/framework/framework-res.apk'
W/asset   ( 1882): Unable to find resources file resources.arsc
W/dalvikvm( 1882): Exception
Landroid/content/res/Resources$NotFoundException; thrown during
Landroid/text/AutoText;.<clinit>
E/Zygote  ( 1882): Error preloading android.text.AutoText.
E/Zygote  ( 1882): java.lang.ExceptionInInitializerError
E/Zygote  ( 1882):      at java.lang.Class.classForName(Native Method)
E/Zygote  ( 1882):      at java.lang.Class.forName(Class.java:237)
E/Zygote  ( 1882):      at java.lang.Class.forName(Class.java:183)
E/Zygote  ( 1882):      at

com.android.internal.os.ZygoteInit.preloadClasses(ZygoteInit.java:295)

E/Zygote  ( 1882):      at

com.android.internal.os.ZygoteInit.main(ZygoteInit.java:582)

E/Zygote  ( 1882):      at dalvik.system.NativeStart.main(Native Method)
E/Zygote  ( 1882): Caused by:
android.content.res.Resources$NotFoundException: Resource ID
#0x10b0001
E/Zygote  ( 1882):      at
android.content.res.Resources.getValue(Resources.java:891)
E/Zygote  ( 1882):      at
android.content.res.Resources.loadXmlResourceParser(Resources.java:1865)
E/Zygote  ( 1882):      at
android.content.res.Resources.getXml(Resources.java:779)
E/Zygote  ( 1882):      at android.text.AutoText.init(AutoText.java:160)
E/Zygote  ( 1882):      at android.text.AutoText.<init>(AutoText.java:76)
E/Zygote  ( 1882):      at android.text.AutoText.<clinit>(AutoText.java:56)
E/Zygote  ( 1882):      ... 6 more
D/AndroidRuntime( 1882): Shutting down VM
W/dalvikvm( 1882): threadid=3: thread exiting with uncaught exception
(group=0x4001b198)
D/dalvikvm( 1882): DestroyJavaVM waiting for non-daemon threads to exit
D/dalvikvm( 1882): DestroyJavaVM shutting VM down
D/dalvikvm( 1882): VM cleaning up
D/dalvikvm( 1882): LinearAlloc 0x0 used 1407036 of 5242880 (26%)
D/skia    ( 1882): purging 6K from font cache [1 entries]
I/ServiceManager( 1022): service 'media.audio_flinger' died
I/ServiceManager( 1022): service 'media.player' died
I/ServiceManager( 1022): service 'media.camera' died
I/ServiceManager( 1022): service 'media.audio_policy' died
I/        ( 1895): ServiceManager: 0xad08
W/AudioHardwareInterface( 1895): Using stubbed audio hardware. No
sound will be produced.
D/AudioHardwareInterface( 1895): setMode(NORMAL)
I/CameraService( 1895): CameraService started: pid=1895
I/AudioFlinger( 1895): AudioFlinger's thread 0xb370 ready to run
D/AndroidRuntime( 1908):



Thanks

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: 

3. Which IDE is better for kernel development?Is it possible in windows?

4. how do I load the new compiled kernel on my android dev phone 2 (htc)?

5. Is there any issues bugs or upgrade to Android kernal?

6. Why some threads have no reply option?

7. Object Pooling