前言:项目最讲究的前期架构搭建,我们把标准的Log和SharedPreferences进行封装,同时开发我们的首页和引导页做一些技巧性的处理,项目开发效率将大大的提高,同时我们继承腾讯的bugly为我们的Carsh做一些约束性的策略!
此篇文章紧做关于该项目的工具类封装与首页引导页开发,后续功能实现请关注后续文章!!!
此篇文章完成后效果展示:
一.工具类的封装—Log封装
在utils包下,创建L类,代码如下:
package com.zrc.smartbutler.utils
import android.util.Log
/**
*项目名: SmartButler
*包名: com.zrc.smartbutler.utils
*文件名: L
*创建者: 张如成
*创建时间: 2020/5/6 21:21
*描述: Log封装类
*/
class L {
//开关
val DEBUG = true
//TAG
val TAG = "Smartbutler"
//五个等级 DIWE
fun d(text: String?) {
if (DEBUG) {
Log.d(TAG, text)
}
}
fun i(text: String?) {
if (DEBUG) {
Log.i(TAG, text)
}
}
fun w(text: String?) {
if (DEBUG) {
Log.w(TAG, text)
}
}
fun e(text: String?) {
if (DEBUG) {
Log.e(TAG, text)
}
}
}
这地方没什么好说的,就是对系统自带的Log进行封装,使我们更方便使用!!!
至此,Log封装完成!!!
二.工具类的封装—SharedPreferences封装
在utils包下创建一个类,名为ShareUtils,代码如下:
package com.zrc.smartbutler.utils
import android.content.Context
import android.content.SharedPreferences
/**
*项目名: SmartButler
*包名: com.zrc.smartbutler.utils
*文件名: ShareUtils
*创建者: 张如成
*创建时间: 2020/5/6 21:39
*描述: SharedPreferences封装
*/
class ShareUtils {
val NAME:String = "config"
//存储String类型参数
// 键 值
fun putString(mContext:Context,key:String,value:String){
val sp:SharedPreferences = mContext.getSharedPreferences(NAME,Context.MODE_PRIVATE)
sp.edit().putString(key,value).commit()
}
//读取String类型参数
// 键 默认值
fun getString(mContext:Context,key:String,defvalue:String):String{
val sp:SharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE)
return sp.getString(key, defvalue)!!
}
//存储Int类型参数
// 键 值
fun putInt(mContext:Context,key:String,value:Int){
val sp:SharedPreferences = mContext.getSharedPreferences(NAME,Context.MODE_PRIVATE)
sp.edit().putInt(key,value).commit()
}
//读取Int类型参数
// 键 默认值
fun getInt(mContext:Context,key:String,defvalue:Int):Int{
val sp:SharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE)
return sp.getInt(key, defvalue)!!
}
//存储Boolean类型参数
// 键 值
fun putBoolean(mContext:Context,key:String,value:Boolean){
val sp:SharedPreferences = mContext.getSharedPreferences(NAME,Context.MODE_PRIVATE)
sp.edit().putBoolean(key,value).commit()
}
//读取Boolean类型参数
// 键 默认值
fun getBoolean(mContext:Context,key:String,defvalue:Boolean):Boolean{
val sp:SharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE)
return sp.getBoolean(key, defvalue)!!
}
//删除 单个
fun deleShare(mContext:Context,key:String){
val sp:SharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE)
sp.edit().remove(key).commit()
}
//删除 全部
fun deleAll(mContext:Context){
val sp:SharedPreferences = mContext.getSharedPreferences(NAME, Context.MODE_PRIVATE)
sp.edit().clear().commit()
}
}
这个封装类,我要做简要说明。
首先,在封装时,定义存储方式 get/put
其次,明确数据类型Int/String/Boolean
最后,定义删除功能 单个/全部
至此,SharedPreferences封装完成!!!
三.首页逻辑—首页跳转逻辑开发
1.创建闪屏页和引导页,名为SplashActivity和GuideActivity。
2.在清单文件中,对闪屏页进行设置,让他第一个启动
<!-- 闪屏 -->
<activity
android: