我尝试实施Android搜索,我想过滤查询,我关注this link,this和其他人。但在Android Studio中,我收到了此消息unhandled exception java.io.UnsupportedEncodingException
,这是我的代码
import java.net.URLEncoder;`
private void doSearch(String queryStr) {
// get a Cursor, prepare the ListAdapter
// and set it
//Log.e("Query",queryStr);
searchRestaurants(URLEncoder.encode(queryStr, "UTF-8"));}
答案 0 :(得分:0)
您需要将URLEncoder.encode()
- 方法包装在try-catch块中:
try {
URLEncoder.encode(queryStr, "UTF-8");
} catch (UnsupportedEncodingException e) {
Log.e("Yourapp", "UnsupportedEncodingException");
}
您收到此错误的原因是某些平台可能不支持UTF-8编码。 Android肯定会这样做,所以你永远不会收到这个异常,但你仍然需要处理它以使编译器满意。
但是,您的代码不会执行任何操作,您需要将encode()
- 操作的结果存储在变量中,例如: String myEncodedQuery = URLEncoder.encode(queryStr, "UTF-8");
。
答案 1 :(得分:0)
import java.net.URLEncoder;
private void doSearch(String queryStr) {
// get a Cursor, prepare the ListAdapter
// and set it
//Log.e("Query",queryStr);
try {
final String encodedPath = URLEncoder.encode(queryStr, "UTF-8"));
searchRestaurants(encodedPath);
} catch (UnsupportedEncodingException ec) {
Log.d(TAG, ec.printStacktrace);
}
}