开源项目之Android Afinal框架

1.下载Afinal的jar包。推荐到GIT上下载(https://github.com/yangfuhai/afinal),这里不仅提供了Afinal 的jar包,还包括Afinal的源码以及详细API。

2.将下载后的jar包添加到Android工程里面。相信大家都会,不过也可能会遇到当添加了Afinal包后,继承FinalActivity的Activity会报java.lang.classNotFound这种错误,这种情况你最好将Afinal 包直接拷贝到Android工程的lib文件夹里面。这时你看Android的Dependencies包里面如果有了Afinal包就再次运行APK应该就不会有错了。

3.一个依赖Afinal包的工程还需要添加它所需要的权限:我们在AndroidManifest.xml文件里面添加如下权限:

[java]  view plain copy

  1.   

[java]  view plain copy

Afinal框架的各个模块的具体使用

FinalDB使用方法:

[java]  view plain copy

  1. FinalDb db = FinalDb.create(this);

  2. User user = new User();

  3. user.setEmail(“mail@tsz.net”);

  4. user.setId(1);

  5. user.setName(“michael yang”);

  6. db.save(user);

FinalActivity使用方法:

[java]  view plain copy

  1. public class AfinalDemoActivity extends FinalActivity {

  2. //无需调用findViewById和setOnclickListener等

  3. @ViewInject(id=R.id.button,click=“btnClick”) Button button;

  4. @ViewInject(id=R.id.textView) TextView textView;

  5. public void onCreate(Bundle savedInstanceState) {

  6. super.onCreate(savedInstanceState);

  7. setContentView(R.layout.main);

  8. }

  9. public void btnClick(View v){

  10. textView.setText(“text set form button”);

  11. }

  12. }

FinalHttp使用方法:

[java]  view plain copy

  1. FinalHttp fh = new FinalHttp();

  2. fh.get(“http://www.yangfuhai.com”, new AjaxCallBack(){

  3. @Override

  4. public void onLoading(long count, long current) { //每1秒钟自动被回调一次

  5. textView.setText(current+“/”+count);

  6. }

  7. @Override

  8. public void onSuccess(String t) {

  9. textView.setText(t==null?“null”:t);

  10. }

  11. @Override

  12. public void onStart() {

  13. //开始http请求的时候回调

  14. }

  15. @Override

  16. public void onFailure(Throwable t, String strMsg) {

  17. //加载失败的时候回调

  18. }

  19. });

上传文件 或者提交数据:

[java]  view plain copy

  1. AjaxParams params = new AjaxParams();

  2. params.put(“username”, “michael yang”);

  3. params.put(“password”, “123456”);

  4. params.put(“email”, “test@tsz.net”);

  5. params.put(“profile_picture”, new File(“/mnt/sdcard/pic.jpg”)); // 上传文件

  6. params.put(“profile_picture2”, inputStream); // 上传数据流

  7. params.put(“profile_picture3”, new ByteArrayInputStream(bytes)); // 提交字节流

  8. FinalHttp fh = new FinalHttp();

  9. fh.post(“http://www.yangfuhai.com”, params, new AjaxCallBack(){

  10. @Override

  11. public void onLoading(long count, long current) {

  12. textView.setText(current+“/”+count);

  13. }

  14. @Override

  15. public void onSuccess(String t) {

  16. textView.setText(t==null?“null”:t);

  17. }

  18. });

使用FinalHttp下载文件:

[java]  view plain copy

  1. FinalHttp fh = new FinalHttp();

  2. fh.download(“http://www.xxx.com/下载路径/xxx.apk”, “/mnt/sdcard/testapk.apk”, new AjaxCallBack() {

  3. @Override

  4. public void onLoading(long count, long current) {

  5. textView.setText(“下载进度:”+current+“/”+count);

  6. }

  7. @Override

  8. public void onSuccess(File t) {

  9. textView.setText(t==null?“null”:t.getAbsoluteFile().toString());

  10. }

  11. });

[java]  view plain copy

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值