웹 페이지 HTML 및 이미지를 다운로드했습니다. 이제, 나는 그들을 사용자에게 보여 주려고 노력하고있다. 두 가지 방법을 시도했지만 사용법을 가장 잘 모르고 있습니다. 둘 다 그들의 문제가 있습니다.다운로드 한 웹 페이지 및 이미지로드 시도
TextView content = (TextView)findViewById(R.id.article_content);
MyImageGetter mig = new MyImageGetter(this, urlId);
Spanned span = Html.fromHtml(contents, mig, null);
content.setText(span);
정말이 두 가지 문제를 제외하고도 작동 방법 :
첫째, 나는 다음 코드를 사용하여 텍스트보기를 시도했다. 첫 번째, 그리고 가장 어려운 것은 기사에 많은 이미지가있을 때 OutOfMemory fc가 나옵니다. 다른 문제는 텍스트 뷰는 사용자 선택 장치와 방향에 따라 서로 다른 폭을 갖고
public class MyImageGetter implements Html.ImageGetter{
String urlId = null;
Context c = null;
public MyImageGetter(ArticleViewer articleViewer, String urlId2) {
c = articleViewer;
urlId = urlId2;
}
public Drawable getDrawable(String source) {
String[] brokenUrl = source.split("/");
String imgName = brokenUrl[brokenUrl.length-1];
File image = new File("/data/data/com.that1dev.RibbonReader/Offline/" + urlId + "/" + imgName);
Log.w("MyApp", image.getAbsolutePath());
Bitmap bm = BitmapFactory.decodeFile(image.getAbsolutePath());
Drawable d = new BitmapDrawable(c.getResources(), bm);
d.setBounds(0,0, d.getIntrinsicWidth(),d.getIntrinsicHeight());
return d;
}
}
다음과 같이 MyImageGetter 코드이다. 뷰의 이미지가 텍스트 뷰 너비보다 크면 이미지가 잘립니다. 그러나, 나는 그것을 스스로 어렵게 고칠 수 있다고 믿습니다. 나는 메모리 문제를 먼저 고치려고 노력하면서 너무 열심히 노력하지 않았다. 그러나 어느 쪽이든에 대한 어떤 도움이라도 대단히 감사 할 것입니다.
내가 시도한 다른 방법은 webview입니다.
WebView webContent = (WebView)findViewById(R.id.web_content);
webContent.loadDataWithBaseURL("", contents[1], "text/html", "utf-8", "");
webContent.setBackgroundColor(Color.TRANSPARENT);
불행히도 이것으로 불행하게도 배경은 내가 무엇을 시도하든간에 흰색으로 유지되고 엄청나게 추합니다. 나는 3.0과 4.0에서 그 작품을 해결할 수없는 것 같습니다.
제가 선택의 여지가 있다면 WebView에서 렌더링 한 방식으로 보였기 때문에 TextView 메서드가 실제로 작동하고 싶습니다.
webview 이미지와 textview 이미지의 크기는 어떻게 다른가요? 이 두 이미지는 대략 300x500 크기의 이미지로로드됩니다. 더 이상 축소시키려는 webview는 무엇입니까? 다른 애플 리케이션 (투명 webview 또는 메모리 안전한 텍스트보기)이 작업을 수행 할 수 있으며, 연습은 내가 거의 믿을 어려울 것이라고 상상할 수 없을만큼 일반적인 (거의 모든 오프라인 RSS 리더) 일반적입니다. –
나는 이것에 대해 잘 모르겠다. 그러나 나는 webview가 그들을 화면에 보여주기 위해 이미지를 데시 멀게한다고 가정했다. 그러나 가장 큰 문제는 당신이 그것을 피할 수 있다면 그들을 즉시 기억하지 않는 것입니다. 또한 매니페스트의 앱을 기본 힙 공간보다 많은 것으로 표시하는 데 도움이 될 수 있습니다. – JRaymond
힙 공간에 대한 정보 주셔서 감사합니다. 그것은 내가 찾고 있던 트릭을했다. 그렇게 많은 수의 이미지를 처리하는 유일한 방법 인 것처럼 보입니다.최대한 많은 메모리를 사용하는 것을 주저하고 있기 때문에 가능한 경우 웹 뷰를 작동하도록 노력할 것입니다.하지만 지금까지는 훌륭합니다. –