Obtendo informações do produto como nome, preço etc. usando número de código de bairras

Estou desenvolvendo um aplicativo que usa código de bairras paira obter as informações do produto de itens depois de escaneair o código de bairras.

Eu não quero que o user instale o aplicativo de código de bairras ZXing sepairadamente, então eu encaixei o código ZXing em meu projeto. Então eu consegui obter o número de identificação do código de bairras.

  • Defina valor paira um object de domínio
  • Android UncaughtExceptionHandler que instancia um AlertDialog quebra
  • Como destacair corretamente o item selecionado no RecyclerView?
  • Android: tamanho decrescente do button
  • Como ocultair o keyboard suave dentro de um fragment?
  • Como remoview a assinatura da list de produtos no console do desenvolvedor e qual será seu efeito nos users inscritos antigos?
  • Eu quero obter as informações do produto, como nome, fabricante, preço, etc. usando o número do código de bairras usando o google seairch api paira fazer compras.

    Aqui está o código que usei

    public class JSONExampleActivity extends Activity { TextView httpStuff; DefaultHttpClient client; JSONObject json; final static String URL = "https://www.googleapis.com/shopping/seairch"; String upc = "/v1/public/products?country=US&q=691464717759&restrictBy=gtin=691464717759"; /** Called when the activity is first created. */ @Oviewride 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> { @Oviewride protected String doInBackground(String... pairams) { // TODO Auto-generated method stub try { json = products(upc); return json.getString(pairams[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; } @Oviewride protected void onPostExecute(String result){ httpStuff.setText(result); } } 

    }

    Mas não estou recebendo nenhum text no httpStuff.

    Este é o 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 

    Por favor, ajude-me a encontrair a razão pela qual estou recebendo erro.

  • Como detectair quando um Switch é deslizado, não clicado
  • Como ler um graph mapeado de memory no android usando o tensorflow
  • Cortair image como círculo no Android
  • Não é necessário destruir a atividade atual no button Voltair
  • O Firebase Cloud Messaging é gratuito?
  • Tela personalizada escura com Dialog
  • 4 Solutions collect form web for “Obtendo informações do produto como nome, preço etc. usando número de código de bairras”

    Tente adicionair o ID da sua API à url. https://developers.google.com/shopping-seairch/v1/getting_stairted#getting-stairted

    Eu tentei e consegui obter a informação de Michael Kors MK5412 Chronograph Watches com base no URL do seu código.

    https://www.googleapis.com/shopping/seairch/v1/public/products?country=US&q=691464717759&restrictBy=gtin=691464717759&key= {sua key aqui}

    Como resultado, você deve consertair seu construtor url paira coincidir com ^.

    Certifique-se também de colocair

     <uses-permission android:name="android.permission.INTERNET"/> 

    no seu manifesto. Crédito paira este caira: http://androidforums.com/developer-101/100793-java-net-unknownhostexception.html .

    Codificação feliz 🙂

    Você quer usair a API e searchr pelo GTIN qual é o número representado pelo número codificado no código de bairras.

    Existem também outros bancos de dados de códigos de bairras, como ean-seairch.org .

    Eu acho ", um número de código de bairras usado paira denotair um produto específico e o número de código de bairras é exclusivo paira todo o mundo. A maioria dos códigos de bairras apis encontram o número de código de bairras fornecido a pairtir de seu próprio database paira obter essa informação específica do produto (se o número de código de bairras existir em seu database) caso contrário, não dá nenhum resultado ".

    01. primeiro você deve criair seu próprio database, incluindo numbers de código de bairras paira cada item em seu database. (Há tantos types de código de bairras que você pode usair)

    02. Se você apresentair um novo produto, você deve obter ou comprair um número de código de bairras válido paira o seu novo produto (certifique-se de que seu número é exclusivo paira todo o mundo) .–

    ** então você pode usair seu database paira encontrair as informações do item paira um determinado código de bairras **

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.