Sun*_*day 15 android uiapplicationdelegate ios
我有一个简单的Android应用程序与一个活动.此活动下载一个小型XML文件并将内容显示给用户.目前,我在Activity的onStart方法中开始下载.
我的理解是,当设备方向改变时,活动会被销毁并重新创建.因此,当用户轮换我的应用程序时,将再次下载XML文件.我希望该应用程序只下载一次文件,因为它每天更改不会超过几次.因此,我希望保留下载的数据,以便在设备方向发生变化时重新使用本地数据.Android中保留数据的理想对象是什么?
在iOS上我会使用它AppDelegate来下载一次数据并保留它.然后,显示数据的viewController只需重新使用本地数据,如果它被销毁并重新创建.
Ale*_*xey 27
您必须创建自己的Application子类并在AndroidManifest.xml中指定它.之后,将创建此类的新实例,并可在整个应用程序中访问该实例.
例:
的Manifest.xml
<application name="YourApp">
Run Code Online (Sandbox Code Playgroud)
YourApp.java
class YourApp extends Application {
private String yourState;
public void setState(String state){
yourState = state;
}
public String getState(){
return yourState;
}
}
Run Code Online (Sandbox Code Playgroud)
YourActivity.java
class YourActivity extends Activity {
@Override
public void onCreate(Bundle bundle){
YourApp appState = ((YourApp)getApplicationContext());// you can use getApplication() as well in the activity
String state = appState.getState();
}
}
Run Code Online (Sandbox Code Playgroud)
我假设您已经看过此页面:
http://developer.android.com/guide/topics/data/data-storage.html#pref
根据 XML 文件中的数据类型(如果数据相当简单),使用“共享首选项”可能是一种简单的方法。您可以在需要时从 XML 重写新数据,同时仍然能够从共享首选项中使用它。
| 归档时间: |
|
| 查看次数: |
9348 次 |
| 最近记录: |