早上好,
我有一个Android应用程序,它将数据保存到SQLite
数据库中。
该应用通过MYSQL
帖子获取http
数据库的此数据。
我想知道,在每个应用开始时(如果列表视图的活动将出现),http
帖子功能将被执行。
我必须把这段代码放在哪里?
在我的iOS
应用中,我可以将其放入AppDelegate
。
答案 0 :(得分:0)
每次显示进度条,直到响应处理完毕并使用该数据更新ListView。
您可以通过调用填充数据的方法在onCreate()方法中执行此操作。 当然在背景线程中做它。使用okHTTP库。
答案 1 :(得分:0)
创建应用程序类并在最明显的文件中注册
Application.onCreate()在应用程序启动/重新启动时调用一次,但在活动重新启动时不调用
import android.app.Application;
public class MyApplication extends Application {
//it's call when application start ;
@Override
public void onCreate() {
super.onCreate();
// do your work here
}
}
<强> AndroidManifiest.xml 强>
<application
android:name="com.xyz.MyApplication"
.
.
.
>
</application>
答案 2 :(得分:0)
你需要创建一个自定义Application
类来完成这些工作。因为,当Activity启动并且未加载应用程序时,将调用onCreate()
方法。
public class CustomApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
callHttpPost();
}
private void callHttpPost(){
// Do Your Stuff
}
}
还在清单文件中设置应用程序名称。
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:name=".CustomApplication"
android:theme="@style/AppTheme">
<!-- All your Activity goes here -->
</application>
答案 3 :(得分:0)
如果您的要求非常严格,那么会有一些第三方库。
或者您必须扩展Application以创建您自己的Application类,并在您的应用程序类中使用以下方法进行调用
Integer resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity());
if (resultCode == ConnectionResult.SUCCESS) {
//Do what you want
} else {
Dialog dialog = GooglePlayServicesUtil.getErrorDialog(resultCode, getActivity(), 0);
if (dialog != null) {
//This dialog will help the user update to the latest GooglePlayServices
dialog.show();
}
}
文档:在应用程序启动时,在任何活动之前调用, 服务或接收者对象(不包括内容提供者)已经 创建。实施应尽可能快(例如 使用延迟初始化状态)因为在此花费的时间 功能直接影响启动第一个的性能 流程中的活动,服务或接收者。如果你重写这个 方法,一定要调用super.onCreate()。
答案 4 :(得分:-1)
您可以在onCreate()
。