这里介绍了android快速开发框架afinal0.3的http操作模块 FinalHttp,希望能对你们有所帮助。
afinal 网址:
https://github.com/yangfuhai/afinal
http://code.google.com/p/afinal/
普通的get操作:
FinalHttp fh = new FinalHttp(); fh.get("http://www.yangfuhai.com", new AjaxCallBack<String>(){ @Override public void onLoading(long count, long current) { //每1秒钟自动被回调一次 textView.setText(current+"/"+count); } @Override public void onSuccess(String t) { textView.setText(t==null?"null":t); } @Override public void onStart() { //开始http请求的时候回调 } @Override public void onFailure(Throwable t, String strMsg) { //加载失败的时候回调 } });
FinalHttp fh = new FinalHttp(); fh.get("http://www.yangfuhai.com", new AjaxCallBack<String>(){ @Override public void onLoading(long count, long current) { //每5秒钟自动被回调一次,通过progress是否回调onLoading和回调频率 textView.setText(current+"/"+count); } @Override public void onSuccess(String t) { textView.setText(t==null?"null":t); } }.progress(true,5));//通过这里设置onloading的频率
AjaxParams params = new AjaxParams(); params.put("username", "michael yang"); params.put("password", "123456"); params.put("email", "[email protected]"); params.put("profile_picture", new File("/mnt/sdcard/pic.jpg")); // 上传文件 params.put("profile_picture2", inputStream); // 上传数据流 params.put("profile_picture3", new ByteArrayInputStream(bytes)); // 提交字节流 FinalHttp fh = new FinalHttp(); fh.post("http://www.yangfuhai.com", params, new AjaxCallBack<String>(){ @Override public void onLoading(long count, long current) { textView.setText(current+"/"+count); } @Override public void onSuccess(String t) { textView.setText(t==null?"null":t); } });
FinalHttp fh = new FinalHttp(); fh.download("http://www.xxx.com/下载路径/xxx.apk", "/mnt/sdcard/testapk.apk", new AjaxCallBack<File>() { @Override public void onLoading(long count, long current) { textView.setText("下载进度:"+current+"/"+count); } @Override public void onSuccess(File t) { textView.setText(t==null?"null":t.getAbsoluteFile().toString()); } });
BasicClientCookie bcc = new BasicClientCookie("", ""); bcc.setDomain("yangfuhai.com"); bcc.setPath("/"); bcc.setVersion(1); PreferencesCookieStore pcs = new PreferencesCookieStore(this); pcs.addCookie(bcc); FinalHttp fh = new FinalHttp(); hk.setCookieStore(pcs); fh.post("http://www.yangfuhai.com", new AjaxCallBack<String>(){ @Override public void onLoading(long count, long current) { textView.setText(current+"/"+count); } @Override public void onSuccess(String t) { textView.setText(t==null?"null":t); } });