Java 如何在Android上的所有片段中保持对web服务的身份验证?
我用的是奥多服务。我的应用程序中有3个片段 在每个片段中,我需要日志来服务: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
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?我不知道你的代码,我只是假设你会在片段上设置侦听器,不需要这样做