前言:学习kotlin一段时间了,最近想用kotlin开发一个智能管家App,以系列博客,记录App开发过程。希望对阅读者有所帮助,期待大家的评论和关注!!!
此篇文章紧做关于该项目的框架搭建,后续功能实现请关注后续文章!!!
此篇文章完成后效果展示:
一.项目架构部署
1.创建一个Android项目,我们把它命名为SmartButler,选用Kotlin编程。
2.创建成功之后,首先 在com.zrc.smartbutler目录下面建几个Package:
包名 | 作用 |
---|---|
adapter | 放适配器 |
application | 放一个Application,做统一的初始化 |
fragment | 放置碎片 |
entity | 放一些实体类 |
sevice | 放一些服务类 |
ui | 放Activity以及一些UI布局 |
utils | 放一些工具类 |
view | 放在一些自定义控件 |
3.在application包下,创建一个类,名为BaseActivity,代码如下:
package com.zrc.smartbutler.application
import android.app.Application
/**
*项目名: SmartButler
*包名: com.zrc.smartbutler.application
*文件名: BaseApplication
*创建者: 张如成
*创建时间: 2020/5/5 20:53
*描述: Application
*/
class BaseApplication : Application(){
// 创建
override fun onCreate() {
super.onCreate()
}
}
上述代码没有什么好说的,只是简单的实现Application,对onCreate()进行了重写,方便后续进行统一管理。此处,我更想要告诉大家,要养成边写代码边写注释的好习惯!!!
4.:实现Activity的基类,在ui包下新建BaseActivity,代码如下:
package com.zrc.smartbutler.ui
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
/**
*项目名: SmartButler
*包名: com.zrc.smartbutler.ui
*文件名: BaseActivty
*创建者: 张如成
*创建时间: 2020/5/5 20:56
*描述: Activity的基类
*/
open class BaseActivty : AppCompatActivity(){
/**
* 主要做的事情:
* 1.统一的属性
* 2.统一的接口
* 3.统一的方法
* */
//显示返回键
fun back(mBoolean: Boolean){
supportActionBar?.setDisplayHomeAsUpEnabled(mBoolean)
}
//点击返回键的效果
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId){
android.R.id.home -> finish()
}
return super.onOptionsItemSelected(item)
}
}
该类主要是继承AppCompatActivity(),设置ActivityBar返回键按钮以及点击返回键所触发的效果!!!
5.在src/main/res中多创建几个drawable包,放置不同像素图片,方便以后做图片适配
6.继续在该目录下,创建value-en和values-zh,方便以后做多语言适配
7.在utils包下创建UtilTooks和staticClass类,分别放置工具类和数据/常量
UtilTooks:
package com.zrc.smartbutler.utils
/**
*项目名: SmartButler
*包名: com.zrc.smartbutler.utils
*文件名: UtilTools
*创建者: 张如成
*创建时间: 2020/5/6 8:07
*描述: 工具统一类
*/
class UtilTools {
}
StaticClass:
package com.zrc.smartbutler.utils
/**
*项目名: SmartButler
*包名: com.zrc.smartbutler.utils
*文件名: StaticClass
*创建者: 张如成
*创建时间: 2020/5/6 8:08
*描述: 数据/常量
*/
class StaticClass {
}
目前没有代码,后续添加!!!
至此,项目架构部署完成!!!
二.首页框架—TabLayout布局搭建
1.使用TabLayout,首先要添加依赖
implementation "com.google.android.material:material:1.0.0"
implementation 'com.android.support:appcompat-v7:23.4.0&#