Android快速开发之appBase——(1).appBase介绍
转载请注明本文出自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介绍相关推荐
- Android快速开发之appBase——(4).详解com.snicesoft.Application和BaseActivity
转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46441571,请尊重他人的辛勤劳动成果,谢谢! Android快速开发之ap ...
- Android快速开发之appBase——(6).HttpReq和APICloudSDK
转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46462077,请尊重他人的辛勤劳动成果,谢谢! Android快速开发之ap ...
- Android快速开发之appBase——(5).BasePresenter的使用
转载请注明本文出自JFlex的博客http://blog.csdn.net/jflex/article/details/46456621,请尊重他人的辛勤劳动成果,谢谢! Android快速开发之ap ...
- android idata 模式,Android快速开发之appBase——(3).详解IHolder和IData
Android快速开发之appBase--(3).详解IHolder和IData IHolder和IData是AVLib的两个组件,在前面已经使用过了,那么这一篇将会详细说明这两个组件的用法. IHo ...
- Android NDK开发之旅1 NDK介绍
###一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Ja ...
- Android NDK开发之 NEON基础介绍
原文:http://blog.csdn.net/app_12062011/article/details/50434259 Android NDK开发之 NEON基础介绍 这是官方介绍: http:/ ...
- android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...
本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1 Android Studio配置 2.1.1 ...
- 【转载】Android逆向开发之smali语言的学习
Android逆向开发之smali语言的学习 该文转载自乱码三千 – 分享实用IT技术 smali和java基本数据类型对比 smali java B byte S short I int J lon ...
- Java服务器接口快速开发之Servlet详细教程
今日科技快讯 7月14日晚间消息,据乐视网刚刚披露的业绩预告,公司预计2017年上半年亏损6.37亿至6.42亿元,上年同期盈利2.84亿元.报告期内,乐视网资产减值损失计提规模较大约为2.3亿元,其 ...
- Android底层开发之Audio HAL Android Audio Overview
http://blog.csdn.net/kangear/article/details/44939429 Android底层开发之Audio HAL 在Android音频底层调试-基于tinyals ...
最新文章
- 如何在GPU上优化卷积
- 【Android】Fragment官方中文文档
- flutter打包的app有多大_Flutter-最近搞了个项目(常用控件,第三方基本库)-底部导航,登录,启动画面,webview等...
- JMeter重要知识点汇总
- AutoHotKey Script AHK脚本++Topre Realforce 104Pro十周年纪念版静电容键盘
- wp7 通过后台代码给ListBoxItem添加ContextMenu 属性
- loadrunner性能测试---添加windows多台压力机
- SAP 电商云 Spartacus UI 如何在应用程序里捕捉到成功下单的事件
- cannot fetch plan for SQL_ID: 5qgz1p0cut7mx, CHILD_NUMBER: 0
- C++算法一些常用的stl函数
- 天池 在线编程 推荐朋友(哈希)
- 利用iTextSharp填写中文(中日韩)PDF表单(完整解决方案)
- pythonjson实例_python对json的相关操作实例详解
- 通过手机号码编码传送信息的想法
- Domino部署多台notes server
- 软工网络15团队作业4-DAY2
- 通过ip查询详细地址
- 桂林老兵站ASP木马
- 蓝电电池测试软件电流密度,磷化铁复合材料的制备及其作为锂离子电池负极材料性能研究...
- 获取富文本中的图片链接
热门文章
- 《30天自制操作系统》学习笔记--Mac环境搭建
- 【IT视频】支付宝架构师眼中的高并发架构
- 针式 PKM 个人知识管理软件 视频简介
- Android使用FtpServer开启FTP服务端
- QNX Hypervisor —— 设备
- CS229 Lecture 10
- JZOJ100047. 【NOIP2017提高A组模拟7.14】基因变异
- 【vue 导出功能】file-saver插件
- 【书影观后感 五】你的名字
- 郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.5 Boltzmann机算法...