URL encoding in Android
You don't encode the entire URL, only parts of it that come from "unreliable sources".
Java:
String query = URLEncoder.encode("apples oranges", "utf-8");
String url = "http://stackoverflow.com/search?q=" + query;Kotlin:
val query: String = URLEncoder.encode("apples oranges", "utf-8")
val url = "http://stackoverflow.com/search?q=$query"
Alternatively, you can use Strings.urlEncode(String str) of DroidParts that doesn't throw checked exceptions.
Or use something like
String uri = Uri.parse("http://...")
.buildUpon()
.appendQueryParameter("key", "val")
.build().toString();
android - URL encode from user input
Modify your code like this
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_home, container, false);
queue = Volley.newRequestQueue(getActivity());
searchView = view.findViewById(R.id.search_view);
recyclerView = view.findViewById(R.id.recyclerview);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
jobList = new ArrayList<>();
homeRecyclerViewAdapter = new HomeRecyclerViewAdapter(getActivity(), jobList);
recyclerView.setAdapter(homeRecyclerViewAdapter);
getJobs(""); //get your data as it is
OnQuerySubmit();
return view;
}
public void OnQuerySubmit() {
searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
getJobs(query);
return false;
}
});
}
public void getJobs(final String query) {
StringRequest jsonObjectRequest = new StringRequest(Request.Method.GET, AppConfig.URL_GETJOBS, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, "onResponse: " + response);
try {
JSONObject jsonObject=new JSONObject(response);
boolean error = jsonObject.getBoolean("error");
if (!error) {
jobList.clear();
JSONArray transaksiArray = jsonObject.JSONArray("transaksi");
....
....
....
jobList.add(job);
adapter.notifyDataSetChanged();
}
} catch (JSONException e) {
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(Tag, error.toString());
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<>();
if(!TextUtils.isEmpty(query){
map.put("title", query);
}else{}
return map;
}
};
AppController.getInstance().addToRequestQueue(jsonObjectRequest);
}
How to avoid URL encoding in Retrofit?
the issue I believe is that you're including callback
param as part of env
one. Try adding @Query("callback") boolean callback
to your retrofit interface (and using just store://0TxIGQMQbObzvU4Apia0V0
for env
)
How to prevent Ktor Client from encoding url parameters?
You can disable query parameters encoding by assigning the UrlEncodingOption.NO_ENCODING
value to the urlEncodingOption
property of the ParametersBuilder
. Here is an example:
val requestBuilder = HttpRequestBuilder()
requestBuilder.url {
protocol = URLProtocol.HTTP
host = "httpbin.org"
path("get")
parameters.urlEncodingOption = UrlEncodingOption.NO_ENCODING
parameters.append("file", "/10/55/file.zip")
}
val response = client.get<String>(requestBuilder)
Related Topics
How to Convert a Drawable to a Bitmap
This Activity Already Has an Action Bar Supplied by the Window Decor
How to Store Image in Sqlite Database
Different Resolution Support Android
Drawing a Line/Path on Google Maps
Android - Listen For Incoming Sms Messages
Android How to Use Mediascannerconnection Scanfile
What Does @Hide Mean in the Android Source Code
How to Exit from the Application and Show the Home Screen
Android List View Inside a Scroll View
How to Send Emails from My Android Application
"Arrayadapter Requires the Resource Id to Be a Textview" Xml Problems
Can the Android Layout Folder Contain Subfolders
How to Use Inputfilter to Limit Characters in an Edittext in Android
How to Implement My Very Own Uri Scheme on Android
How to Handle Screen Orientation Change When Progress Dialog and Background Thread Active