如何在 Android 的凌空调用中传递 URL 中的特殊字符


String description="60% off";
String url_offerAdd=UrlString.url_string+"/offer_Add.php?email="+email+"&desc="+description;
url_offerAdd.replace(" ","%20");
## Heading ##StringRequest  stringRequest=new StringRequest(Request.Method.GET, url_offerAdd, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
Log.v("response",response);
                    Toast.makeText(getBaseContext(),"Offer is submitted succcessfully",Toast.LENGTH_LONG).show();
                    desc.setText("");
                    tvToDate.setText("");
                    desc.setFocusable(false);
                    tvFromDate.setText("");
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.v("response1",error.getMessage());
                }
            });
            MySingleton.getInstance(getApplicationContext()).addToRequestque(stringRequest);

由于我已经取消了描述 60% 的折扣,所以每当我调用 php 网络服务时,% 符号不会以相同的方式传入 url,而不会传递任何特殊字符。

检查下面的代码并尝试

String encodeEmail = Uri.encode("your.email@add.com");
String encodeDesc = Uri.encode("description is going here");
String url_offerAdd= UrlString.url_string+"/offer_Add.php?email="+encodeEmail +"&desc="+encodeDesc ;

对网址进行编码

String encodedUrl = URLEncoder.encode(url, "UTF-8");

你可以试试这个方法,对我来说工作正常。

  String urll ="http://www.google.com/methodname?Userid="+user_id;
    String url = Uri.parse(urll)
            .buildUpon()
            .appendQueryParameter("Title", title)
            .appendQueryParameter("Desc", description)
            .appendQueryParameter("embededvideo", embededvideo)
            .appendQueryParameter("location", location)
            .appendQueryParameter("perferances", perferances)
            .appendQueryParameter("taguser", taguser)
            .appendQueryParameter("userpostimage", images)
            .build().toString();

最新更新