二阶段团队冲刺(3)

今天继续垃圾分类的新闻和语音功能

语音功能

package com.example.listviewtest;

import com.iflytek.cloud.RecognizerResult;

public interface XunFeiCallbackListener {
    void onFinish(RecognizerResult results);
}
复制代码
package com.example.listviewtest;

import android.content.Context;
import android.util.Log;
import android.widget.Toast;
import com.iflytek.cloud.RecognizerResult;
import com.iflytek.cloud.SpeechConstant;
import com.iflytek.cloud.SpeechError;
import com.iflytek.cloud.SpeechUtility;
import com.iflytek.cloud.ui.RecognizerDialog;
import com.iflytek.cloud.ui.RecognizerDialogListener;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;
//jniLibs
public class XunFeiUtil {

    public static String appid = "7ffd5261";

    public static void initXunFei(Context context){
        SpeechUtility.createUtility(context, SpeechConstant.APPID +"=7ffd5261");
    }



    public static void startVoice(Context context, final XunFeiCallbackListener callbackListener) {

        RecognizerDialog dialog = new RecognizerDialog(context,null);
        Log.d("shabi",dialog.toString());
        dialog.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
        dialog.setParameter(SpeechConstant.ACCENT, "mandarin");
        dialog.setParameter(SpeechConstant.ASR_PTT, "0");
        dialog.setListener(new RecognizerDialogListener() {
            @Override
            public void onResult(RecognizerResult recognizerResult, boolean b) {
                callbackListener.onFinish(recognizerResult);
            }
            @Override
            public void onError(SpeechError speechError) {
            }
        });
        dialog.show();
        //Toast.makeText(this, "璇峰紑濮嬭璇?, Toast.LENGTH_SHORT).show();
    }

    public static String parseIatResult(String json) {
        StringBuffer ret = new StringBuffer();
        try {
            JSONTokener tokener = new JSONTokener(json);
            JSONObject joResult = new JSONObject(tokener);
            JSONArray words = joResult.getJSONArray("ws");
            for (int i = 0; i < words.length(); i++) {
                // 杞啓缁撴灉璇嶏紝榛樿浣跨敤绗竴涓粨鏋?
                JSONArray items = words.getJSONObject(i).getJSONArray("cw");
                JSONObject obj = items.getJSONObject(0);
                ret.append(obj.getString("w"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return ret.toString();
    }
}
复制代码

语音功能出现bug,准备修改

新闻功能

主页

复制代码
package com.llw.goodtrash.contract;

import android.annotation.SuppressLint;

import com.llw.goodtrash.api.ApiService;
import com.llw.goodtrash.model.TrashNewsResponse;
import com.llw.goodtrash.model.TrashResponse;
import com.llw.mvplibrary.base.BasePresenter;
import com.llw.mvplibrary.base.BaseView;
import com.llw.mvplibrary.network.NetworkApi;
import com.llw.mvplibrary.network.observer.BaseObserver;

/**
 * 主页面访问网络
 */
public class MainContract {

    public static class MainPresenter extends BasePresenter<MainView> {
        /**
         * 垃圾分类新闻
         *
         * @param num 数量
         */
        @SuppressLint("CheckResult")
        public void getTrashNews(Integer num) {
            ApiService service = NetworkApi.createService(ApiService.class,0);
            service.getTrashNews(num).compose(NetworkApi.applySchedulers(new BaseObserver<TrashNewsResponse>() {
                @Override
                public void onSuccess(TrashNewsResponse trashNewsResponse) {
                    if (getView() != null) {
                        getView().getTrashNewsResponse(trashNewsResponse);
                    }
                }

                @Override
                public void onFailure(Throwable e) {
                    if (getView() != null) {
                        getView().getTrashNewsFailed(e);
                    }
                }
            }));
        }
    }

    public interface MainView extends BaseView {
        /**
         * 获取垃圾分类新闻返回
         *
         * @param response
         */
        void getTrashNewsResponse(TrashNewsResponse response);

        /**
         * 搜索物品异常返回
         *
         * @param throwable
         */
        void getTrashNewsFailed(Throwable throwable);
    }
}
复制代码
复制代码
@Override
    protected MainContract.MainPresenter createPresenter() {
        return new MainContract.MainPresenter();
    }

/**
     * 获取垃圾分类新闻成功返回
     *
     * @param response
     */
    @Override
    public void getTrashNewsResponse(TrashNewsResponse response) {
        if (response.getCode() == Constant.SUCCESS_CODE) {
            List<TrashNewsResponse.NewslistBean> list = response.getNewslist();
            if (list.size() > 0) {
            //数据显示
                
            } else {
                showMsg("垃圾分类新闻为空");
            }
        } else {
            showMsg(response.getMsg());
        }
    }

/**
     * 获取垃圾分类新闻失败返回
     *
     * @param throwable 异常
     */
    @Override
    public void getTrashNewsFailed(Throwable throwable) {
        Log.d(TAG, "获取垃圾分类新闻失败:" + throwable.toString());
    }
复制代码

然后在initData中调用请求。
@Override
    public void initData(Bundle savedInstanceState) {
        mPresenter.getTrashNews(10);
    }
那么现在页面上的数据请求和返回就都有了,对于这个数据可以设置两个显示的效果,第一个是顶部的轮播,第二个是页面的列表显示。先来完成轮播的显示。

新闻功能部分实现,语音功能出现bug

 

posted @   -她的梦-  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
  1. 1 碧天伴走 MyGO!!!!!
  2. 2 影色舞 MyGO!!!!!
  3. 3 詩超絆 MyGO!!!!!
  4. 4 迷路日々 MyGO!!!!!
  5. 5 歌いましょう鳴らしましょう MyGO!!!!!
  6. 6 壱雫空 MyGO!!!!!
歌いましょう鳴らしましょう - MyGO!!!!!
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : メガテラ・ゼロ

作曲 : メガテラ・ゼロ

编曲 : Mr.FanTastiC

鑑賞用の花のように遠くで 私 見てるだけでいいのかい?

相対して育つ感情をまだ私は見つけてはいないのね

いつでも側にあって気づかない

いつでも側にあって気づかない

この気持ち想いに気づけない

だから少しボリュームを上げるの

始まりの音を

さぁ 歌いましょう?

さぁ 歌いましょう?

不安すらも喜びも思い出も

さぁ 鳴らしましょう?

それが音楽ってもんでしょう?

感情表明この気持ちを歌うのを聴いてくれますか?

感情表明この気持ちを歌うのを聴いてくれますか?

この人生もきっとメロディーにのせればマシに聞こえるでしょう

だから聴いて

だから聴いて

ねぇ

ねぇ

いつでも側にあって気づかない

いつでも側にあって気づかない

この気持ち想いに気づけない

だから少しボリュームを上げるの

始まりの音を

始まりの音を

さぁ 歌いましょう?

さぁ 歌いましょう?

不安すらも喜びも思い出も

さぁ 鳴らしましょう?

それが音楽ってもんでしょう?

さぁ 歌いましょう?

さぁ 歌いましょう?

不安すらも喜びも思い出も

さぁ 鳴らしましょう?

それが音楽ってもんでしょう?

人生ってもんでしょう

点击右上角即可分享
微信分享提示