Android Readability API Goose Example
/*-- 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 파일(안드로이드용)으로 사용하시기 바랍니다.
그리구, 특이하게 mainThread에서 돌려도 따로 error 가 나질 않는데, AsyncTask 로 돌려야 정상적으로 내용을 받아옵니다:)
위 코드는 이미지URL만 필요하기 떄문에 따로 image를 fetch하지 않았는데, 필요하신분들은 fetch 후, localStoragePath 에서 이미지를 꺼내서 바로 사용하시면 될 것 같습니다.