前言
【BMI指数计算器V4.0】与【BMI指数计算器V3.0】实现的效果是一样的,不同的是在【BMI指数计算器V3.0】的基础上加入了Service层(服务),BroadcastReceiver(广播接收者),使得项目的架构较V3.0多了一层。之所以使用Service(服务),是为了让数据库这样的与界面无关的业务逻辑放到Service(服务)中去处理,这也正是Service(服务)所擅长的。我们知道Android 有四大组件,分别是Activity(活动),Service(服务),BroadcastReceiver(广播接收者)和ContentProvider(内容提供者)。而这四大组件各自所擅长的都不一样。
比如 :
(1)Activity擅长处理界面显示与界面交互工作;
(2)Service擅长处理与界面无关,专门在后台进程中执行的操作;
(3)BroadcastReceiver擅长接收系统广播以及Activity与Service之间的数据传递工作;
(4)ContentProvider擅长让不同应用程序间共享数据。
更新列表
1.项目架构增加了Service层和BroadcastReceiver2.数据模型Bmi类实现了一个标识接口 Serializable
3.其他的都与V3.0保持一致
项目架构图
技术预报
界面开发
功能开发
package com.kedi.bmi.model;
import java.io.Serializable;
/**
* 指数数据实体类(数据模型) 实现一个标识接口Serializable(代表Bmi可以持久化,可放入Intent在各组件之间传递)
*
* @author 科弟
*
*/
public class Bmi <span style="color:#ff0000;">implements Serializable</span> {
/**
*
*/
private static final long serialVersionUID = 1L;
// 唯一标识
private int id;
// 身高
private double heigth;
// 体重
private double weigth;
// 体重指数
private double bmiNum;
// 体重状态
private String bmiState;
// 体重状态图片名
private String stateIconId;
// 计算时间
private long calaTime;
/**
* 构造方法
*/
public Bmi() {
}
/**
* 构造方法
*
* @param id
* @param heigth
* @param weigth
* @param bmiNum
* @param bmiState
* @param stateIconId
* @param calaTime
*/
public Bmi(int id, double heigth, double weigth, double bmiNum,
String bmiState, String stateIconId, long calaTime) {
super();
this.id = id;
this.heigth = heigth;
this.weigth = weigth;
this.bmiNum = bmiNum;
this.bmiState = bmiState;
this.stateIconId = stateIconId;
this.calaTime = calaTime;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getHeigth() {
return heigth;
}
public void setHeigth(double heigth) {
this.heigth = heigth;
}
public double getWeigth() {
return weigth;
}
public void setWeigth(double weigth) {
this.weigth = weigth;
}
public double getBmiNum() {
return bmiNum;
}
public void setBmiNum(double bmiNum) {
this.bmiNum = bmiNum;
}
public String getBmiState() {
return bmiState;
}
public void setBmiState(String bmiState) {
this.bmiState = bmiState;
}
public String getStateIconId() {
return stateIconId;
}
public void setStateIconId(String stateIconId) {
this.stateIconId = stateIconId;
}
public long getCalaTime() {
return calaTime;
}
public void setCalaTime(long calaTime) {
this.calaTime = calaTime;
}
@Override
public String toString() {
return "Bmi [id=" + id + ", heigth=" + heigth + ", weigth=" + weigth
+ ", bmiNum=" + bmiNum + ", bmiState=" + bmiState
+ ", stateIconId=" + stateIconId + ", calaTime=" + calaTime
+ "]";
}
}
<span style="font-size:14px;">package com.kedi.bmi.service;
import java.io.Serializable;
import java.util.List;
import android.app.Service;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.IBinder;
import com.kedi.bmi.dao.BmiDao;
import com.kedi.bmi.model.Bmi;
/**
* 数据服务
*
* @author 科弟
* 数据服务:
(1)创建数据服务public class DataService extends Service ;
(2)编写数据服务逻辑(对数据库的增,删,改,查);
(3)在AndroidManifest.xml中注册数据服务DataService;
(4)在MainActivity的onCreate()方法中通过startService()方法启动服务;
在o

【BMI指数计算器V4.0】项目在V3.0基础上新增了Service和BroadcastReceiver,将数据库操作放入Service进行后台处理。介绍Android四大组件的职责:Activity处理界面,Service处理后台任务,BroadcastReceiver接收广播和数据传递,ContentProvider用于数据共享。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



