Android Readability API Goose Example


Android/안드로이드 프로그래밍 2014.03.25 15:47




 /*-- AsyncTask --*/

   private class GooseAsyncTask extends AsyncTask<String, Void, Void>

   {

@Override

      protected Void doInBackground(String... params)

      {

         String url = "https://medium.com/p/68aec3c94c3a";

         Configuration config = new Configuration();

         config.setLocalStoragePath(getApplicationContext().getCacheDir().getPath());

         config.setEnableImageFetching(false); //Fetch image file 

         Goose goose = new Goose(config);

         Article article = goose.extractContent(url);

         

         Log.w("WARN", "article.topImageSrc : " + article.topImage().getImageSrc()); 

         Log.w("WARN", "article.title: " + article.title());

         Log.w("WARN", "article.description: " + article.metaDescription());

 }

     }



기존 Goose는 Scala로 구현되어 있어, 바로 import해서 사용이 불가능합니다. 

때문에, 아래 jar 파일(안드로이드용)으로 사용하시기 바랍니다.



goose.jar


그리구, 특이하게 mainThread에서 돌려도 따로 error 가 나질 않는데, AsyncTask 로 돌려야 정상적으로 내용을 받아옵니다:)

위 코드는 이미지URL만 필요하기 떄문에 따로 image를 fetch하지 않았는데, 필요하신분들은 fetch 후, localStoragePath 에서 이미지를 꺼내서 바로 사용하시면 될 것 같습니다.

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
ShakeJ

0 ,