Java 使用条形码编号获取产品信息,如名称、价格等
我正在开发一个应用程序,它使用Java 使用条形码编号获取产品信息,如名称、价格等,java,android,barcode,Java,Android,Barcode,我正在开发一个应用程序,它使用条码,在扫描条码后获取物品的产品信息 我不希望用户单独安装ZXing条码应用程序,因此我将ZXing代码嵌入到我的项目中。因此,我能够获得条形码ID号 我想通过使用谷歌搜索api获取产品信息,如名称、制造商、价格等 这是我使用的代码 public class JSONExampleActivity extends Activity { TextView httpStuff; DefaultHttpClient client; JSONO
条码
,在扫描条码
后获取物品的产品信息
我不希望用户单独安装ZXing条码
应用程序,因此我将ZXing
代码嵌入到我的项目中。因此,我能够获得条形码ID号
我想通过使用谷歌搜索api获取产品信息,如名称、制造商、价格等
这是我使用的代码
public class JSONExampleActivity extends Activity {
TextView httpStuff;
DefaultHttpClient client;
JSONObject json;
final static String URL = "https://www.googleapis.com/shopping/search";
String upc = "/v1/public/products?country=US&q=691464717759&restrictBy=gtin=691464717759";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
httpStuff = (TextView) findViewById(R.id.tvHttp);
client = new DefaultHttpClient();
new Read().execute("items");
}
public JSONObject products(String upc) throws ClientProtocolException, IOException, JSONException {
StringBuilder url = new StringBuilder(URL);
url.append(upc);
HttpGet get = new HttpGet(url.toString());
HttpResponse r = client.execute(get);
int status = r.getStatusLine().getStatusCode();
if (status == 200) {
HttpEntity e = r.getEntity();
String data = EntityUtils.toString(e);
JSONObject timeline = new JSONObject(data);
return timeline;
}
else {
Toast.makeText(JSONExampleActivity.this, "error", Toast.LENGTH_SHORT);
return null;
}
}
public class Read extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
try {
json = products(upc);
return json.getString(params[0]);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result){
httpStuff.setText(result);
}
}
请帮助我找到出错的原因。您想使用和搜索条形码中编码的数字所代表的内容。尝试将API id添加到url 我试过了,根据你代码的url,我得到了迈克尔·科尔斯MK5412计时手表的信息 {这里是你的钥匙} 因此,您必须修复url生成器以匹配^ 还要确保你把
<uses-permission android:name="android.permission.INTERNET"/>
在你的舱单上。这家伙的功劳:
快乐编码:)还有其他条形码数据库,如。我认为,“用于表示特定产品的条形码编号和条形码编号在全世界都是唯一的。大多数条形码API从自己的数据库中查找给定的条形码编号,以获取特定的产品信息(如果数据库中存在给定的条形码编号),否则不会给出任何结果。” 01.首先,您应该创建自己的数据库,包括数据库中每个项目的条形码编号。(您可以使用多种条形码类型) 02.如果您推出新产品,您应该为您的新产品获取或购买有效的条形码号码(确保您的号码在世界各地都是唯一的)-- **然后,您可以使用数据库查找给定条形码的项目信息**
您好,我使用了谷歌“购物搜索api”和GTIN,正如您指定并更新了我的帖子。请检查代码。我无法获得字符串结果。我发布了日志。您对此有任何解决方案吗?我必须在我的应用程序中为我们的一个客户实现相同的解决方案。您能给我发布解决方案吗?
<uses-permission android:name="android.permission.INTERNET"/>