最近在项目中需要实现搜索一个功能,其大概过程是,在EditText搜索框中输入需要搜索的内容,点击搜索按钮,首先会获取输入框的内容,将其添加到GET(POST)请求的的url中,本地向后台发出get(post)请求,如果携带的参数正确,后台会返回相应的数据,本地解析后将搜索结果展示出来,这就是一个简单的搜索功能实现过程。
过程中碰到了一个问题,在绝大部分机子上测试了搜索功能都正常,但在华为的一款机子(具体型号忘了)上出现请求没有数据返回,原因出在从EditText中获取的数据的编码和后台的不兼容,后台接收到的是一个乱码的参数,所以出现了这种情况,解决方法如下:
String content = URLEncoder.encode(str, "utf-8");//str是从Editext中获取的数据,将其指定为utf-8编码 String url = "http://baidu.com" //你自己的接口 + "?" + "content= " + content; //指定编码的参数