转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46430555,请尊重他人的辛勤劳动成果,谢谢!

Android快速开发之appBase——(1).appBase介绍

一直想写博客,苦于自己的文笔实在不行,在CSDN潜水了好几年,中间差不多3年没有写过博客。原因有二:1、文笔差;2、没时间。
今年开始,时间充裕了,开始计划练练自己的文笔,也让自己成长起来,希望从中能够提升自己的能力。望大家多多支持和关注!!

导读:appBase是什么?

appBase是一个Android app开发的基础集合,目的是任何应用都可以在这个基础之上开发app,省去了搭建框架的时间。
appBase=xutils+fastjson+avlib

  • xutils使用了其中HttpUtils、BitmapUtils、DbUtils
  • fastjson使用了json解析
  • avlib大家比较陌生,这个库是我另外一个简单的工具库。主要功能是View的自动绑定、View的常用数据自动绑定、万能Adapter等

目的:是为了让懂java的同学能够快速上手Android开发。

下面,看代码说话。(^__^)


一、看看框架结构


- apicloud.sdk是对apicloud的云API的调用做了简单封装
- base:只包含BaseActivity
- http:基于HttpUtils简化了常用的网络请求,定义网络参数APIs的配置
- presenter:采用了MVP中的P来命名,可以让非UI处理业务抽出放到这个结构中,因此BasePresenter诞生了。
- util:常用的工具类
- widget:常用的自定义组件(待扩展)
- Application:继承android.app.Application,为了统一使用框架中的组件对象,避免了组件的重复创建。因此建议使用这个类配置application的name。当然也可以基于此类扩展。

二、创建一个新项目

  • 第一步:创建一个空的Android project

    注意:删除自动添加的android-support-v4.jar(appBase中包含有)
  • 第二步:引用appBase
  • 第三步:修改AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.snicesoft.appbase.demo"
    android:versionCode="1"
    android:versionName="1.0" ><uses-sdk
        android:minSdkVersion="8"android:targetSdkVersion="21" /><application
        android:allowBackup="true"android:name="com.snicesoft.Application"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >
    </application>
    </manifest>

    添加:android:name=”com.snicesoft.Application”

  • 第四步:创建Activity

    package com.snicesoft.appbase.demo;
    import com.snicesoft.avlib.annotation.Layout;
    import com.snicesoft.avlib.rule.IData;
    import com.snicesoft.avlib.rule.IHolder;
    import com.snicesoft.base.BaseActivity;
    @Layout(R.layout.activity_main)
    public class MainActivity extendsBaseActivity<MainActivity.Holder, MainActivity.Data> {public class Holder extends IHolder {@Overridepublic void initViewParams() {}}public class Data extends IData {}@Overridepublic Data newData() {return new Data();}@Overridepublic Holder newHolder() {return new Holder();}
    }
    

    看着class一栏,大家可能会花了眼,怎么这么长。这只是一种写法,推荐的写法(内部类)。我来说明下这个类:

    IHolder是指View自动绑定的容器

    IData是指View的数据自动绑定容器

  • 第五步:使用IHolder和IData

    package com.snicesoft.appbase.demo;
    import com.snicesoft.avlib.annotation.DataBind;
    import com.snicesoft.avlib.annotation.Id;
    import com.snicesoft.avlib.annotation.Layout;
    import com.snicesoft.avlib.rule.IData;
    import com.snicesoft.avlib.rule.IHolder;
    import com.snicesoft.base.BaseActivity;
    @Layout(R.layout.activity_main)
    public class MainActivity extendsBaseActivity<MainActivity.Holder, MainActivity.Data> {public class Holder extends IHolder {@Id(R.id.textView1)TextView textView1;@Id(R.id.button1)Button button1;@Overridepublic void initViewParams() {}}public class Data extends IData {@DataBind(id = R.id.textView1)String tv1 = "我是自动绑定的TextView";@DataBind(id = R.id.button1)String btn1 = "我是自动绑定的Button";}@Overridepublic Data newData() {return new Data();}@Overridepublic Holder newHolder() {return new Holder();}
    }
    

    运行结果

这个只是简单的avlib的view和数据自动绑定功能。后续在介绍其他功能的使用。
最后附上代码生成器源码:http://download.csdn.net/detail/englishbage/8789869

Android快速开发之appBase——(1).appBase介绍相关推荐

  1. Android快速开发之appBase——(4).详解com.snicesoft.Application和BaseActivity

    转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46441571,请尊重他人的辛勤劳动成果,谢谢! Android快速开发之ap ...

  2. Android快速开发之appBase——(6).HttpReq和APICloudSDK

    转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46462077,请尊重他人的辛勤劳动成果,谢谢! Android快速开发之ap ...

  3. Android快速开发之appBase——(5).BasePresenter的使用

    转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46456621,请尊重他人的辛勤劳动成果,谢谢! Android快速开发之ap ...

  4. android idata 模式,Android快速开发之appBase——(3).详解IHolder和IData

    Android快速开发之appBase--(3).详解IHolder和IData IHolder和IData是AVLib的两个组件,在前面已经使用过了,那么这一篇将会详细说明这两个组件的用法. IHo ...

  5. Android NDK开发之旅1 NDK介绍

    ###一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Ja ...

  6. Android NDK开发之 NEON基础介绍

    原文:http://blog.csdn.net/app_12062011/article/details/50434259 Android NDK开发之 NEON基础介绍 这是官方介绍: http:/ ...

  7. android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...

    本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1   Android Studio配置 2.1.1 ...

  8. 【转载】Android逆向开发之smali语言的学习

    Android逆向开发之smali语言的学习 该文转载自乱码三千 – 分享实用IT技术 smali和java基本数据类型对比 smali java B byte S short I int J lon ...

  9. Java服务器接口快速开发之Servlet详细教程

    今日科技快讯 7月14日晚间消息,据乐视网刚刚披露的业绩预告,公司预计2017年上半年亏损6.37亿至6.42亿元,上年同期盈利2.84亿元.报告期内,乐视网资产减值损失计提规模较大约为2.3亿元,其 ...

  10. Android底层开发之Audio HAL Android Audio Overview

    http://blog.csdn.net/kangear/article/details/44939429 Android底层开发之Audio HAL 在Android音频底层调试-基于tinyals ...

最新文章

  1. 如何在GPU上优化卷积
  2. 【Android】Fragment官方中文文档
  3. flutter打包的app有多大_Flutter-最近搞了个项目(常用控件,第三方基本库)-底部导航,登录,启动画面,webview等...
  4. JMeter重要知识点汇总
  5. AutoHotKey Script AHK脚本++Topre Realforce 104Pro十周年纪念版静电容键盘
  6. wp7 通过后台代码给ListBoxItem添加ContextMenu 属性
  7. loadrunner性能测试---添加windows多台压力机
  8. SAP 电商云 Spartacus UI 如何在应用程序里捕捉到成功下单的事件
  9. cannot fetch plan for SQL_ID: 5qgz1p0cut7mx, CHILD_NUMBER: 0
  10. C++算法一些常用的stl函数
  11. 天池 在线编程 推荐朋友(哈希)
  12. 利用iTextSharp填写中文(中日韩)PDF表单(完整解决方案)
  13. pythonjson实例_python对json的相关操作实例详解
  14. 通过手机号码编码传送信息的想法
  15. Domino部署多台notes server
  16. 软工网络15团队作业4-DAY2
  17. 通过ip查询详细地址
  18. 桂林老兵站ASP木马
  19. 蓝电电池测试软件电流密度,磷化铁复合材料的制备及其作为锂离子电池负极材料性能研究...
  20. 获取富文本中的图片链接

热门文章

  1. 《30天自制操作系统》学习笔记--Mac环境搭建
  2. 【IT视频】支付宝架构师眼中的高并发架构
  3. 针式 PKM 个人知识管理软件 视频简介
  4. Android使用FtpServer开启FTP服务端
  5. QNX Hypervisor —— 设备
  6. CS229 Lecture 10
  7. JZOJ100047. 【NOIP2017提高A组模拟7.14】基因变异
  8. 【vue 导出功能】file-saver插件
  9. 【书影观后感 五】你的名字
  10. 郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.5 Boltzmann机算法...