【发布时间】:2014-05-03 07:26:30
【问题描述】:
开始之前
首先,让我先说这是我的第一个 Android 应用程序,我一无所知。因此,如果有任何愚蠢或不值得努力的方法,请告诉我。
问题
我正在构建一个与 MySQL 数据库相关联的应用程序,该数据库托管在 Web 服务器世界某处的 Web 服务器上。此应用程序扫描是我们附加到所有资产的条形码,这些条形码链接到包含该资产所有详细信息的资产登记册。数据将作为 JSON 响应发送。
我正在一块一块地做这个应用程序。感谢本指南,我已经完成了扫描仪部分。但是,我现在想显示一个包含该资产信息的对话框窗口(主要是因为我不知道如何让应用程序移动到新窗口)。目前,我正在努力打开对话框。一旦完成扫描,应用程序就会崩溃。
代码
如果我没有对话框,这部分代码会运行,但如果我有,则会崩溃。
PreviewCallback previewCb = new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
Size size = parameters.getPreviewSize();
Image barcode = new Image(size.width, size.height, "Y800");
barcode.setData(data);
int result = scanner.scanImage(barcode);
if (result != 0) {
previewing = false;
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
SymbolSet syms = scanner.getResults();
for (Symbol sym : syms) {
scanText.setText("barcode result " + sym.getData());
barcodeScanned = true;
final Dialog dialog = new Dialog(getBaseContext());
dialog.setContentView(R.layout.custom);
dialog.setTitle("Asset Details");
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Details to go here with the image");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.ic_launcher);
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
}
}
};
问题
我显然做错了什么,但我不知道是什么。所以这是一个两部分的问题:
- 让应用程序切换到新的“页面”来显示数据是否更容易?如果是这样,我将如何做到这一点(教程或其他东西可能会有所帮助)?
- 我在上面的代码中做错了什么?
【问题讨论】: