转载请注明本文出自JFlex的博客Android快速开发之appBase——(1).appBase介绍,请尊重他人的辛勤劳动成果,谢谢!
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 extends BaseActivity<MainActivity.Holder, MainActivity.Data> { public class Holder extends IHolder { @Override public void initViewParams() { } } public class Data extends IData { } @Override public Data newData() { return new Data(); } @Override public 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 extends BaseActivity<MainActivity.Holder, MainActivity.Data> { public class Holder extends IHolder { @Id(R.id.textView1) TextView textView1; @Id(R.id.button1) Button button1; @Override public void initViewParams() { } } public class Data extends IData { @DataBind(id = R.id.textView1) String tv1 = "我是自动绑定的TextView"; @DataBind(id = R.id.button1) String btn1 = "我是自动绑定的Button"; } @Override public Data newData() { return new Data(); } @Override public Holder newHolder() { return new Holder(); } }
运行结果
这个只是简单的avlib的view和数据自动绑定功能。后续在介绍其他功能的使用。
最后附上代码生成器源码:http://download.csdn.net/detail/englishbage/8789869
今天的文章androidapp开发教程_java开发安卓app教程分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/71006.html