继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

android开发(如何开发一个可以维护的好项目):四 、项目结构

慕码人3916992
关注TA
已关注
手记 102
粉丝 81
获赞 3602

框架地址 dileber android框架 希望大家能多多star一下,求点个赞
我前几次发的文章,有人说看不是很懂,于是我在这章里,把我的项目结构发一下。

首先项目有几个权限要加一下,由于项目里有网络框架,和崩溃日志记录类,图片缓存功能等等~,必须要使用联网功能和其他的一些权限

<!-- 联网权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 往sdcard中写入数据的权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 在sdcard中创建/删除文件的权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <!-- 获取wifi状态 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 获取网络状态 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

权限有了之后就需要在项目application里添加东西了
application的name修改为继承 SApplication的application类

<application
        android:name=".app.TakkyuuApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme.NoActionBar">

之后是框架介绍
图片描述
上图 activity中包含的都是你所写的activity
adapter是一些适配器放置的位置
app中放置了一些配置文件和 主要的application文件,还有一个是我测试使用的虚拟数据源 DummyData
contract是连接器,主要是连接view和present的关系,这个 后面的文章会讲到。

图片描述

data中
包含的是enums 主要是一些 常量的enum,比如说 greden 我把性别弄成一个enum 方便使用。
model中主要是一些model,网络的model,本地的数据库model还有一些model的包装类,包装了model主要是存储model的返回状态(网络上的包装数据类)
source是数据源,数据源来源有:
local文件中主要数据来源是有三个 sharepreference,ContentProvider,dbmanager,我都已经封装在dileber框架中(现在ContentProvider还没做一些测试可能会出现bug)。
remote文件夹中主要数据源就是网络层的数据。与service通信
service目录下主要就是于网络数据通信,get post 方法请求网络。是remote里的主要通信来源。

图片描述
repository文件是主要数据仓库,主要数据源有三个,一个是local文件中的数据源,一个是remote中的数据源,还有一个就是内存缓存数据(后续会讲),整个presenter的数据交互的主要入口就是reposotory文件,不与其他的数据源交互。
Datasource接口是提供数据接口

fragment 不多做解释
presenter 是数据交互的主要类,主要交互的就是reposotory和view

上面提到的所有东西,我都会在日后的文章中仔细讲解。使的大家的项目架构清晰和可维护。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP

热门评论

好好好   求支持   

查看全部评论