当前位置: 移动技术网 > 移动技术>移动开发>Android > 安卓(Android)聊天机器人实现代码分享

安卓(Android)聊天机器人实现代码分享

2019年07月24日  | 移动技术网移动技术  | 我要评论

今天看到一个ios写的图灵机器人,直接去官网()看了下api接入,太简单了,就一个get请求~于是乎,写了一个android版本的机器人,没什么技术含量,但是挺好玩的~刚好昨晚看了自己喜欢的秦时明月,嘿嘿,小貔貅,就是我的机器人宠物啦~

这是一个安卓智能聊天机器人的源码,采用了仿微信的风格设计,调用的是图灵机器人的api,能够实现智能聊天、讲故事、讲笑话、查天气、查公交等丰富的功能。

先给大家展示效果图:

下面是代码片段,想要源码的小伙伴可在下面留言留下你的邮箱地址

package com.example.android_robot_;
import java.util.arraylist;
import java.util.date;
import java.util.list;
import android.app.activity;
import android.content.context;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.text.textutils;
import android.view.view;
import android.view.window;
import android.view.inputmethod.inputmethodmanager;
import android.widget.edittext;
import android.widget.listview;
import android.widget.toast;
import com.example.android_robot_.bean.chatmessage;
import com.example.android_robot_.bean.chatmessage.type;
import com.zhy.utils.httputils;
public class mainactivity extends activity
{
    /**
     * 展示消息的listview
     */
    private listview mchatview;
    /**
     * 文本域
     */
    private edittext mmsg;
    /**
     * 存储聊天消息
     */
    private list mdatas = new arraylist();
    /**
     * 适配器
     */
    private chatmessageadapter madapter;
    private handler mhandler = new handler()
    {
        public void handlemessage(android.os.message msg)
        {
            chatmessage from = (chatmessage) msg.obj;
            mdatas.add(from);
            madapter.notifydatasetchanged();
            mchatview.setselection(mdatas.size() - );
        };
    };
    <a href="http://home.cto.com/index.php?s=/space/" target="_blank">@override</a>
    protected void oncreate(bundle savedinstancestate)
    {
        super.oncreate(savedinstancestate);
        requestwindowfeature(window.feature_no_title);
        setcontentview(r.layout.main_chatting);
        initview();
        madapter = new chatmessageadapter(this, mdatas);
        mchatview.setadapter(madapter);
    }
    private void initview()
    {
        mchatview = (listview) findviewbyid(r.id.id_chat_listview);
        mmsg = (edittext) findviewbyid(r.id.id_chat_msg);
        mdatas.add(new chatmessage(type.input, "我是小貅貅,很高兴为您服务"));
    }
    public void sendmessage(view view)
    {
        final string msg = mmsg.gettext().tostring();
        if (textutils.isempty(msg))
        {
            toast.maketext(this, "您还没有填写信息呢...", toast.length_short).show();
            return;
        }
        chatmessage to = new chatmessage(type.output, msg);
        to.setdate(new date());
        mdatas.add(to);
        madapter.notifydatasetchanged();
        mchatview.setselection(mdatas.size() - );
        mmsg.settext("");
        // 关闭软键盘
        inputmethodmanager imm = (inputmethodmanager) getsystemservice(context.input_method_service);
        // 得到inputmethodmanager的实例
        if (imm.isactive())
        {
            // 如果开启
            imm.togglesoftinput(inputmethodmanager.show_implicit,
                    inputmethodmanager.hide_not_always);
            // 关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的
        }
        new thread()
        {
            public void run()
            {
                chatmessage from = null;
                try
                {
                    from = httputils.sendmsg(msg);
                } catch (exception e)
                {
                    from = new chatmessage(type.input, "服务器挂了呢...");
                }
                message message = message.obtain();
                message.obj = from;
                mhandler.sendmessage(message);
            };
        }.start();
    }
}

以上代码就是实现安卓聊天机器人的全部代码,喜欢的朋友直接拿去用,在使用过程中发现有问题请随时和我联系。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网