Android条形码带数字,android – 使用条形码数字获取名称,价格等产品信息
我正在开发一种使用条形码扫描条形码后获得产品信息的应用程序.
我不想让用户分别安装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 {
@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); }
}
}
但是我没有在httpStuff中收到任何文本.
这是logcat:
D/SntpClient(61): request time failed: java.net.SocketException: Address family not supported by protocol
W/System.err(793): org.apache.http.conn.ConnectTimeoutException: Connect to /209.85.175.95:443 timed out
W/System.err(793): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
W/System.err(793): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:143)
W/System.err(793): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
W/System.err(793): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
W/System.err(793): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
W/System.err(793): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
W/System.err(793): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
W/System.err(793): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
W/System.err(793): at com.android.example.jsonexample.JSONExampleActivity.products(JSONExampleActivity.java:53)
W/System.err(793): at com.android.example.jsonexample.JSONExampleActivity$Read.doInBackground(JSONExampleActivity.java:77)
W/System.err(793): at com.android.example.jsonexample.JSONExampleActivity$Read.doInBackground(JSONExampleActivity.java:1)
W/System.err(793): at android.os.AsyncTask$2.call(AsyncTask.java:185)
W/System.err(793): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
W/System.err(793): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
W/System.err(793): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
W/System.err(793): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
W/System.err(793): at java.lang.Thread.run(Thread.java:1019)
D/SntpClient(61): request time failed: java.net.SocketException: Address family not supported by protocol
请帮我找出我收到错误的原因.
Android条形码带数字,android – 使用条形码数字获取名称,价格等产品信息相关推荐
- Android 屏幕适配攻略(四)获取手机屏幕的相关信息 与动态设置控件的大小
Android 屏幕适配攻略(四)获取手机屏幕的相关信息 与动态设置控件的大小 1 动态获取手机屏幕的 屏幕密度与对应像素比例 例如在 320 * 480 尺寸为 3.2 英寸的手机 ,对应的像素密度 ...
- android自带语音识别,Android如何实现自带谷歌语音识别垃圾分类APP
基于Android实现自带谷歌语音识别垃圾分类APP 此次做的项目是垃圾分类APP,涵盖内容各类垃圾的分类详情,关于软件的介绍,分享软件,语音识别,基于API搜索.文章末尾附源码,源码全注释. 项目主 ...
- android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...
在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...
- android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用(示例代码)
在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...
- Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形、平行四边形及椭圆角矩形)等
EnhancedProgressBar Android的增强版android.widget.ProgressBar,带数字的水平滚动条(支持长方形.平行四边形及椭圆角矩形),继承自android.wi ...
- Android ZXing 二维码、条形码扫描介绍
最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个开源的 ZXing项目.它提供二维码和条形码的扫描.扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指 ...
- Android限定EditText的输入类型为数字或者英文(包括大小写)
http://hi.baidu.com/tozhang/item/4dfeaafb9aec2813d7ff8c99 Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听 ...
- android edittext输入邮箱,[Android教程]EditText怎样限制用户的输入?数字/字母/邮箱
有输入必有验证.为了防止用户随便输入确保提交数据的合法性,程序不得不在文本输入框(EditText)中增加限制或验证. 关于输入类型有数字.字母.邮箱.电话等形式,这些具体得根据业务来.那么Andro ...
- android 自定义安全键盘,android 实现自定义安全键盘 且每次数字随机变换位置
但是没有实现随机键盘 本次以该demo中的数字键盘为例 如何在每次打开键盘的时候都变换对应按键的位置 在设置自定义键盘keyboardView.setKeyboard(keyboard) 之前 随机排 ...
最新文章
- C++:uniform_int_distribution、rand()和mt19937随机数、partial_sum、容器最小值和最大值、accumulate
- linux 中的who的参数,linux who命令参数及用法详解
- 性能测试通过几种方式造数据
- [C++对象模型][8]多重继承与虚函数表
- 【一雪前耻!】两种方法判断大小端模式
- Spring框架初写
- c++ class struct同名_如何把C++的源代码改写成C代码?而C改C++只需一步!
- java并发初探ThreadPoolExecutor拒绝策略
- 安全伞项目-腾讯智能对话平台TBP使用
- KNN(六)--LSH算法
- 如何让webpack打包的速度提升50%?
- php 接摄像头数据_详解一个交换机能带动多少个网络监控摄像头?
- HITB_Binary_100_writeup
- java 整型数组定义_JAVA数组的定义及用法
- 云杰恒指:6.11恒指期货实盘指导交易复盘
- 零基础可以学计算机编程吗,计算机编程好学吗,零基础小白可以吗,入门应该先学什么?...
- CSS + HTML导航栏效果
- 1. 有1,2,3,4个数字, 能组成多少个互不相同且无重复数字的三位数? 都是多少?
- Vscode_00_安装Vscode和搭建C/C++开发环境
- 和尚与尼姑雨中相遇后不得不说的故事1