我终于能够与我的网络服务建立连接,
不,我可以读取我的 logcat 中的数据
之后我根据需要拆分了我的json:
(这是编辑前的代码)
但我没有去工作的是:
(这是编辑前的代码)
看来我不能在我的 oncreate 类中使用变量 bedrijfsnaam
我的完整代码:包 com.example.deceunincktechniekers;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import java.io.*;
import java.util.LinkedList;
import java.util.List;
import org.apache.http.client.*;
import org.apache.http.*;
import org.json.JSONException;
import org.json.JSONObject;
 public class BTWcontrole extends Activity 
{
TextView btwuitvoer;
EditText landcode;
EditText nummer;
Button verstuur;
String land;
String num;
String antwoord;
Context btwcontrolecontext;
String jsonData;
private String bedrijfsnaam = new String();
String zoekurl = "http://www.softnaert.be/SNWebservices/SNWeb.wso/checkVat/JSON";
@Override
public void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
        setContentView(R.layout.btwcontrole);
        btwcontrolecontext = this;
    btwuitvoer = (TextView) findViewById(R.id.resultaat);
    verstuur = (Button) findViewById(R.id.controleer);
    landcode = (EditText) findViewById(R.id.landcode);
    nummer = (EditText) findViewById(R.id.btwnr);
verstuur.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
    btwopvragen loaderTask = new btwopvragen();
    loaderTask.execute();
    land = landcode.getText().toString();
    num = nummer.getText().toString();
    Log.i("bedrijfsnaam in onclick", bedrijfsnaam);
    btwuitvoer.setText(bedrijfsnaam);   
}   
});};
  private class btwopvragen extends AsyncTask<Void, Void, Void>{
ProgressDialog dialog;
@Override
protected void onPreExecute() {
    dialog = new ProgressDialog(btwcontrolecontext);
    dialog.setTitle("btwnummer ophalen");
    dialog.show();
    super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
    // toegevoegde code om parameters aan de code toe te voegen
    if(!zoekurl.endsWith("?")){
            zoekurl += "?";
    };
    List<NameValuePair> parameters = new LinkedList<NameValuePair>();
    parameters.add(new BasicNameValuePair("llcountryCode", String.valueOf(land)));
    parameters.add(new BasicNameValuePair("llvatNumber", String.valueOf(num)));
    String parameterString = URLEncodedUtils.format(parameters, "utf-8");
    // effectieve http request met de parameters toegevoegd
    HttpClient client = new DefaultHttpClient();
    HttpGet aanvraag = new HttpGet(zoekurl + parameterString);
    // foutanalyse van de http request
    try
    {
        HttpResponse antwoord = client.execute(aanvraag);
        StatusLine statuslijn = antwoord.getStatusLine();
        int statuscode = statuslijn.getStatusCode();
        if(statuscode != 200){
            return null;
        }
        InputStream jsonStream = antwoord.getEntity().getContent();
        BufferedReader reader= new BufferedReader(new InputStreamReader(jsonStream));
        StringBuilder builder = new StringBuilder();
        String lijn;
        while((lijn = reader.readLine())!= null){
            builder.append(lijn);
        }
        jsonData = builder.toString();
        // met de volgende lijn is de data zichtbaar in de logcat
        Log.i("btw geretourneerde data", jsonData);
        // hier beginnen we met de json data te ontmantelen
        JSONObject json = new JSONObject(jsonData);
        String bedrijfsnaam = json.getString("sCompanyName"); 
        Log.i("bedrijfsnaam in asynctask", bedrijfsnaam);
    }
    catch (ClientProtocolException e){
        e.printStackTrace();
    }
    catch (IOException e){
        e.printStackTrace();
    }
    catch (JSONException e) {
        e.printStackTrace();
    }
    return null;
}   
@Override
protected void onPostExecute(Void result) {
    Log.i("bedrijfsnaam in onpostexecute", bedrijfsnaam);   
    dialog.dismiss();
    super.onPostExecute(result);
    }
}
}