首页 > 编程知识 正文

android企业级项目实战教程,android简单app实例

时间:2023-05-06 14:47:23 阅读:40959 作者:4675

1.1.1

安卓开发工作也有一段时间,最近项目进展不太顺利,闲着觉得现在的项目框架不太令人满意。 于是,自己重建了项目。 首先,说一下我们以前的项目框架结构,不能说是优点,也可以继续维护,但总体来看还有很多不足之处,那是由模块划分出来的。 例如是用户、主页等。 各模块下分别有bean数据的实体类

1 .首先,名为bean的模块是一个实体类,每个字段都有许多set方法对应于一个方法,因此项目中仍有十几MB的方法数超过65K。

2 .接下来,我们的视图层不仅展示了数据,dldxmt也做了请求数据的处理。 这将导致整个页面的代码行数超过约2000行,极大地增加了页面的复杂性。

对于这两个问题,没有必要再继续维护了

Paste_Image.png

1.1.2

接下来,记录我自己重建的体系结构,以便下次使用。

大部分APP都是索取网络数据、展示数据,要建立这种关系,我们为什么不把他分开,因为以前是索取数据、展示数据并在一个页面中操作? 于是我用一个叫事件总线的库发布数据,没有接触过的朋友用谷歌,很容易就能买到。 先给整个项目开个图

Paste_Image.png

Paste_Image.png

1.2.3以下是我的体系结构中使用的依赖关系库: 这三个当然最重要,还有图像缓存框架。 正在使用Fresco

从属关系

compile ' org.green robot :事件总线:3.0.0 ' /事件总线事件调度程序

compile ' com.Alibaba : fast JSON :1.2.12 '/JSON分析

compile ' com.loopj.Android : Android-async-http :1.4.9 '/async网络请求

}

1.2.4

我觉得接下来开始写代码,只要通过整个流程,你就能理解。 首先写数据模型层,也就是bean类

Paste_Image.png

首先编写并继承bean的基类

公共类基本响应

{

公共字符串消息;

公共布尔业务;

公共字符串错误代码;

@Override

公共字符串tostring (

{

返回'基本响应

{ '

'消息=' '消息'"

',success=' success

',错误代码=' '错误代码'' '

() );

}

}

接下来是用户的实体类

publicclassuserbeanextendsbaseresponse {

公共数据传输数据;

公共静态类数据传输{

公共字符串名称;

公共字符串密码;

@Override

公共字符串字符串

返回' datastring { ' name=' ' name '' ',

password='' password '' '

() );

} }

已开始网络数据操作。 在User类中进行数据请求操作

公共语音获取用户界面(

sync http客户端. setconnecttimeout (connect _ time out;

sync http客户端. post (URL _ visit _ token,new JsonHttpResponseHandler () {

@Override //数据请求成功

publicvoidonsuccess (int status code,Header[] headers,JSON对象响应) {

super.onsuccess(statuscode,headers,response );

stringresponsestring=response.tostring (;

用户bean bean;

if (空!=响应响应. optstring (错误代码).equals )0)! textutils.isempty (response.optstring (' data ' ) ) )

bean=JSON.parse object (响应字符串,Userbean.class );

} else {

bean=新用户bean (;

bean.error code=response.optstring (error code );

bean.message=response.optstring (' message );

bean.success=response.opt boolean (success );

}

log.e(tag,“请求”bean.success );

EventBus.getDefault ().post ) bean; //发送数据

}

@Override //数据请求失败

publicvoidonfailure (int status code,Header[] headers,String responseString,可移植故障诊断) {

super.onfailure(statuscode,headers,responseString,throwable );

Userbean bean=new Userbean (; //

bean.errCode=responseString .

bean.message=throwable.getmessage (;

log.e(tag,' getUserInfo failure ';

EventBus.getDefault ().post ) bean; //发送数据

}; ); }

以下是每页的接收数据。 进入页面后注册事件总线

publicclassleadinpagesacextendsactivity {

@Override

protectedvoidoncreate (边界维护实例state )。

super.oncreate (savedinstancestate;

setcontentview (r.layout.activity _ main;

EventBus.getDefault ().register ) ) this; //need

}

}

开始接收数据

@Subscribe

Ublicvoidonevent(Userbeanbean ) {

if(bean.success==true ) {

if (! textutils.isempty (bean.data.name ) ) }

String name=bean.data.name;

string password=bean.data.password;

}

好了,整个过程就是这样,我还是个初学者。 如果有不好的事情请告诉我。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。