本文介绍了Android中应用程序单例的使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个facebook初始化sdk调用,在启动应用程序时需要它来初始化:
I have a facebook initialize sdk call and I need it to initialize the moment application is launched:
我想用我的Application类来做到这一点.例如:
I want to use my Application class to do that. for example:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
}
}
我的主要活动是使用Facebook登录按钮:
I have the main activity with the facebook login button:
public class MainActivity extends AppCompatActivity {
@BindView(R.id.login_button)
LoginButton loginButton;
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
callbackManager = CallbackManager.Factory.create();
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
}
}
如何将我的应用程序称为单例?如何使它的onCreate()工作?
How do I call my Application singleton? How do I make its onCreate() work?
推荐答案
要使您的App类singleton
遵循 Singleton设计模式
To make your App class singleton
follow the Singleton design pattern:
public class App
{
// Create the instance
private static App instance;
public static App getInstance()
{
if (instance== null) {
synchronized(App.class) {
if (instance == null)
instance = new App();
}
}
// Return the instance
return instance;
}
private App()
{
// Constructor hidden because this is a singleton
}
public void initFBSdk()
{
FacebookSdk.sdkInitialize(getApplicationContext());
}
}
然后在其他任何类中使用它:
Then to use it in any other class:
App.getInstance().initFBSdk();
如果这是您要的..
这篇关于Android中应用程序单例的使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!