【发布时间】:2014-07-11 02:56:29
【问题描述】:
找了几天也没找到解决办法。
我不是程序员,但我正在尝试创建一个仅使用条形码阅读器进行搜索的 Android 应用程序。
一款取代那些昂贵的支票价格机器的应用。只需使用平板电脑和条形码扫描仪,将库存软件生成的文件(通常是带有.txt扩展名的纯文本文件)复制到microSD卡中(不确定我是否可以通过网络将文件直接发送到卡中)。
这是带有 javascript 代码的 HTML 页面(非常错误和可怕,但也能正常工作)。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="refresh" content="10">
<title>CONSULTA DE PREÇO</title>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="timestamp">
<script>
var TRange = null;
function Procurar(str) {
if (parseInt(navigator.appVersion) < 4)
return;
var Resultado;
if (window.find) {
Resultado=self.find(str);
if (Resultado && self.getSelection && !self.getSelection().anchorNode) {
Resultado=self.find(str)
}
if (!Resultado) {
Resultado=self.find(str,0,1)
while (self.find(str,0,1))
continue
}
}
else if (navigator.appName.indexOf("Microsoft")!=-1) {
if (TRange!=null) {
TRange.collapse(false)
Resultado=TRange.findText(str)
if (Resultado)
TRange.select()
}
if (TRange==null || Resultado==0) {
TRange=self.document.body.createTextRange()
Resultado=TRange.findText(str)
if (Resultado)
TRange.select()
}
}
if (!Resultado)
alert ("PRODUTO SEM CADASTRO - PROCURE O VENDEDOR")
return;
}
</script>
<style type="text/css">
body {
background-color:blue;
font-family:sans-serif;
overflow-y: hidden
}
body,div,form,.campo {
margin:0;
padding:0;
border:0
}
*:focus {outline: none;}
.cabeca, .barra {
background-color:blue;
color:white;
text-align:center
}
.resultado,#busca,.botao,.campo {
background-color:yellow
}
#busca,.botao {
color:yellow;border:0
}
.campo {
margin-left:5px;
overflow: hidden;
font-weight:bold;
font-size:15px;
font-family:monospace;
color:#000000;
text-transform:uppercase
}
h1 {
font-size: 40px
}
h5 {
font-size: 15px
}
h6 {
font-size: 13px
}
</style>
</head>
<body onload="document.getElementById('busca').focus();">
<div class="cabeca">
<br>
<h1><i>BUSCA PREÇO</i></h1>
<h5><marquee behavior="alternate">PASSE O CÓDIGO DE BARRAS DO PRODUTO SOB O FEIXE DE LUZ</marquee></h5>
</div>
<div class="resultado">
<form id="f1" action="" onsubmit="if(this.t1.value!=null && this.t1.value!='') Procurar(this.t1.value);return false" name="f1">
<input type="text" id="busca" name="t1" value="" size="20"> <input class="botao" type="submit" name="b1" value="Q">
</form>
<form action="">
<textarea class="campo" name="mytextarea" cols="87" rows="3" readonly>
<!-- TXT CONTENT HERE -->
</textarea>
</form>
<br>
</div>
<div class="barra">
<h6>AGUARDE A CONSULTA ANTERIOR APAGAR ANTES DE REALIZAR OUTRA</h6>
</div>
</body>
</html>
这是我的 java:
package br.com.strabelli.qc.quantocusta;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class Tela extends Activity {
WebView mwebview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tela);
mwebview = (WebView) findViewById(R.id.webview);
mwebview.loadUrl("file:///android_asset/index.html");
WebSettings webSettings = mwebview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(false);
mwebview.setWebViewClient(new WebViewClient());
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mwebview.canGoBack()) {
mwebview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
html文件正确位于asset目录中,应用程序正在运行,搜索工作正常,但问题是我需要将txt文件的内容(应该位于sdcard中)注入到里面标签。
txt的内容是这样的
1000177935227|Figuras de Ontem e de Hoje|39,00|
1000177935333|Poeira Dourada|40,00|
1000177935371|Rui - Pequena Historia de Uma Grande Vida|15,00|
9788575183755|Dicionario Barsa da Lingua Portuguesa|60,00|
9788571644694|Uma Historia da Guerra|17,00|
我尝试了 iframe 和 object,但在此标签内搜索不起作用。我试图用 javascript 找到一些解决方案,但没有得到任何结果。
可以分段生成 webview 吗?像这样:html (...)textarea + terminal.txt + /textarea (...) /html
感谢您的帮助,抱歉我的英语不好。
【问题讨论】:
标签: java javascript android html webview