帮忙讲解一段安卓代码,谢谢!
第一段
package com.cm.shopping.activity;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.cm.network.AsyncRequestUtils;
import com.cm.network.AsyncRequestUtils.AsyncListener;
import com.cm.shopping.adapter.CommentAdapter;
import com.cm.shopping.bean.comments;
import com.cm.utils.AsyncImageLoader;
import com.cm.utils.BaseActivity;
import com.cm.utils.UIUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
/**
*
- @author zlus
*/
public class DishesDetailActivity extends BaseActivity {
private int id = 0;
private ImageView imageView1;
private AsyncImageLoader asyncImageLoader;
private String serverUrl;
private TextView tvIntro;
private Button btnTopTitleRight, btnTopTitleLeft;
private com.cm.shopping.activity.CommonApplication application;
private ListView listview1;
private CommentAdapter adapter;
private Button btnAddCar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dishedetail);
application = (com.cm.shopping.activity.CommonApplication) getApplicationContext();
findview();
asyncImageLoader = new AsyncImageLoader(BitmapFactory.decodeResource(
getResources(), R.drawable.pc_loading_fali));
serverUrl = AppConstant.getRootUrl(this);
if (getIntent() != null) {
id = getIntent().getIntExtra("id", 0);
query();
}
}
private void findview() {
((TextView) findViewById(R.id.tvTopTitleCenter)).setText("详情");
imageView1 = (ImageView) findViewById(R.id.imageView1);
tvIntro = (TextView) findViewById(R.id.tvIntro);
btnTopTitleRight = (Button) findViewById(R.id.btnTopTitleRight);
btnTopTitleRight.setText("抢单");
btnTopTitleRight.setVisibility(View.VISIBLE);
btnTopTitleRight.setOnClickListener(this);
btnAddCar = (Button) findViewById(R.id.btnAddCar);
btnAddCar.setOnClickListener(this);
listview1 = (ListView) findViewById(R.id.listview1);
}
private void query() {
showProgressDialog("获取中,请稍后..");
buildGetOneRowMap("dishes", id);
AsyncRequestUtils.newInstance().get(mParamMaps, new AsyncListener() {
@Override
public void onResult(String result) {
hideProgressDialog();
if (result.trim().length() > 0) {
try {
jsonArray = new JSONArray(result);
jsonObject = jsonArray.getJSONObject(0);
if (!TextUtils.isEmpty(jsonObject.getString("img_url"))) {
asyncImageLoader.loadBitmap(
serverUrl + "UploadFile/"
+ jsonObject.getString("img_url"),
imageView1);
}
String intro = "名称:" + jsonObject.getString("title")
+ "\n";
intro += "单价:¥" + jsonObject.getString("price") + "\n";
intro += "库存:" + jsonObject.getString("amount") + "\n";
intro += "简介:" + jsonObject.getString("intro") + "\n";
intro += "评论:";
tvIntro.setText(intro);
queryComment();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
});
}
private void submit() {
mParamMaps.clear();//map集合清除数据
mParamMaps.put("Action", "addcar");//添加数据
mParamMaps.put("proid", id);
mParamMaps.put("userid", user.getId());
dialog = ProgressDialog.show(this, "提示", "处理中,请稍后..");
AsyncRequestUtils.newInstance().post(mParamMaps, new AsyncListener() {
@Override
public void onResult(String result) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
if (result.trim().equals("1")) {
toastUtil.show("添加成功");
} else if (result.trim().equals("-1")) {
toastUtil.show("该商品已经存在购物车,不用重复添加");
} else {
toastUtil.show("添加失败");
}
}
});
}
private void queryComment() {
mParamMaps.clear();
mParamMaps.put("Action", "getComment");
mParamMaps.put("dishesid", id);
AsyncRequestUtils.newInstance().get(mParamMaps, new AsyncListener() {
@Override
public void onResult(String result) {
hideProgressDialog();
if (result != null && result.trim().length() > 0) {
List<comments> list = new Gson().fromJson(result,
new TypeToken<List<comments>>() {
}.getType());
adapter = new CommentAdapter(DishesDetailActivity.this,
list);
listview1.setAdapter(adapter);
UIUtils.setListViewHeightBasedOnChildren(listview1);
}
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnTopTitleRight:
intent = new Intent(DishesDetailActivity.this,
CreateOrderActivity.class);
intent.putExtra("id", id);
startActivityForResult(intent, 1);
break;
case R.id.btnAddCar:
submit();
break;
default:
break;
}
}
}
第二段
package com.cm.shopping.activity;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import com.cm.network.AsyncRequestUtils;
import com.cm.network.AsyncRequestUtils.AsyncListener;
import com.cm.shopping.adapter.DishesAdapter;
import com.cm.shopping.bean.dishes;
import com.cm.shopping.bean.types;
import com.cm.utils.ActivityUtils;
import com.cm.utils.BaseActivity;
import com.cm.utils.UIUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
/**
*
*
- @author zlus
*/
public class DishesListActivity extends BaseActivity {
private Button btnTopTitleLeft, btnTopTitleRight;
private List list;
private DishesAdapter adapter;
private ListView listview1;
private TextView tvTopTitleCenter;
private String keyword = “”;
private final Gson gson = new Gson();
private List typelist;
private int typeid;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
findview();
query();
}
private void findview() {
tvTopTitleCenter = ((TextView) findViewById(R.id.tvTopTitleCenter));
tvTopTitleCenter.setText(getString(R.string.app_name));
btnTopTitleLeft = (Button) findViewById(R.id.btnTopTitleLeft);
btnTopTitleLeft.setVisibility(View.VISIBLE);
btnTopTitleLeft.setOnClickListener(this);
btnTopTitleLeft.setText("个人");
btnTopTitleRight = (Button) findViewById(R.id.btnTopTitleRight);
btnTopTitleRight.setVisibility(View.VISIBLE);
btnTopTitleRight.setOnClickListener(this);
btnTopTitleRight.setText("搜索");
listview1 = (ListView) findViewById(R.id.listview1);
listview1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(DishesListActivity.this,
DishesDetailActivity.class);
intent.putExtra("id", list.get(position).getId());
startActivity(intent);
}
});
}
private void query() {
showProgressDialog("获取中,请稍后..");
mParamMaps.clear();
mParamMaps.put("Action", "getdisheslist");
mParamMaps.put("keyword", keyword);
mParamMaps.put("typeid", typeid);
AsyncRequestUtils.newInstance().get(mParamMaps, new AsyncListener() {
@Override
public void onResult(String result) {
hideProgressDialog();
if (!TextUtils.isEmpty(result) && result.trim().length() > 0) {
list = gson.fromJson(result, new TypeToken<List<dishes>>() {
}.getType());
adapter = new DishesAdapter(DishesListActivity.this, list);
listview1.setAdapter(adapter);
} else {
toastUtil.show("没有数据");
}
querytype();
}
});
}
private void querytype() {
mParamMaps.clear();
mParamMaps.put("Action", "getOneRow");
mParamMaps.put("Table", "types");
AsyncRequestUtils.newInstance().get(mParamMaps, new AsyncListener() {
@Override
public void onResult(String result) {
hideProgressDialog();
if (!TextUtils.isEmpty(result) && result.trim().length() > 0) {
typelist = gson.fromJson(result,
new TypeToken<List<types>>() {
}.getType());
} else {
typelist = new ArrayList<types>();
}
}
});
}
private void dialog() {
View view = LayoutInflater.from(this).inflate(R.layout.layout_search,
null);
final EditText etName = (EditText) view.findViewById(R.id.etName);
final Spinner spinner1 = (Spinner) view.findViewById(R.id.spinner1);
String[] strs = new String[typelist.size() + 1];
strs[0] = "所有";
for (int i = 0; i < typelist.size(); i++) {
strs[i + 1] = typelist.get(i).getTypename();
}
UIUtils.bindSpinner(this, spinner1, strs);
AlertDialog dialog = new AlertDialog.Builder(this).setTitle("搜索")
.setIcon(android.R.drawable.ic_dialog_info).setView(view)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
keyword = etName.getText().toString();
if (spinner1.getSelectedItemPosition() != 0) {
typeid = typelist.get(
spinner1.getSelectedItemPosition() - 1)
.getId();
} else {
typeid = 0;
}
query();
}
}).setNegativeButton("取消", null).create();
dialog.show();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnTopTitleRight:
dialog();
break;
case R.id.btnTopTitleLeft:
ActivityUtils.startActivity(PersonCenterActivity.class);
break;
default:
break;
}
}
}