教你用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"},
},
}
----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:
想学,但看不懂不会,
Back to home
Subscribe |
Register |
Login
| N