Android 从已创建的库获取响应
我的目标是创建一个可重用的库,如果我想创建一个新项目,我可以将其包括在内。这方面的示例是登录 我将分别创建登录项目,进行设计和编码。现在,如果我要在我的一个项目中使用它,我只需要将它作为一个依赖项包含进去。到目前为止,这是工作,登录显示在我的新项目 我遇到的挑战是如何处理或获得登录到我的应用程序的结果的响应。由于它们是独立的项目 这方面的最佳策略是什么。或者有没有更好的方法来创建可重用的库Android 从已创建的库获取响应,android,android-library,Android,Android Library,我的目标是创建一个可重用的库,如果我想创建一个新项目,我可以将其包括在内。这方面的示例是登录 我将分别创建登录项目,进行设计和编码。现在,如果我要在我的一个项目中使用它,我只需要将它作为一个依赖项包含进去。到目前为止,这是工作,登录显示在我的新项目 我遇到的挑战是如何处理或获得登录到我的应用程序的结果的响应。由于它们是独立的项目 这方面的最佳策略是什么。或者有没有更好的方法来创建可重用的库 感谢在活动和片段(已加载到活动)之间的交互非常简单。您可以将公共方法添加到该片段,然后在活动方法中调用它。
感谢在
活动
和片段
(已加载到活动
)之间的交互非常简单。您可以将公共方法添加到该片段
,然后在活动
方法中调用它。否则,如果您的登录过程是一个异步任务(即将在后台线程中完成),您可能需要一个接口来通知父活动
登录过程已经完成
下面是一些用于入门的代码片段
public LoginFrag extends Fragment {
// Other stuff
/* This is your own method which checks user credentials */
public void check() {
boolean success = false;
// codes for checking username and password
// and then update 'success' variable
// with this code you'll inform the parent activity
if(mListener != null) {
mListener.onResult(success);
}
}
OnLoginResultListener mListener;
public void setOnLoginResultListener(OnLoginResultListener listener) {
mListener = listener;
}
public interface OnLoginResultListener {
public void onResult(boolean success);
}
}
这是父活动代码:
public MainActivity extends Activity {
@Override
protected void onCreate(Bundle b) {
//Other stuff
LoginFrag login = new LoginFrag(); // from the library
login.setOnLoginResultListener(new OnLoginResultListener(){
@Override
public void onResult(boolean success) {
// do stuff here with 'success' for example:
String message;
if(success) {
message = "Congratulation! you've logged in";
} else {
message = "Ooops! login failed!";
}
console.log(message);
}
});
// Now load this fragment by 'FragmentManager'
// via 'getSupportFragmentManager()'
}
}
您的“登录组件”是一个
活动还是一个片段
?我使用了片段(android.support.v4.app.Fragment)。我试图使用singleton,但我仍然无法理解逻辑。希望你能给出一些逻辑,谢谢你分享你的片段。我来看看。顺便说一下,您还可以发布用于创建OnLoginResultListener的代码段。这是我第一次创建这样的类。我想我需要一个指南来避免把事情搞砸。@Chullots Java接口无法实现!他们所有的方法都是公共抽象的,所以你不能实现它们,谷歌java界面提供更多信息