Java 如何处理检索到的扫描结果,例如加载URL?
我为条形码扫描器开发了一个android应用程序,现在我想对检索到的扫描结果进行进一步处理,例如加载URL或在第三方数据源中查找数据。那么我该怎么做呢?我正在使用android studio开发应用程序。 以下是我的MAinActivity代码:Java 如何处理检索到的扫描结果,例如加载URL?,java,android,Java,Android,我为条形码扫描器开发了一个android应用程序,现在我想对检索到的扫描结果进行进一步处理,例如加载URL或在第三方数据源中查找数据。那么我该怎么做呢?我正在使用android studio开发应用程序。 以下是我的MAinActivity代码: import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v4.app.Fragment; import andr
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements OnClickListener {
private Button scanBtn;
private TextView formatTxt, contentTxt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scanBtn = (Button) findViewById(R.id.scan_button);
formatTxt = (TextView) findViewById(R.id.scan_format);
contentTxt = (TextView) findViewById(R.id.scan_content);
scanBtn.setOnClickListener(this);
}
public void onClick(View v) {
if (v.getId() == R.id.scan_button) {
IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
String scanContent = scanningResult.getContents();
String scanFormat = scanningResult.getFormatName();
formatTxt.setText("FORMAT: " + scanFormat);
contentTxt.setText("CONTENT: " + scanContent);
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
}
我正在使用中兴图书馆
这是我编辑的代码:
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
String scanContent = scanningResult.getContents();
String scanFormat = scanningResult.getFormatName();
formatTxt.setText("FORMAT: " + scanFormat);
contentTxt.setText("CONTENT: " + scanContent);
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL("url");
urlConnection = (HttpURLConnection) url
.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader isw = new InputStreamReader(in);
int data = isw.read();
while (data != -1) {
char current = (char) data;
data = isw.read();
System.out.print(current);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (urlConnection != null) {
urlConnection.disconnect();
}
}
} else {
Toast toast = Toast.makeText(getApplicationContext(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
}
这是否正确?使用
startActivityForResult
启动扫描仪活动
,并覆盖活动结果
,以处理检索到的数据
看看这些例子。你必须开始新的活动才能打开你的URL
private void openUrl(String url) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
在您的
onActivityResult
方法中调用此方法。可能scanContent
变量就是你的URL。你知道这样的例子吗..那么请告诉我。你检查过我提供的链接了吗?是的。但我想在那个应用程序中调用我的服务。我在这个应用程序中是新手。所以,如果你知道任何示例,请告诉我……请告诉我,你使用的条形码库是什么。如果你能粘贴你的代码,你是如何使用这个库的,那就太好了。