基于语音识别的提醒闹钟项目总结

本文总结了一个基于语音识别的提醒闹钟项目的实现过程,涉及Android开发、语音识别技术、Alarm设置、数据库交互及代码管理。在项目中,通过QQ登录获取语音输入,解析时间与事件并设置闹钟。遇到的问题包括.so文件添加、git误操作恢复、接口设计以及Node.js服务器的使用。作者意识到博客是记录和备份编程经验的有效方式,计划进一步学习Node.js和gitblit。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

周老师叫我做一个语音识别的提醒小闹钟,功能很简单:

要有qq登录,说出几点提醒我干什么这句话,分离出时间和事件,设置闹钟提醒。同时(QQ号,提醒时间,提醒事件)要上传到服务器的数据库里。

功能不难,但是学了不少东西,也做了3周多。


有几点需要记录

1、添加.so文件时候,必须在build.gradle里的android节点下添加如下语句:

android {

...

sourceSets {
        main{
            jniLibs.srcDirs=['libs']
        }

}


2、如何设置Alarm:

(1)用一个SystemService获得闹钟服务

(2)设置PendingIntent,准备过一会儿没事的时候整理一下PendingIntent

注意PendingIntent 有getActivity和getBroadcast两个方法,在设置和cancel的时候不能用错了


3、我干了意见糗事,昨天把git的空仓库同步到安卓工程目录下,导致安卓工程文件全没了,有如下两种解决方法:

(1)找文件恢复软件去搜索,缺点是,只能找到一些,而且代码得自己敲,可能要花钱,不是很方便

(2)android手机root后用RE管理器(注意有同名软件,但是功能不全,不能共享文件)找到以前的apk文件,反编译后可得到大多数源代码,复制粘贴即可,很方便。

下次注意写代码时一定要注意备份。


4、关于接口的新用法:

当某些类有相同功能时(比如科大讯飞的语音识别类,云知声的语音识别类)可以定义一些相同的方法,形成接口,这样方便替换。接口定义如下:

public interface recognition{

 public void startRecognize();

public void stopRecognize();

}

然后每个语音识别的类都要有startRecognize()和stopRecognize方法()


5、Server用nodejs写的,比较方便,基于事件发射器,其实就是发布订阅模式。准备多学一些nodejs的知识,据说这将会是以后的主流。很多事情很简单,但是不学,你永远不会。


6、gitblit可以用来建立局域网内的远程仓库,要了解他的使用,今天准备学习一下。准备再写一篇文章


7、安卓两种录音类AudioRecorder MediaRecorder前者输出流,还需要自己包装


其实以前比较鄙视写博客的人,现在自己突然想写了。为什么,因为有些编程的经验脑子记不住,需要有东西备份一下,以前学的东西太少了。而且现在毕竟是学生,时间相对来说比较自由。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值