0
메인 활동 클래스에서 Google NLP API (NLPService.java라고하는 별도의 클래스로 구성)에 문자열 (문장)을 전달할 수 있었지만 NLPService 클래스의 결과 (특정 개체 문자열)를 다시 처리하기 위해 내 주 활동으로 되돌릴 수 있기를 바랍니다. 엔티티 문자열을 다시 내 주요 활동으로 전달할 수 있습니까? 안드로이드 Studio에서 다음 코드와 NLPService.java을 만든 : 일반적인 접근 방식은 당신이 어떤에게 서비스에서 보내기위한 데이터를 전달하는 방송 (LocalBroadcastManager)를 사용하는 것입니다Google NLP API를 사용하여 기본 활동 (Android)
//New NLP Model
public void analyzeText(String textToAnalyze) {
Document doc = new Document();
doc.setContent(textToAnalyze)
.setType("PLAIN_TEXT");
final String[] result = new String[1];
if (textToAnalyze != null && !doc.isEmpty()) {
doc.setContent(textToAnalyze);
//Config request to be sent to Google NLP
Features features = new Features();
features.setExtractEntities(true);
final AnnotateTextRequest request = new AnnotateTextRequest();
request.setDocument(doc);
request.setFeatures(features);
AsyncTask.execute(new Runnable() {
public void run() {
try {
returnResponse(NLPService.documents().annotateText(request).execute());
result[0] = returnResponse(NLPService.documents().annotateText(request).execute());
Log.i("getAsyncResponse", "RESULT: " + result[0]);
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
public String returnResponse(AnnotateTextResponse response) {
final List<Entity> entityList = response.getEntities();
String entities = "";
for (Entity entity : entityList) {
entities += "\n" + entity.getName().toUpperCase() + " " + entity.getType();
}
return entities;
}
`