public class loadAllcars extends AsyncTask <string,string,=“”string =“”> {</string,>

时间:2014-01-27 08:42:09

标签: android mysql android-asynctask

我在使用android连接到php的代码中出错。这是代码,错误是加载

错误在:(loadAllcars扩展AsyncTask),这是我有错误的一些代码

  load().execute()? 
   public  class loadAllcars extends AsyncTask<String, String, String> {

carsList = new ArrayList<HashMap<String, String>>();
   new loadAllcarsActivity().excute();


    ListView lv = getListView();

    lv.setOnItemClickListener(new OnItemClickListener() {
         public void onItemClick(AdapterView<?> parent, View view,
                 int position, long id){
             // getting values from selected ListItem
             String casrtype = ((TextView) view.findViewById(R.id.casrtype)).getText()

                     .toString();
             Intent in = new Intent(getApplicationContext(),
                     AllcarsActivity.class);

             in.putExtra(TAG_TYPE, casrtype);

             // starting new activity and expecting some response back
             startActivityForResult(in, 100);

         }
    });

} protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // if result code 100
    if (resultCode == 100) {
        // if result code 100 is received
        // means user edited/deleted product
        // reload this screen again
        Intent intent = getIntent();
        finish();
        startActivity(intent);
    }

public class loadAllcars扩展了AsyncTask {

        /**
         * Before starting background thread Show Progress Dialog
         * */
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(AllcarsActivity.this);
            pDialog.setMessage("Loading products. Please wait...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }

        /**
         * getting All products from url
         * */
        protected String doInBackground(String... args) {
            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            // getting JSON string from URL
            JSONObject json = jParser.makeHttpRequest(url_all_cars, "GET", params);

            // Check your log cat for JSON reponse
            Log.d("All cars: ", json.toString());

            try {
                // Checking for SUCCESS TAG
                int success = json.getInt(TAG_MODEL);

                if (success == 1) {
                    // products found
                    // Getting Array of Products
                   cars = json.getJSONArray(TAG_CARS);

                    // looping through All Products
                    for (int i = 0; i <cars.length(); i++) {
                        JSONObject c =cars.getJSONObject(i);


                        String id = c.getString(TAG_TYPE);
                        String name = c.getString(TAG_CARS);

                        // creating new HashMap
                        HashMap<String, String> map = new HashMap<String, String>();

                        // adding each child node to HashMap key => value
                        map.put(TAG_CARSTYPE, type);
                        map.put(TAG_CARSMODEL, model);

                        // adding HashList to ArrayList
                       carsList.add(map);

                    }

2 个答案:

答案 0 :(得分:0)

当您使用AsyncTask扩展AsyncTask<String, String, String>时,请确保doInBackgrund的参数应为:

protected String doInBackground(String... params) {

和onPostExecute应为

  protected void onPostExecute(String result) {

答案 1 :(得分:0)

如果没有给出

,则在清单文件中授予互联网许可
 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

看起来您将AsyncTask类放在onActivityCreated方法中。将整个AsyncTask类移到此方法之外,然后从那里调用它。