我想点击图片并在android中显示图片价格

时间:2014-08-01 10:10:38

标签: android sqlite

我是android的新开发人员,I尝试使用web services, then I学习数据库部分,使用了JSON Web服务。

由于I已使用PHP并在MySQL中创建数据库,因此table.Then中静态插入的值会发送相同的值并存储android数据库。

现在I想要获取并显示文本视图值,已经I已存储价格,名称,类别,然后在滚动视图中显示多个图像,现在I点击了一个图像,显示图像价格和名称与类别,然后单击另一个图像显示图像价格,名称,类别。

Database values

我的数据库名称是酒店,表名是品种,存储的值是类别,名称,价格和总数,

Here do for fetch MySQL database values

class GetProductDetails extends AsyncTask<String, String, String>{



    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
        pdialog = new ProgressDialog(veg_varities.this);
        pdialog.setMessage("Loading product details. Please wait");
        pdialog.setIndeterminate(false);
        pdialog.setCancelable(false);
        pdialog.show();
    }

    protected String doInBackground(String...params) {
        // TODO Auto-generated method stub
        runOnUiThread(new Runnable()
        {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                int success;
                String rn="101D";
                JSONArray products = null;
                try
                {           
                //String item_id, product_id, price, name;
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("room_no", rn));

                JSONObject json = JSONParser.makeHttpRequest(price_list, "POST", params);
                Log.d("details", json.toString());
                success = json.getInt(TAG_SUCCESS);

                if(success == 1)
                {
                    try
                    {
                    products = json.getJSONArray(TAG_PRODUCTS);
                    int a = products.length();
                    String c_name;
                    String i_name ;
                    String r_no;
                    String price ;
                    String v_name;
                    //sqdb = dc.db.getWritableDatabase();
                    for (int i = 0; i < products.length(); i++) {   
                    //String t_price;
                    JSONObject g = products.getJSONObject(i);           
                    c_name = g.getString(TAG_ITEM_ID);
                    i_name = g.getString(TAG_PRODUCT_ID);   
                    r_no = g.getString(ROOM_NO);
                    price = g.getString(TAG_PRICE);
                    v_name = g.getString(TAG_NAME); 
                    sqdb = dc.db.getWritableDatabase();
                    String sql2 = "insert into "+" vegvarities(item_id,product_id,room_no,price,name)"+" values('"+c_name+"','"+i_name+"','"+r_no+"','"+price+"','"+v_name+"')";            
                    sqdb.execSQL(sql2);
                    }
                    dc.db.close();
                    }catch(JSONException e)
                    {
                        e.printStackTrace();
                    }
                }else
                {

                }

            }catch(JSONException e)
            {
                System.out.print(e);
            }
            }

        });
        return null;
    }

这里我想要插入代码:

我已将图像放入图库方法,它在滚动视图中显示多个图像,单击一个图像显示图像名称,价格,类别。

    picGallery1.setOnItemClickListener(new OnItemClickListener()
    {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {
            // TODO Auto-generated method stub
            img.setImageBitmap(imgAdapter1.getPic(position));


        }

    });

1 个答案:

答案 0 :(得分:0)

您可以使用struct或class。试试例

class Product{
Bitmap pic;
string name;
string price;
string category;
}

从数据库加载并将其放到ArrayList<Product> arrProducts;

如此。结果:你可以展示任何东西......

picGallery1.setOnItemClickListener(new OnItemClickListener()
    {

        @Override
        public void onItemClick(AdapterView<?> parent, View v, int position,
                long id) {
            // TODO Auto-generated method stub
            img.setImageBitmap(arrProducts.get(position).pic);
             label1.setText(arrProducts.get(position).name);
             label2.setText(arrProducts.get(position).price);
             label3.setText(arrProducts.get(position).category);

        }

    });