android cne服务,android - 如何将表的特定行的完整数据发送到服务器-Android - 堆栈内存溢出...

我正在为Android创建在线购物应用程序,并且创建了一个表,该表显示了来自服务器的有关该项目可用性的数据。 我在它旁边添加了一个按钮,该按钮将该行的该项目添加到购物车,并且它也应该将有关选择哪个项目的数据发送到服务器。

我的问题是我无法弄清楚如何将特定行的全部数据发送到服务器,因此不应从当前屏幕重定向。 另外我的服务器在php中,并且已经准备就绪。

public class Availability extends Activity implements View.OnClickListener {

String data = "";

TableLayout tl;

TableRow tr;

TextView label;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_availability);

tl = (TableLayout) findViewById(R.id.main_table);

final GetDatafromDB_Availability getdb = new GetDatafromDB_Availability();

new Thread(new Runnable() {

public void run() {

data = getdb.getDataFromDB();

System.out.println(data);

runOnUiThread(new Runnable() {

@Override

public void run() {

ArrayList users = parseJSON(data);

addData(users);

}

});

}

}).start();

}

public ArrayList parseJSON(String result) {

ArrayList users = new ArrayList();

try {

JSONArray jArray = new JSONArray(result);

for (int i = 0; i < jArray.length(); i++) {

JSONObject json_data = jArray.getJSONObject(i);

Users_availability user = new Users_availability();

user.setId(json_data.getInt("id"));

user.setProduct_code(json_data.getString("product_code"));

user.setShapes(json_data.getString("shaps"));

user.setPair(json_data.getString("pair"));

user.setCarats(json_data.getString("carats"));

user.setColor(json_data.getString("color"));

user.setClarity(json_data.getString("clarity"));

user.setService(json_data.getString("service"));

user.setPolish(json_data.getString("polish"));

user.setSymetric(json_data.getString("symetric"));

user.setTables(json_data.getString("tables"));

user.setMeasurements(json_data.getString("measurments"));

user.setFlourscne(json_data.getString("flourscne"));

user.setDescription(json_data.getString("description"));

user.setCerticated(json_data.getString("certificated"));

user.setCcode(json_data.getString("ccode"));

user.setCut(json_data.getString("cut"));

user.setTotal(json_data.getString("total"));

user.setFile(json_data.getString("file"));

users.add(user);

}

} catch (JSONException e) {

Log.e("log_tag", "Error parsing data " + e.toString());

}

return users;

}

void addHeader(){

/** Create a TableRow dynamically **/

tr = new TableRow(this);

/** Creating a TextView to add to the row **/

label = new TextView(this);

label.setText("Product code");

label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

label.setPadding(5, 5, 5, 5);

label.setBackgroundColor(Color.RED);

LinearLayout Ll = new LinearLayout(this);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(5, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(label,params);

tr.addView((View)Ll); // Adding textView to tablerow.

/** Creating Qty Button **/

TextView shapes = new TextView(this);

shapes.setText("Shapes");

shapes.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

shapes.setPadding(5, 5, 5, 5);

shapes.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(shapes,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView pair = new TextView(this);

pair.setText("Shapes");

pair.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

pair.setPadding(5, 5, 5, 5);

pair.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(pair,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView flourscne = new TextView(this);

flourscne.setText("flourscne");

flourscne.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

flourscne.setPadding(5, 5, 5, 5);

flourscne.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(flourscne,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView description = new TextView(this);

description.setText("description");

description.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

description.setPadding(5, 5, 5, 5);

description.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(description,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView certificated = new TextView(this);

certificated.setText("certificated");

certificated.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

certificated.setPadding(5, 5, 5, 5);

certificated.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(certificated,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView ccode = new TextView(this);

ccode.setText("ccode");

ccode.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

ccode.setPadding(5, 5, 5, 5);

ccode.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(ccode,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView cut = new TextView(this);

cut.setText("cut");

cut.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

cut.setPadding(5, 5, 5, 5);

cut.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(cut,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView total = new TextView(this);

total.setText("total");

total.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

total.setPadding(5, 5, 5, 5);

total.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(total,params);

tr.addView((View)Ll); // Adding textview to tablerow.

TextView file = new TextView(this);

file.setText("file");

file.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

file.setPadding(5, 5, 5, 5);

file.setBackgroundColor(Color.RED);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);

params.setMargins(0, 5, 5, 5);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(file,params);

tr.addView((View)Ll); // Adding textview to tablerow.

// Add the TableRow to the TableLayout

tl.addView(tr, new TableLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

}

@SuppressWarnings({ "rawtypes" })

public void addData(ArrayList users) {

addHeader();

for (Iterator i = users.iterator(); i.hasNext();) {

Users_availability p = (Users_availability) i.next();

/** Create a TableRow dynamically **/

tr = new TableRow(this);

/** Creating a TextView to add to the row **/

label = new TextView(this);

label.setText(p.getproduct_code());

label.setId(p.getId());

label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

label.setPadding(5, 5, 5, 5);

label.setBackgroundColor(Color.GRAY);

LinearLayout Ll = new LinearLayout(this);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(5, 2, 2, 2);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(label,params);

tr.addView((View)Ll); // Adding textView to tablerow.

/** Creating Qty Button **/

TextView place = new TextView(this);

place.setText(p.getShapes());

place.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

place.setPadding(5, 5, 5, 5);

place.setBackgroundColor(Color.GRAY);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(0, 2, 2, 2);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(place,params);

tr.addView((View)Ll); // Adding textview to tablerow.

label = new TextView(this);

label.setText(p.getCut());

label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

label.setPadding(5, 5, 5, 5);

label.setBackgroundColor(Color.GRAY);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(5, 2, 2, 2);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(label,params);

tr.addView((View)Ll); // Adding textView to tablerow.

label = new TextView(this);

label.setText(p.getTotal());

label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

label.setPadding(5, 5, 5, 5);

label.setBackgroundColor(Color.GRAY);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(5, 2, 2, 2);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(label,params);

tr.addView((View)Ll); // Adding textView to tablerow.

label = new TextView(this);

label.setText(p.getFile());

label.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

label.setPadding(5, 5, 5, 5);

label.setBackgroundColor(Color.GRAY);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(5, 2, 2, 2);

//Ll.setPadding(10, 5, 5, 5);

Ll.addView(label,params);

tr.addView((View)Ll); // Adding textView to tablerow.

Button btn = new Button(this);

btn.setText("Add to Basket");

// btn.setTextSize();

btn.setTextSize(TypedValue.COMPLEX_UNIT_SP,12);

// btn.setTag(mLinks.get(index));

btn.setOnClickListener(this);

Ll = new LinearLayout(this);

params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,

LayoutParams.WRAP_CONTENT);

params.setMargins(5, 2, 2, 2);

params.width=400;

params.height=60;

// btn.setLayoutParams(new LinearLayout.LayoutParams(10, 100));

Ll.addView(btn,params);

tr.addView((View)Ll);

// Add the TableRow to the TableLayout

tl.addView(tr, new TableLayout.LayoutParams(

LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));

}

}

public void onClick(View v)

{

// startActivity(f1);

}

}

这是包含JSON解析代码的类

public class GetDatafromDB_Availability {

public String getDataFromDB() {

HttpPost httppost;

HttpClient httpclient;

httpclient = new DefaultHttpClient();

httppost = new HttpPost("http://192.168.0.106/test/availability.php");

ResponseHandler responseHandler = new BasicResponseHandler();

final String response;

try {

response = httpclient.execute(httppost, responseHandler);

} catch (IOException e) {

e.printStackTrace();

System.out.println("ERROR : " + e.getMessage());

return "error";

}

return response.trim();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值