我正在尝试将一些文本从我的库发送到项目android。他们是连接的,我可以从项目开始一个意图,但我不明白如何从库发送数据到主项目。我的问题:这可能吗?
谢谢。
答案 0 :(得分:4)
您可以借助界面实现此通信 我们的想法是创建一个将在您的活动中实现的回调方法,并由项目库调用以将文本发送回给您(在android项目中)。
例如,创建一个界面:
public interface OnTaskFinishedListener(){
void onTaskFinished(String text);
}
假设您的项目库中有一个名为Task
的类,其方法为doTask()
,您在Android项目中使用它来执行某项任务,然后将结果发回给您。
然后Task
的实现将如下所示:
public class Task{
// ......
public void doTask(OnTaskFinishedListener listener){
// Do the task...
String textToSend = // some text to send to caller activity
listener.onTaskFinished(textToSend);
}
}
现在让您的活动实施OnTaskFinishedListner
:
public class MainActivity extends Activity implements OnTaskFinishedListener{
@Override
public void onCreate(Bundle savedInstanceState){
// .........
Task task = new Task();
task.doTask(this); //pass the current activity as the listener.
}
@Override
public void onTaskFinished(String result){
// do what you need to do with "result"
// the method will be called when "doTask()" will finish its job.
}
}