package com.wise.wawc; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import org.apache.http.client.utils.URLEncodedUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import com.wise.pubclas.Constant; import com.wise.pubclas.NetThread; import com.wise.pubclas.Variable; import com.wise.service.MaintainAdapter; import com.wise.sql.DBExcute; import com.wise.sql.DBHelper; import android.app.Activity; import android.app.ProgressDialog; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; /** * 4s店 * @author Mr'wang */ public class MaintainShopActivity extends Activity { private ListView maintainList = null; private MaintainAdapter maintainAdapter = null; private Intent intent = null; private int code = 0; private String brank = ""; private String city = ""; ProgressDialog progressDialog = null; private MyHandler myHandler = null; private static final int getMaintainShopCode = 2; private List<String[]> MaintainList = new ArrayList<String[]>(); private ImageView choiceMaintainCancle = null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.choice_maintain); maintainList = (ListView) findViewById(R.id.maintain_list); choiceMaintainCancle = (ImageView) findViewById(R.id.choice_maintain_cancle); choiceMaintainCancle.setOnClickListener(new ClickListener()); intent = getIntent(); code = intent.getIntExtra("code", 0); brank = (String) intent.getStringExtra("brank"); city = (String) intent.getStringExtra("city"); myHandler = new MyHandler(); progressDialog = ProgressDialog.show(MaintainShopActivity.this, getString(R.string.dialog_title), getString(R.string.dialog_message)); progressDialog.setCancelable(true); // 查询数据库 DBHelper dBHelper = new DBHelper(MaintainShopActivity.this); SQLiteDatabase reader = dBHelper.getReadableDatabase(); Cursor cursor = reader.rawQuery("select * from " + Constant.TB_Base + " where Title = ?", new String[]{Constant.Maintain + "/" + city + "/" + brank}); if(cursor.moveToFirst()){ parseJSON(cursor.getString(cursor.getColumnIndex("Content"))); progressDialog.dismiss(); }else{ String urlCity = ""; String urlBrank = ""; Log.e("MaintainShopActivity city" , city); Log.e("MaintainShopActivity brank" , brank); try { urlBrank = URLEncoder.encode(brank, "UTF-8"); urlCity = URLEncoder.encode(city, "UTF-8"); Log.e("MaintainShopActivity urlCity" , urlCity); Log.e("MaintainShopActivity urlBrank" , urlBrank); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } new Thread(new NetThread.GetDataThread(myHandler, Constant.BaseUrl + "base/dealer?city=" + urlCity + "&brand=" + urlBrank + "&cust_id=" + Variable.cust_id, getMaintainShopCode)).start(); } cursor.close(); reader.close(); } class MyHandler extends Handler{ public void handleMessage(Message msg) { switch(msg.what){ case getMaintainShopCode: progressDialog.dismiss(); //存在数据库 if(!"[]".equals(msg.obj.toString())){ DBExcute dBExcute = new DBExcute(); ContentValues values = new ContentValues(); values.put("Cust_id", Variable.cust_id); values.put("Title", Constant.Maintain + "/" + city + "/" + brank); values.put("Content", msg.obj.toString()); dBExcute.InsertDB(MaintainShopActivity.this, values, Constant.TB_Base); parseJSON(msg.obj.toString()); } break; default: return; } super.handleMessage(msg); } } class ClickListener implements OnClickListener{ public void onClick(View v) { switch(v.getId()){ case R.id.choice_maintain_cancle: MaintainShopActivity.this.finish(); break; } } } public void parseJSON(String jsonData){ try { MaintainList.clear(); JSONArray jsonArray = new JSONArray(jsonData); for(int i = 0 ; i < jsonArray.length() ; i ++){ String[] str = new String[2]; JSONObject jsonObject = jsonArray.getJSONObject(i); str[0] = jsonObject.getString("name"); str[1] = jsonObject.getString("tel"); MaintainList.add(str); } } catch (JSONException e) { e.printStackTrace(); } maintainAdapter = new MaintainAdapter(MaintainShopActivity.this,MaintainList); maintainList.setAdapter(maintainAdapter); maintainList.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { // TextView textView = (TextView)maintainList.getChildAt(arg2).findViewById(R.id.vehicle_maintain_name); String maintainName = MaintainList.get(arg2)[0]; String maintainTel = MaintainList.get(arg2)[1]; Intent intents = new Intent(); intents.putExtra("maintain_name", MaintainList.get(arg2)[0]); intents.putExtra("maintain_phone", MaintainList.get(arg2)[1]); if(code == 6){ MaintainShopActivity.this.setResult(6, intents); }else if(code == NewVehicleActivity.newVehicleMaintain){ MaintainShopActivity.this.setResult(NewVehicleActivity.newVehicleMaintain, intents); } MaintainShopActivity.this.finish(); } }); } }