【Android实战】Afinal框架的使用大全案例

Afinal这个超级强大框架,可以满足下面功能,,并且基本覆盖了手机应用中的核心部分

数据库(几句话就能实现增删改查)

注解 (省去findById和setOnclickListener)

网络通信(get请求 / post请求 / 文件上传 / 文件下载)

图片获取(一句话解决)

下面是实现的例子,并且放上服务器的代码:

public class MainAct extends FinalActivity {@ViewInject(id = R.id.aBt, click = "dbClick")//实现注解Button abButton;@ViewInject(id = R.id.getBt, click = "getClick")Button getButton;@ViewInject(id = R.id.postBt, click = "postClick")Button postButton;@ViewInject(id = R.id.tv)TextView textView;@ViewInject(id = R.id.fileBt, click = "fileClick")Button fileButton;@ViewInject(id = R.id.fileBt2, click = "fileClick2")Button fileButton2;@ViewInject(id = R.id.picBt, click = "picClick")Button picButton;@ViewInject(id = R.id.img)ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.afinallay);}public void picClick(View v) {Toast.makeText(getApplicationContext(), "in", 2000).show();FinalBitmap finalBitmap = FinalBitmap.create(this);finalBitmap.display(imageView,"");}public void fileClick2(View v) {//文件下载FinalHttp finalHttp = new FinalHttp();AjaxParams ajaxParams = new AjaxParams();try {HttpHandler<File> handler = finalHttp.download(":8080/androidtest/a.doc",Environment.getExternalStorageDirectory() + "/im.doc", true,new AjaxCallBack<File>() {@Overridepublic void onSuccess(File t) {// TODO Auto-generated method stubtextView.setText("File down Success");}});} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void fileClick(View v) {//文件上传FinalHttp finalHttp = new FinalHttp();AjaxParams ajaxParams = new AjaxParams();try {ajaxParams.put("file",new File(Environment.getExternalStorageDirectory()+ "/n.jpg"));finalHttp.post(":8080/androidtest/test3",ajaxParams, new AjaxCallBack<Object>() {@Overridepublic void onSuccess(Object t) {// TODO Auto-generated method stubtextView.setText((t == null) ? "null" : (String) t);}});} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void getClick(View v) { //get请求FinalHttp finalHttp = new FinalHttp();AjaxParams params = new AjaxParams();params.put("id", "1");params.put("name", "duerGet");params.put("age", "521");finalHttp.get(":8080/androidtest/test2", params,new AjaxCallBack<Object>() {@Overridepublic void onSuccess(Object t) {// TODO Auto-generated method stubif (textView == null)Toast.makeText(getApplicationContext(),"(textView==null)", 2000).show();elsetextView.setText((t == null) ? "null" : (String) t);}});}public void postClick(View v) { //post请求FinalHttp finalHttp = new FinalHttp();AjaxParams params = new AjaxParams();params.put("name", "duerPost");params.put("pass", "125");finalHttp.post(":8080/androidtest/test2", params,new AjaxCallBack<Object>() {@Overridepublic void onSuccess(Object t) {// TODO Auto-generated method stubtextView.setText((t == null) ? "null" : (String) t);}});}public void dbClick(View v) {//创建数据库 在bean前加@Table(name="tablename")实现自定义表名Toast.makeText(getApplicationContext(), "in", 2000).show();FinalDb finalDb = FinalDb.create(this, "UserDB");UserBean bean1 = new UserBean();bean1.setAge("12");bean1.setName("duzi");finalDb.save(bean1);UserBean bean2 = new UserBean();bean2.setAge("12");bean2.setName("duzi");finalDb.save(bean2);}}服务器上传接收代码:

public class FileUpload extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubboolean isUpload = ServletFileUpload.isMultipartContent(request);if (isUpload) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(10);factory.setRepository(new File("E:\\upload"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(10);ServletFileUpload sfu = new ServletFileUpload(factory);try {List<FileItem> DiskFileItems = sfu.parseRequest(request);for (FileItem item : DiskFileItems) {System.out.println("————-key:"+ item.getFieldName());System.out.println(item.getName());File myFile=new File("E:\\upload\\"+item.getName());try {item.write(myFile);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}// System.out.println("————-value:"+// item.getString());// System.out.println("————-inputSream:"+// item.getInputStream());}} catch (FileUploadException e) {e.printStackTrace();}}response.getWriter().print("okok!");}}

懂得接受失败的人,就是懂得人生真谛的人,

【Android实战】Afinal框架的使用大全案例

相关文章:

你感兴趣的文章:

标签云: