从Android应用程序生成要在ePaper显示器上显示的内容
这是我的一个自制项目。这个想法是让epaper显示屏显示从Android手机打开的电子书。epaper之间的连接可以是有线的,也可以是无线的,这并不重要,因为我可以同时处理这两个问题。(我知道类似的东西也有——eInkCase,但嘿,我不想买它) ePaper可以采用二进制格式,基本上是位图中的降采样图片。我已经完成了转换,并测试了通过硬编码几页的文本内容在上面显示一本书的一些页面 现在最困难的部分是在Android手机上阅读电子书时显示电子书。我想要的电子书格式是ePub。我研究过一些应用程序,了解到WebView用于显示内容 我的问题是:从Android应用程序生成要在ePaper显示器上显示的内容,android,webview,bitmap,epub,Android,Webview,Bitmap,Epub,这是我的一个自制项目。这个想法是让epaper显示屏显示从Android手机打开的电子书。epaper之间的连接可以是有线的,也可以是无线的,这并不重要,因为我可以同时处理这两个问题。(我知道类似的东西也有——eInkCase,但嘿,我不想买它) ePaper可以采用二进制格式,基本上是位图中的降采样图片。我已经完成了转换,并测试了通过硬编码几页的文本内容在上面显示一本书的一些页面 现在最困难的部分是在Android手机上阅读电子书时显示电子书。我想要的电子书格式是ePub。我研究过一些应用程序
- 获取WebView的文本内容以使用一些JavaScript生成等效位图是否明智
- 有没有其他方法可以获取WebView的内容
非常感谢您的帮助。您是如何从ePaper获得数据的?你能把它转换成字符串吗 您可以生成动态字符串来创建临时html文件并在运行时加载它。e、 g代码
<WebView
android:id="@+id/WebViewToDisplay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:fadeScrollbars="false" />
将数据加载到WebView中
WebView webViewDisplay;
StringBuffer LoadWEb1;
webViewDisplay = (WebView) findViewById(R.id.WebViewToDisplay);
LoadWEb1 = new StringBuffer();
LoadWEb1.append("<html><body><h1>My First Heading</h1><p>My first paragraph.</p>");
//Sample code to read parameters at run time
String strName = "Test Paragraph";
LoadWEb1.append("<br/><p>"+strName+"</p>");
String result = LoadWEb1.append("</body></html>").toString();
WebSettings webSettings = webViewDisplay.getSettings();
webSettings.setJavaScriptEnabled(true);
webViewDisplay.getSettings().setBuiltInZoomControls(true);
if (android.os.Build.VERSION.SDK_INT >= 11){
webViewDisplay.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
webViewDisplay.getSettings().setDisplayZoomControls(false);
}
webViewDisplay.loadDataWithBaseURL(null, result, "text/html", "utf-8",
null);
//To load local file directly from assets folder use below code
//webViewDisplay.loadUrl("file:///android_asset/aboutapp.html");
WebView-WebView-display;
stringbufferloadweb1;
webViewDisplay=(WebView)findViewById(R.id.WebViewToDisplay);
LoadWEb1=新的StringBuffer();
LoadWEb1.append(“我的第一个标题我的第一段。”;
//在运行时读取参数的示例代码
字符串strName=“测试段落”;
LoadWEb1.append(“
”+strName+“”);
字符串结果=LoadWEb1.append(“”.toString();
WebSettings WebSettings=webViewDisplay.getSettings();
setJavaScriptEnabled(true);
webViewDisplay.getSettings().SetBuilTinZoomControl(真);
如果(android.os.Build.VERSION.SDK_INT>=11){
webViewDisplay.setLayerType(View.LAYER\u TYPE\u软件,空);
webViewDisplay.getSettings().SetDisplayZoomControl(false);
}
webViewDisplay.loadDataWithBaseURL(空,结果,“文本/html”,“utf-8”,
无效);
//要直接从资产文件夹加载本地文件,请使用以下代码
//webViewDisplay.loadUrl(“file:///android_asset/aboutapp.html");
您是如何从ePaper获取数据的?你能把它转换成字符串吗
您可以生成动态字符串来创建临时html文件并在运行时加载它。e、 g代码
<WebView
android:id="@+id/WebViewToDisplay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:fadeScrollbars="false" />
将数据加载到WebView中
WebView webViewDisplay;
StringBuffer LoadWEb1;
webViewDisplay = (WebView) findViewById(R.id.WebViewToDisplay);
LoadWEb1 = new StringBuffer();
LoadWEb1.append("<html><body><h1>My First Heading</h1><p>My first paragraph.</p>");
//Sample code to read parameters at run time
String strName = "Test Paragraph";
LoadWEb1.append("<br/><p>"+strName+"</p>");
String result = LoadWEb1.append("</body></html>").toString();
WebSettings webSettings = webViewDisplay.getSettings();
webSettings.setJavaScriptEnabled(true);
webViewDisplay.getSettings().setBuiltInZoomControls(true);
if (android.os.Build.VERSION.SDK_INT >= 11){
webViewDisplay.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
webViewDisplay.getSettings().setDisplayZoomControls(false);
}
webViewDisplay.loadDataWithBaseURL(null, result, "text/html", "utf-8",
null);
//To load local file directly from assets folder use below code
//webViewDisplay.loadUrl("file:///android_asset/aboutapp.html");
WebView-WebView-display;
stringbufferloadweb1;
webViewDisplay=(WebView)findViewById(R.id.WebViewToDisplay);
LoadWEb1=新的StringBuffer();
LoadWEb1.append(“我的第一个标题我的第一段。”;
//在运行时读取参数的示例代码
字符串strName=“测试段落”;
LoadWEb1.append(“
”+strName+“”);
字符串结果=LoadWEb1.append(“”.toString();
WebSettings WebSettings=webViewDisplay.getSettings();
setJavaScriptEnabled(true);
webViewDisplay.getSettings().SetBuilTinZoomControl(真);
如果(android.os.Build.VERSION.SDK_INT>=11){
webViewDisplay.setLayerType(View.LAYER\u TYPE\u软件,空);
webViewDisplay.getSettings().SetDisplayZoomControl(false);
}
webViewDisplay.loadDataWithBaseURL(空,结果,“文本/html”,“utf-8”,
无效);
//要直接从资产文件夹加载本地文件,请使用以下代码
//webViewDisplay.loadUrl(“file:///android_asset/aboutapp.html");
谢谢您的回复。也许我在上面的描述中不清楚。我需要做的与你刚才描述的相反。我想将数据发送到epaper。我是否正确地理解了这不是示例代码试图做的事情?谢谢您的回复。也许我在上面的描述中不清楚。我需要做的与你刚才描述的相反。我想将数据发送到epaper。我是否正确地理解了这不是示例代码所要做的?