欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-30 22:29:22
今天看到一个ios写的图灵机器人,直接去官网()看了下api接入,太简单了,就一个get请求~于是乎,写了一个android版本的机器人,没什么技术含量,但是挺好玩的~刚好...

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

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

先给大家展示效果图:

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

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

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();
    }
}

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