Framework for backup/restore application's private data?

by ronald » Wed, 03 Feb 2010 04:29:38 GMT


Sponsored Links
 A search framework is built in Android SDK1.6, where each application
can provide search suggestions for Quick Search Box.

I think we can build a similar framework to backup/restore app's
private data.

See following cases:
1) You already setup favorite channel names in FM radio. When you
change your phone, of course you want restore them from somewhere.
2) You have got a high mark in some game. After you change your phone,
you want the mark back.

Most backup/restore applications only focus on contacts, calendar,
Memos, tasks, emails, bookmarks, SMS, and some can handle more
(photos, videos, music) contents, but few care about application's
private data. I think Android should add this feature.

A public framework for such work is needed. Each app defines a public
method, say onAppSync(), which is called by a system-level backup/
restore manager (we can call it SyncManager) when it is needed (e.g.
when user requests or long time passed). The app defines what to
backup and even what format to use (referring to SyncML).

Once such a framework is available, old applications can also be
modified by defining a onAppSync() for it.

More technical details is left open. Are developers of the old
applications glad to see this?

--



Other Threads

1. TabHost :: Changing tab content with intents dynamically

Dear all,

I have a tabactivity with several tabs. They are all defined with
intents. On one tab, I have an action that needs to bring me to
another tab and with a specific data.

I worked with Intents and I broadcast them to change the tab. For that
I have no problem.

But I am facing an issue as soon as I try to reset my tabs for the
second time (when the application starts, my method does not fail
while called for the second time it throws an exception). The issue
comes only If I call the clearAllTabs() method on TabHost.

Here is the exception :

07-21 19:40:16.327: ERROR/AndroidRuntime(3308): Caused by:
java.lang.NullPointerException
    at android.widget.TabWidget.setCurrentTab(TabWidget.java:164)
    at android.widget.TabWidget.focusCurrentTab(TabWidget.java:188)
  at android.widget.TabHost.setCurrentTab(TabHost.java:307)
 at android.widget.TabHost.addTab(TabHost.java:203)
at .ACTIVITY.initTabs(ACTIVITY.java:40)
07-21 19:40:16.327: ERROR/AndroidRuntime(3308):     at
<package>TabChanger.onReceive(TabChanger.java:30)
07-21 19:40:16.327: ERROR/AndroidRuntime(3308):     at
android.app.ActivityThread$PackageInfo$ReceiverDispatcher$Args.run
(ActivityThread.java:664)


Here is the method to init the tabs :

public void initTabs(Intent mapIntent){
                TabHost tabHost = getTabHost();
                tabHost.clearAllTabs();

                tabHost.addTab(tabHost.newTabSpec("TAB1").setIndicator(getString
(R.string.tab_title_fav),
                                
getResources().getDrawable(R.drawable.img_star)).setContent(
                                new Intent(this, FavoriteListActivity.class)));

                tabHost.addTab(tabHost.newTabSpec("TAB2").setIndicator(getString
(R.string.tab_title_search),
                                
getResources().getDrawable(R.drawable.img_search)).setContent(
                                new Intent(this, 
SearchForBikesOrSlotsActivity.class)));

                mapTab = tabHost.newTabSpec("TAB3").setIndicator(getString
(R.string.tab_title_map),
                                
getResources().getDrawable(R.drawable.img_map)).setContent
(mapIntent);

                tabHost.addTab(mapTab);

                tabHost.addTab(tabHost.newTabSpec("TAB4").setIndicator(getString
(R.string.tab_title_timer),
                                
getResources().getDrawable(R.drawable.img_timer)).setContent(
                                new Intent(this, 
NewStationActivityStep1.class)));
        }


I also tries to keep an handle on the tab I'd like to change (the map
one), in order to change its content but still no success (the content
does not change).

ANy help will be highly appreciated XD

Rgds

C.
--~--~---------~--~----~------------~-------~--~----~

2. Detect virtual keyboard or access onsizechanged of layout view

I've got an activity that I want to execute code (that makes an
imageview visible or invisible) when the soft keyboard pops up or
becomes hidden.  I know that I can do this in the onsizechanged method
of the activities root layout view because it changes size to
accommodate the virtual keyboard.  How do I access this method to
override it without creating a custom view (if possible)?

Another way I could go about this is to detect when the soft keyboard
is shown or hidden.  I haven't been able to find any methods that are
accessible that fire when this event occurs.

Thanks!
--~--~---------~--~----~------------~-------~--~----~

3. How To include End User License Agreement with the APP

4. fullscreen doesn't hide Status Bar in Android SDK 1.5 R2

5. Setting a listener for drag animations in MapView

6. Find Default Activity corresponding to Intent

7. Android Developer's Guide