android源码-智能语音输入查询天气app

本文介绍了如何利用OLAMI人工智能开放平台开发一个智能语音输入查询天气的Android应用程序。通过下载SDK,设置文件结构,初始化语音识别,并解析返回的JSON结果来实现天气查询功能。用户可以查询不同城市的天气、空气质量、一周天气预报和各种指数。
摘要由CSDN通过智能技术生成

转载请标明出处 http://blog.csdn.net/zhangxy0605/article/details/71601604

现在智能家居越来越普及,智能语音输入也成为一项很方便的工具,可以告别传统的文字输入,可以根据输入的内容,完成相应的对话及功能。OLAMI 人工智能开放平台让你只需通过几个简单的步骤和代码,就能让你的应用程序或设备更加智能更加人性化,并提供趋近完美的用户体验(OLAMI介绍)。本文章就是介绍怎么使用 OLAMI 人工智能开放平台(以下简称为OLAMI开放平台)及sdk开发出一个简单的智能语音输入天气app。天气功能及画面参考开源项目https://git.oschina.net/way/WayHoo 的代码,不详细介绍。

1. 下载sdk:

文件夹结构
要使用OLAMI人工智能开发平台首先需要下载相应的sdk,如图将下载下来的voicesdk.jar 放在jniLibs下,将libspeex.so放在jniLibs下的armeabi下。Voicesdk.jar 是用来语音录音,识别语音结果,然后发送给OLAMI平台进行解析,返回相应的json 格式结果,供用户解析。

2. 文件结构
imain 文件夹为主要的语音实现功能和主界面,其他文件目录为获取天气相关数据的和显示相关card的文件夹。

3. 代码详解
WeatherMainActivity.java 主要初始化页面及各个变量,创建Handler 以进行消息传递。创建Task 查询天气并刷新界面显示。

VoiceSdkService.java初始化智能语音识别相关参数 ,详细可参考https://cn.olami.ai/wiki/?mp=sdk&content=sdk/android/reference.html

mViaVoiceRecognizer = new OlamiVoiceRecognizer(VoiceSdkService.this); 
//创建OlamiVoiceRecognizer 对象
TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(this
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
查询天气源码是指通过编程获取天气预报信息的代码。Android平台上可以使用不同的方法来实现天气查询。以下是一个简单的示例代码: 首先,需要创建一个布局文件用来显示天气信息。可以使用TextView来显示城市名、天气状况、温度等信息。 接下来,在Activity中,需要通过网络请求获取天气数据。可以使用HttpURLConnection类来发送HTTP请求,然后获取返回的天气数据。 ``` String url = "http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=CITY_NAME&aqi=no"; URL weatherURL = new URL(url); HttpURLConnection connection = (HttpURLConnection) weatherURL.openConnection(); connection.setRequestMethod("GET"); InputStream inputStream = connection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line; StringBuilder response = new StringBuilder(); while ((line = bufferedReader.readLine()) != null) { response.append(line); } bufferedReader.close(); connection.disconnect(); // 解析JSON数据,获取天气信息 JSONObject jsonObject = new JSONObject(response.toString()); String cityName = jsonObject.getJSONObject("location").getString("name"); String condition = jsonObject.getJSONObject("current").getJSONObject("condition").getString("text"); String temperature = jsonObject.getJSONObject("current").getString("temp_c"); // 将解析到的天气信息显示在界面上 TextView cityTextView = findViewById(R.id.cityTextView); cityTextView.setText(cityName); TextView conditionTextView = findViewById(R.id.conditionTextView); conditionTextView.setText(condition); TextView temperatureTextView = findViewById(R.id.temperatureTextView); temperatureTextView.setText(temperature + "℃"); ``` 以上是一个简单的天气查询示例代码。当用户在界面上输入城市名并点击查询按钮时,代码会发送HTTP请求到Weather API,然后解析返回的JSON数据,并将天气信息显示在界面上。需要注意的是,需要替换API_KEY和CITY_NAME为实际的值,并在AndroidManifest.xml文件中添加网络权限。 这只是一个基本示例,实际的天气查询代码可能会更复杂,涉及到错误处理、用户权限等方面的考虑。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值