2017-11-25 9 views
0

メインアクティビティクラスからGoogleのNLP API(NLPService.javaという別のクラスで設定)に文字列(文)を渡すことができましたが、 NLPServiceクラスの結果(特定のエンティティ文字列)をメイン処理に戻して処理したいと考えています。エンティティの文字列をメインアクティビティに戻すことは可能ですか?一般的なアプローチは、いずれにもサービスから送信するためにあなたが意図したデータを渡すためにブロードキャスト(LocalBroadcastManager)を使用することになりますメインアクティビティ(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; 

} 

`

答えて

0

:Androidのメーカーでは、私は次のコードでNLPService.javaを作成しましたアクティビティ。 Example of Previous post または、おそらくSharedPreferencesを使用できます。

関連する問題