在设备上运行应用程序时未收到机器人的回复 - 使用 Brain Shop API Android Studio

问题描述 投票:0回答:3

为什么我的机器人没有响应


在设备上运行应用程序时未收到机器人的回复。我在 Android Studio 中使用 Brain Shop API Android Studio。它没有显示任何错误,但是当我运行应用程序时,我发送了一条消息,但没有得到机器人的回复。


@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_chatbot);
        chatsRV = findViewById(R.id.idRVChats);
        userMsgEdt = findViewById(R.id.idEdtMessage);
        sendMsgFAB = findViewById(R.id.idFABSend);
        chatsModalArrayList = new ArrayList<>();
        chatRVAdapter = new ChatRVAdapter(chatsModalArrayList,this);
        LinearLayoutManager manager = new LinearLayoutManager(this);
        chatsRV.setLayoutManager(manager);
        chatsRV.setAdapter(chatRVAdapter);
        sendMsgFAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (userMsgEdt.getText().toString().isEmpty()){
                    Toast.makeText(chatbot.this, "please enter your message",Toast.LENGTH_SHORT).show();
                    return;
                }

                getResponse(userMsgEdt.getText().toString());
                if(userMsgEdt.length()>0) {
                    userMsgEdt.setText(null);
                }
            }
        });



    }
    private void getResponse(String message){
        chatsModalArrayList.add(new ChatsModal( message,USER_KEY));
        chatRVAdapter.notifyDataSetChanged();
        String url = "http://api.brainshop.ai/get?bid=166135&key=HutlT9ZgXWrPpz3o&uid=[uid]&msg="+message;
        String BASE_URL = "http://api.brainshop.ai/";
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        RetrofitAPI retrofitAPI = retrofit.create(RetrofitAPI.class);
        Call<MsgModal> call = retrofitAPI.getMessage(url);
        call.equals(new Callback<MsgModal>() {
            @Override
            public void onResponse(Call<MsgModal> call, Response<MsgModal> response) {
                if(response.isSuccessful()){
                    MsgModal modal = response.body();
                    chatsModalArrayList.add(new ChatsModal(modal.getCnt(),BOT_KEY));
                    chatRVAdapter.notifyDataSetChanged();
                }
            }

            @Override
            public void onFailure(Call<MsgModal> call, Throwable t) {
                chatsModalArrayList.add(new ChatsModal("please revert your question",BOT_KEY));
                chatRVAdapter.notifyDataSetChanged();

            }
        });



    }

java android-studio retrofit2 chatbot
3个回答
0
投票

我也遇到了这个问题,你只需更改网址:

String url = "http://api.brainshop.ai/get?bid=166135&key=HutlT9ZgXWrPpz3o&uid=[uid]&msg="+message

String url = "http://api.brainshop.ai/get?bid=166135&key=HutlT9ZgXWrPpz3o&uid=uid&msg="+message

从 uid 中删除 []


0
投票

在清单文件中添加此行

<application>
android:usesCleartextTraffic="true" 
</application

0
投票

更改 call.equals(new Callback() 调用.enqueue(new Callback()

© www.soinside.com 2019 - 2024. All rights reserved.