教你用Androlua写一个聊天机器人

2015-12-02 23:08:05 -0500
require "import"
import "android.app.*"
import "android.os.*"
import "android.widget.*"
import "android.view.*"
require "layout"
activity.setTitle('聊天机器人')
activity.setTheme(android.R.style.Theme_Holo_Light)

local _send=[[
require "import"
import "http"
local msg=...
local str=http.post("http://app.simsimi.com/app/aicr/request.p?req="..msg.."&uid=109821338&lc=ch&tz=Asia%2FShanghai&ft=0&os=a&av=6.6.1.9",msg,nil,nil)
return str
]]
local aa= ArrayAdapter(activity,android.R.layout.simple_expandable_list_item_1)
local msg=nil
print("Socradi制作")
function json2table(json)
  local j=tostring(json)
  j=string.gsub(j,'%[','{')
  j=string.gsub(j,'%]','}')
  j=string.gsub(j,'\"([^\"]-)\":','[\'%1\']=')

  j='local t='..j..'\r\nreturn t'
  return loadstring(j)()
end

function get(msg)
  task(_send,msg,result)
end

function result(str)
  local json=json2table(str)
  aa.add("她:"..json.sentence_resp)
  listview.setAdapter(aa)
  listview.setSelection(listview.getAdapter().getCount() - 1);
end

function onSend()
  msg=tostring(tb_msg.Text)
  tb_msg.Text=""
  aa.add("我:"..msg)
  listview.setAdapter(aa)
  listview.setSelection(listview.getAdapter().getCount() - 1);
  get(msg)

end
activity.setContentView(loadlayout(layout))
layout={LinearLayout,
    layout_width="fill_parent",
    layout_height="fill_parent",
    gravity="center",
    orientation="vertical",
    {ListView,
        layout_height="wrap_content",
        layout_width="match_parent",
        layout_weight="1.0",
        id="listview",
        },
    {LinearLayout,
        layout_height="wrap_content",
        layout_width="match_parent",
        orientation="horizontal",
        weightSum="5",
        {EditText,
            layout_height="wrap_content",
            layout_width="wrap_content",
            layout_weight="5",
            layout_margin="10dp",
            id="tb_msg",
            maxLines="3"},
        {Button,
            layout_height="wrap_content",
            layout_width="wrap_content",
            text="发送",
            layout_weight="1.0",
            layout_margin="10dp",
            onClick="onSend",
            id="bn_send"},
    },
}
«Newer      Older»

----Comments(3)----
anonymous at 2015-12-27 06:13:
大大滴不会
落叶似秋 (@zyw8) | @ at 2015-12-03 19:39:
@cjz AndroLua很容易入门的
珍游趣 (@cjz) | @ at 2015-12-03 09:07:
想学,但看不懂不会,
Comment:
Name:

Back to home

Subscribe | Register | Login | N