基于Dragonboard 410c的智能魔镜设计(2)——如何设计数据库
在上述代码中,我们就可以通过在主函数中构建该类,完成对数据库的初始化,创建系统数据库,具体如下:
if __name__=="__main__":
import sys
MMDB=MagicMirrorDB("./MagicMirrorDB.db")
print(MMDB.getUserAvatarImg(1))
result=MMDB.getUserVideoMessageList(1)
print(result)
result2=MMDB.getTextMessageList(1)
print(result2)
sys.exit(0)
这样,在设计其他模块之前,我们就可以运行该脚本,完成数据库的创建,创建后,可以通过执行sqlite3命令查看数据库设计是否正确。
同样为了方便测试,在这里还构建了一个自动生成测试数据的函数,具体如下,通过执行该函数可以快速的生成测试信息填充数据库,就可以在后续设计模块的过程中利用这些数据进行测试。
def insertTestData(self,userInfo_n,pushInfo_n):
for userID in range(1,userInfo_n):
format="test%u"
values=(userID)
userName=format % values
format="password_test%u"
password=format % values
format="email_test%uqq.com"
userEmail=format % values
format="phone_test%u"
userPhone=format % values
format="haarValue_test%u"
haarValues=format % values
avatar=(random.randint(1,8))
format="./avatarImg/headImg/ali1/%u.gif"
avatarImg=format % avatar
format="insert into userInfo values(%u,'%s','%s','%s','%s','%s','%s')"
values=(userID,userName,password,userEmail,userPhone,haarValues,avatarImg)
insertSQL=format % values
#print(insertSQL)
self.cu.execute(insertSQL)
for infoID in range(1,pushInfo_n):
ownerID=random.randint(1,userInfo_n)
pushID=random.randint(1,userInfo_n)
infoType=random.randint(0,1)
isTop=random.randint(0,1)
viewWeight=random.randint(1,8)
format = "infoSubject_pID:%u_wID:%u"
values=(pushID,ownerID)
infoSubject=format % values
format = "infoContent_pID:%u_wID:%u"
values=(pushID,ownerID)
infoContent=format % values
filePath=""
if infoType==1:
format="./messageFile/ownerID%u/pushID%u_%u.mp4"
values=(ownerID,pushID,infoID)
filePath=format % values
else:
filePath="None"
pushTime=time.time()
format="insert into pushInfo values(%u,%u,%u,%u,'%s','%s','%s',%f,1.0,%u,%u)"
values=(infoID,ownerID,pushID,infoType,infoSubject,infoContent,filePath,pushTime,isTop,viewWeight)
insertSQL=format % values
#print(insertSQL)
self.DB.execute(insertSQL)
智能魔镜 Sqlite3 DragonBoard 410c 相关文章:
- 基于dragonboard 410c的智能魔镜设计(9)——如何实现UI交互控制逻辑(02-08)
- 基于Dragonboard 410c的智能魔镜设计(1)——融入人脸识别和web通信整体方案(02-08)
- 基于Dragonboard 410c的智能魔镜设计(5)——通过人脸进行用户身份识别(02-09)
- 基于Dragonboard 410c的智能魔镜设计(3)——针对不同用户的消息检索显示(02-10)
- 基于Dragonboard 410c的智能魔镜设计(4)——如何检索视频消息并播放显示(02-10)
- 基于Dragonboard 410c开发板的机器学习研究(一)K-近邻算法(02-16)