Java 如何在Android上的所有片段中保持对web服务的身份验证?

Java 如何在Android上的所有片段中保持对web服务的身份验证?,java,android,android-fragments,odoo,android-webservice,Java,Android,Android Fragments,Odoo,Android Webservice,我用的是奥多服务。我的应用程序中有3个片段 在每个片段中,我需要日志来服务: OdooClient odoo; odoo = new OdooClient.Builder(getActivity()).setHost(host).build(); odoo.setOnConnectListener(new OdooConnectListener() { @Override public void onConnected(OdooVersion version) { Log

我用的是奥多服务。我的应用程序中有3个片段

在每个片段中,我需要日志来服务:

OdooClient odoo;
odoo = new OdooClient.Builder(getActivity()).setHost(host).build();

odoo.setOnConnectListener(new OdooConnectListener() {
   @Override
   public void onConnected(OdooVersion version) {
     Log.i(TAG,"onConnected");
     Log.i(TAG,odoo.getDatabases().toString());
     odoo.authenticate(username,password,db,loginCallback);
   }
 });

有没有一种方法可以对所有片段只进行一次身份验证?我可以在MainActivity上进行身份验证,但我不能获取对象的引用。

您可以在主活动(传递上下文和主机)中的单例中执行身份验证,
init
,然后只获取片段中的引用

编辑

public class Odoo {
public static OdooClient CLIENT;
public static void init(Context context,String host) {
     CLIENT=new OdooClient.Builder(context).setHost(host).build();
}
现在可以在主活动中调用init

Odoo.init(this,host);
然后获取片段中的引用

Odoo.CLIENT.setOnConnectedListener(...);

你能让我看一个示例吗?所以,我需要为每个片段设置一个loginCallback?我不知道你的代码,我只是假设你会在片段上设置侦听器,不需要这样做