开源项目之AndroidAfinal框架_第1页
开源项目之AndroidAfinal框架_第2页
开源项目之AndroidAfinal框架_第3页
开源项目之AndroidAfinal框架_第4页
开源项目之AndroidAfinal框架_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目如图:Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少。在android应用开发中,通过Afinal的ioc框架,诸如ui绑定,事件绑定,通过注解可以自动绑定。通过Afinal的orm框架,无需任何配置信息,一行代码就可以对android的sqlite数据库进行增删改查操作。同时,Afinal内嵌了finalHttp等简单易用的工具,可以轻松的对http就行求情的操作。Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。Afinal框架的各个模块带来了的便捷1、FinalDB模块:android中的orm框架,一行

2、代码就可以进行增删改查。支持一对多,多对一等查询。2、FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。3、FinalHttp模块:通过httpclient进行封装http数据请求,支持ajax方式加载。4、FinalBitmap模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。FinalBitmap可以配置线程加载线程数量,缓存大小,缓存路径,加载显示动画

3、等。FinalBitmap的内存管理使用lru算法,没有使用弱引用(android2.3以后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),更好的管理bitmap内存。FinalBitmap可以自定义下载器,用来扩展其他协议显示网络图片,比如ftp等。同时可以自定义bitmap显示器,在imageview显示图片的时候播放动画等(默认是渐变动画显示)。将Afinal框架带进你的工程的过程1.下载Afinal的jar包。推荐到GIT上下载( 的jar包,还包括Afinal的源码以及详细API。2.将下载后的jar包添加到Andro

4、id工程里面。相信大家都会,不过也可能会遇到当添加了Afinal包后,继承FinalActivity的Activity会报这种错误,这种情况你最好将Afinal 包直接拷贝到Android工程的lib文件夹里面。这时你看Android的Dependencies包里面如果有了Afinal包就再次运行APK应该就不会有错了。3.一个依赖Afinal包的工程还需要添加它所需要的权限:我们在AndroidManifest.xml文件里面添加如下权限:javaview plaincopy1. javaview plaincopy1. Afinal框架的各个模块的具体使用FinalDB使用方法:javav

5、iew plaincopy1. FinalDbdb=FinalDb.create(this);2. 3. Useruser=newUser();4. 5. user.setEmail(mail);6. 7. user.setId(1);8. 9. user.setName(michaelyang);10. 11. 12. db.save(user);FinalActivity使用方法:javaview plaincopy1. publicclassAfinalDemoActivityextendsFinalActivity2. /无需调用findViewById和setOnclickListe

6、ner等3. ViewInject(id=R.id.button,click=btnClick)Buttonbutton;4. ViewInject(id=)TextViewtextView;5. 6. publicvoidonCreate(BundlesavedInstanceState)7. super.onCreate(savedInstanceState);8. setContentView(R.layout.main);9. 10. publicvoidbtnClick(Viewv)11. textView.setText(textsetformbutton);12. 13. Fin

7、alHttp使用方法:javaview plaincopy1. FinalHttpfh=newFinalHttp();2. fh.get(,newAjaxCallBack()3. Override4. publicvoidonLoading(longcount,longcurrent)/每1秒钟自动被回调一次5. textView.setText(current+/+count);6. 7. Override8. publicvoidonSuccess(Stringt)9. textView.setText(t=null?null:t);10. 11. Override12. publicvo

8、idonStart()13. /开始http请求的时候回调14. 15. Override16. publicvoidonFailure(Throwablet,StringstrMsg)17. /加载失败的时候回调18. 19. );上传文件 或者提交数据:javaview plaincopy1. AjaxParamsparams=newAjaxParams();2. params.put(username,michaelyang);3. params.put(password,123456);4. params.put(email,test);5. params.put(profile_pi

9、cture,newFile(/mnt/sdcard/pic.jpg);/上传文件6. params.put(profile_picture2,inputStream);/上传数据流7. params.put(profile_picture3,newByteArrayInputStream(bytes);/提交字节流8. FinalHttpfh=newFinalHttp();9. fh.post(,params,newAjaxCallBack()10. Override11. publicvoidonLoading(longcount,longcurrent)12. textView.setTe

10、xt(current+/+count);13. 14. Override15. publicvoidonSuccess(Stringt)16. textView.setText(t=null?null:t);17. 18. );使用FinalHttp下载文件:javaview plaincopy1. FinalHttpfh=newFinalHttp();2. fh.download(下载路径/xxx.apk,/mnt/sdcard/testapk.apk,newAjaxCallBack()3. Override4. publicvoidonLoading(longcount,longcurre

11、nt)5. textView.setText(下载进度:+current+/+count);6. 7. 8. Override9. publicvoidonSuccess(Filet)10. textView.setText(t=null?null:t.getAbsoluteFile().toString();11. 12. 13. );javaview plaincopy1. FinalBitmap 使用方法 (加载网络图片就一行代码 fb.display(imageView,url):javaview plaincopy1. privateGridViewgridView;2. priva

12、teFinalBitmapfb;3. Override4. protectedvoidonCreate(BundlesavedInstanceState)5. super.onCreate(savedInstanceState);6. setContentView(R.layout.images);7. 8. gridView=(GridView)findViewById();9. gridView.setAdapter(mAdapter);10. 11. fb=newFinalBitmap(this).init();/必须调用init初始化FinalBitmap模块12. fb.config

13、LoadingImage();13. /这里可以进行其他十几项的配置,也可以不用配置,配置之后必须调用init()函数,才生效14. /fb.configBitmapLoadThreadSize(intsize)15. /fb.configBitmapMaxHeight(bitmapHeight)16. javaview plaincopy1. /adaptergetView/2. 3. publicViewgetView(intposition,ViewconvertView,ViewGroupparent)4. ImageViewiv;5. if(convertView=null)6. convertView=View.inflate(BitmapCacheActivity.this,R.layout.image_item,null);7. iv=(ImageView)convertView.findViewById(R.id.imageView);8. iv.setScaleTy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论