getText()。toString()常量和资源类型不匹配

I need help on this. I am getting error on "getText().toString()" it says "getTEXT METHOD SHOULD BE CALLED FROM THE UI THREAD...".. what does this mean?and when submit the data ,data is not saved on the database. Can someone help me please?I am running out of time already :'(. if there is anything required, let me know.

Here is my code:

SecondScreen.java

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

public class SecondScreen extends Activity {

    // Progress Dialog
    private ProgressDialog pDialog;

    JSONParser jsonParser = new JSONParser();
    EditText name_eT;
    EditText age_eT;
    EditText email_eT;
    EditText phone_eT;
    EditText descr_eT;

    private static String url_submit_data = "http://khaty-ismail0.rhcloud.com/phptutorial/submit.php";

    // JSON Node names
    private static final String TAG_SUCCESS = "success";

    private Button submitButton;

    String Name="1";
    String Age="1";
    String Gender ="1";
    String Email ="1";
    String Phone ="1";
    String IncidentType ="1";
    String Description ="1";    

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_layout);

        // Edit Text
        inputName = (EditText) findViewById(R.id.name_eT);
        age_eT = (EditText) findViewById(R.id.age_eT);
        email_eT = (EditText) findViewById(R.id.email_eT);
        phone_eT = (EditText) findViewById(R.id.phone_eT);
        descr_eT = (EditText) findViewById(R.id.descr_eT);

        CheckBox cBoxMale = (CheckBox) findViewById(R.id.checkBoxMale);
        CheckBox cBoxFemale = (CheckBox) findViewById(R.id.checkBoxFemale); 

        Spinner list = (Spinner) findViewById(R.id.spinner);

        // Create button
        Button submitButton = (Button) findViewById(R.id.subm_btn);

        // button click event
        submitButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                // creating new product in background thread
                /*String Name = name_eT.getText().toString();
                String Age = age_eT.getText().toString();
                String Email = email_eT.getText().toString();
                String Phone = phone_eT.getText().toString();
                String Description = descr_eT.getText().toString();*/


                /*Intent i = new Intent(getApplicationContext(),SubmitData.class);
                startActivity(i);*/

                new SubmitData().execute(Name, Age, Gender, Email, Phone, IncidentType, Description);
            }
        });
    }

    public void onCheckboxClicked(View V) {
        boolean checked = ((CheckBox) V).isChecked();

        switch (V.getId()) {
            case R.id.checkBoxMale:
                if (checked);
                    //Male
                else
                    //No gender
                    break;

            case R.id.checkBoxFemale:
                if (checked);
                    //Female
                else
                    //No gender
                    break;

        }
    }

    /**
     * Background Async Task to Create new product
     * */
    class SubmitData extends AsyncTask<String, String, String> {

        /**
         * Before starting background thread Show Progress Dialog
         * */
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(SecondScreen.this);
            pDialog.setMessage("Submitting your data...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
        }

        /**
         * Creating product
         * */


        protected String doInBackground(String... args) {
            //noinspection ResourceType
            String Name = name_eT.getText().toString();
            //noinspection ResourceType
            String Age = age_eT.getText().toString();
            String Email = email_eT.getText().toString();
            String Phone = phone_eT.getText().toString();
            String Description = descr_eT.getText().toString();

            String Name = args[0];
            String Age = args[1];
            String Gender = args [2];
            String Email = args[3];
            String Phone = args[4];
            String IncidentType = args[5];
            String Description = args[6];

            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("Name", Name));
            params.add(new BasicNameValuePair("Age", Age));
            params.add(new BasicNameValuePair("Gender", Gender));
            params.add(new BasicNameValuePair("Email", Email));
            params.add(new BasicNameValuePair("Phone", Phone));
            params.add(new BasicNameValuePair("Incident Type", IncidentType));
            params.add(new BasicNameValuePair("Description", Description));

            // getting JSON Object
            // Note that create product url accepts POST method

            ServiceHandler serviceClient = new ServiceHandler();
            String json = serviceClient.makeServiceCall(url_submit_data, ServiceHandler.POST, params);

            // check log cat fro response
            Log.d("Create Response", json.toString());

            // check for success tag
            if (json != null) {
                try {
                    JSONObject jsonObj = new JSONObject(json);
                    boolean error = jsonObj.getBoolean("error");
                    // checking for error node in json
                    if (!error) {
                        // new category created successfully
                        Log.e("Prediction added successfully ", "> " + jsonObj.getString("message"));
                    } else {
                        Log.e("Add Prediction Error: ",
                                "> " + jsonObj.getString("message"));
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                }

            } else {
                Log.e("JSON Data", "JSON data error!");
            }
            return null;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
        }
    }
}

here is my ServiceHandler.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import android.util.Log;

public class ServiceHandler {

    static String response = null;
    static InputStream is = null;
    public final static int GET = 1;
    public final static int POST = 2;

    public ServiceHandler() {

    }

    /*
     * Making service call
     * @url - url to make request
     * @method - http request method
     * */
    public String makeServiceCall(String url, int method) {
        return this.makeServiceCall(url, method, null);
    }

    /*
     * Making service call
     * @url - url to make request
     * @method - http request method
     * @params - http request params
     * */
    public String makeServiceCall(String url, int method,List<NameValuePair> params) {
        try {
            // http client
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpEntity httpEntity = null;
            HttpResponse httpResponse = null;

            // Checking http request method type
            if (method == POST) {
                HttpPost httpPost = new HttpPost(url);
                // adding post params
                if (params != null) {
                    httpPost.setEntity(new UrlEncodedFormEntity(params));
                }

                httpResponse = httpClient.execute(httpPost);

            } else if (method == GET) {
                // appending params to url
                if (params != null) {
                    String paramString = URLEncodedUtils
                            .format(params, "utf-8");
                    url += "?" + paramString;
                }
                HttpGet httpGet = new HttpGet(url);
                Log.d("url", url);

                httpResponse = httpClient.execute(httpGet);

            }
            httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "UTF-8"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "
");
            }
            is.close();
            response = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error: " + e.toString());
        }

        return response;

    }
}

here is layout file secondlayout.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:text="@string/User_info"
        android:id="@+id/userInfo"
        android:textSize="30sp"
        android:textColor="@color/colorFont"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:text="Name:"
        android:id="@+id/name_tV"
        android:textColor="@color/colorFont"
        android:layout_marginTop="24dp"
        android:layout_below="@+id/userInfo"
        android:layout_alignLeft="@+id/userInfo"
        android:layout_alignStart="@+id/userInfo" />

    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:text="Age:"
        android:id="@+id/age_tV"
        android:textColor="@color/colorFont"
        android:layout_alignBottom="@+id/age_eT"
        android:layout_alignLeft="@+id/name_tV"
        android:layout_alignStart="@+id/name_tV" />

    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:text="Gender"
        android:id="@+id/gender_tV"
        android:textColor="@color/colorFont"
        android:layout_above="@+id/email_eT"
        android:layout_alignLeft="@+id/age_tV"
        android:layout_alignStart="@+id/age_tV" />

    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:text="Email:"
        android:id="@+id/email_tV"
        android:textColor="@color/colorFont"
        android:layout_alignBottom="@+id/email_eT"
        android:layout_alignLeft="@+id/gender_tV"
        android:layout_alignStart="@+id/gender_tV"
        android:layout_marginTop="32dp"/>

    <TextView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:text="Phone"
        android:id="@+id/phone_tV"
        android:textColor="@color/colorFont"
        android:layout_alignBottom="@+id/phone_eT"
        android:layout_alignLeft="@+id/gender_tV"
        android:layout_alignStart="@+id/gender_tV" />

    <EditText
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:layout_marginBottom="5dp"
        android:inputType="textPersonName"
        android:hint="@string/hint_required"
        android:textColorHint="@color/colorBackground"
        android:background="@drawable/border_style"
        android:ems="10"
        android:id="@+id/name_eT"
        android:textColor="@color/inputFont"
        android:layout_alignBottom="@+id/name_tV"
        android:layout_alignRight="@+id/userInfo"
        android:layout_alignEnd="@+id/userInfo" />

    <EditText
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:inputType="number"
        android:ems="10"
        android:hint="@string/hint_required"
        android:textColorHint="@color/colorBackground"
        android:background="@drawable/border_style"
        android:id="@+id/age_eT"
        android:textColor="@color/inputFont"
        android:layout_below="@+id/name_eT"
        android:layout_alignLeft="@+id/name_eT"
        android:layout_alignStart="@+id/name_eT" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Male"
        android:id="@+id/checkBoxMale"
        android:onClick="onCheckboxClicked"
        android:textColor="@color/colorFont"
        android:layout_below="@+id/age_tV"
        android:layout_alignLeft="@+id/age_eT"
        android:layout_alignStart="@+id/age_eT" />

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Female"
        android:id="@+id/checkBoxFemale"
        android:onClick="onCheckboxClicked"
        android:textColor="@color/colorFont"
        android:layout_alignTop="@+id/checkBoxMale"
        android:layout_alignRight="@+id/userInfo"
        android:layout_alignEnd="@+id/userInfo" />

    <EditText
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:layout_marginBottom="5dp"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:id="@+id/email_eT"
        android:hint="@string/hint_required"
        android:textColorHint="@color/colorBackground"
        android:textColor="@color/inputFont"
        android:background="@drawable/border_style"
        android:layout_below="@+id/checkBoxMale"
        android:layout_alignLeft="@+id/checkBoxMale"
        android:layout_alignStart="@+id/checkBoxMale" />

    <EditText
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:inputType="phone"
        android:ems="10"
        android:id="@+id/phone_eT"
        android:textColor="@color/inputFont"
        android:hint="@string/hint_required"
        android:textColorHint="@color/colorBackground"
        android:background="@drawable/border_style"
        android:layout_below="@+id/email_eT"
        android:layout_alignLeft="@+id/email_eT"
        android:layout_alignStart="@+id/email_eT" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/incident_info"
        android:id="@+id/incidentInfo"
        android:textColor="@color/colorFont"
        android:textStyle="bold"
        android:textSize="30sp"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

    <Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/spinner"
        android:prompt="@array/incident_type"
        android:entries="@array/incident_type"
        android:layout_below="@+id/incidentInfo"
        android:layout_alignLeft="@+id/phone_eT"
        android:layout_alignStart="@+id/phone_eT"
        android:layout_alignRight="@+id/phone_eT"
        android:layout_alignEnd="@+id/phone_eT" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:text="@string/incident_type_DD"
        android:textColor="@color/colorFont"
        android:id="@+id/incident_DD"
        android:layout_below="@+id/incidentInfo"
        android:layout_toLeftOf="@+id/spinner"
        android:layout_toStartOf="@+id/spinner" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:text="@string/description"
        android:id="@+id/description_tV"
        android:textColor="@color/colorFont"
        android:layout_below="@+id/spinner"
        android:layout_alignLeft="@+id/phone_tV"
        android:layout_alignStart="@+id/phone_tV" />

    <EditText
        android:layout_width="300dp"
        android:layout_height="60dp"
        android:inputType="textMultiLine"
        android:ems="10"
        android:id="@+id/descr_eT"
        android:hint="@string/descr_hint"
        android:textColorHint="@color/colorBackground"
        android:gravity="top"
        android:background="@drawable/border_style"
        android:textColor="@color/inputFont"
        android:layout_below="@+id/description_tV"
        android:layout_alignLeft="@+id/description_tV"
        android:layout_alignStart="@+id/description_tV" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_margin="5dp"
        android:text="SUBMIT"
        android:onClick="SubmitButton"
        android:textStyle="bold"
        android:textSize="35sp"
        android:id="@+id/subm_btn"
        android:background="@drawable/custom_btn"
        android:textColor="@color/buttonFont"
        android:layout_alignParentBottom="true"/>


</RelativeLayout>

here is my submit.php file:

<?php 
// array for JSON response
$response = array();

// check for required fields
if (isset($_POST['Name']) && isset($_POST['Age']) && isset($_POST['Email']) && isset($_POST['Phone']) && isset($_POST['Description'])) {

    $Name = $_POST['Name'];
    $Age = $_POST['Age'];
    $Gender = $_POST['Gender'];
    $Email = $_POST['Email'];
    $Phone = $_POST['Phone'];
    $Incident Type = $_POST['Incident Type'];
    $Description = $_POST['Description'];

    // include db connect class
    require_once __DIR__ . '/db_connect.php';

    // connecting to db
    $db = new DB_CONNECT();

    // mysql inserting a new row
    $result = mysql_query("INSERT INTO user(Name, Age, Email, Phone, Description VALUES('$Name', '$Age', '$Email', '$Phone', '$Description')");

    // check if row inserted or not
    if ($result) {
        // successfully inserted into database
        $response["success"] = 1;
        $response["message"] = "Product successfully created.";

        // echoing JSON response
        echo json_encode($response);
    } else {
        // failed to insert row
        $response["success"] = 0;
        $response["message"] = "Oops! An error occurred.";

        // echoing JSON response
        echo json_encode($response);
    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    // echoing JSON response
    echo json_encode($response);
}

?>

You can't use getText() on UI elements (your EditText-s) as AsyncTask.doInBackground() is run in separate thread and has no access to UI elements. You are actually doing right by new SubmitData().execute(Name, Age, Gender, Email, Phone, IncidentType, Description); and referring them by args[] from inside doInBackground()