0

我做了一个GPS程序。我想将当前地址发送到服务器。我被困在字符串部分。你能纠正一下吗?我的代码是:

                       try {
        Geocoder mGC = new Geocoder(this, Locale.ENGLISH);
        addresses = mGC.getFromLocation(mLocation.getLatitude(),
                mLocation.getLongitude(), 1);
        if (addresses != null) {
            Address currentAddr = addresses.get(0);
            StringBuilder mSB = new StringBuilder("Address:\n");
            for (int i = 0; i < currentAddr.getMaxAddressLineIndex(); i++) {
                mSB.append(currentAddr.getAddressLine(i)).append("\n");
                String a=mSB.toString();
       if(a!=null){

                        HttpClient httpclient = new DefaultHttpClient();
                        HttpPost httppost = new HttpPost(
                                "URL");

                        try {

                            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
                                    1);
                            nameValuePairs.add(new BasicNameValuePair(
                                    "data",a));
                            httppost.setEntity(new UrlEncodedFormEntity(
                                    nameValuePairs));
                            HttpResponse response = httpclient
                                    .execute(httppost);
                            Toast.makeText(getBaseContext(),
                                    response.toString(),
                                    Toast.LENGTH_LONG).show();
                            continue;

}

4

1 回答 1

0

1-不确定但http连接不应该是循环的

2-您创建了 mSB 但未使用

StringBuilder mSB = new StringBuilder("Address:\n");
            for (int i = 0; i < currentAddr.getMaxAddressLineIndex(); i++) {
                mSB.append(currentAddr.getAddressLine(i)).append("\n");
               } <----------------- loop should end here 
                String a= mSB.toString() ;<-------------------------- carete string from mSB
于 2012-06-14T10:27:15.500 回答