使用情景
制作词云, 并在手机上显示
效果展示
吴孟达先生今日走了, 用先生的百度百科做个词云, 纪念小时候的大明星达叔
原理
- 使用python的wordcloud模块生成词云
- autojs负责展示词云
难点
- django实现文件的上传和下载
- autojs实现多文件上传
代码讲解
- 画一个界面用于功能演示
"ui"; ui.layout( <vertical margin="20"> <input id="input" h="200dp"></input> <button id="btn" textSize="20sp"> 生成词云 </button> <text>备注: 文字越多, 生成越慢, 请耐心等待 1m的文字大概20s左右</text> <img id="img"></img> </vertical> );
- 设置词云来源内容
let 吴孟达先生的百度百科 = "......" ui.input.setText(吴孟达先生的百度百科);
- 设置按钮的点击事件
ui.btn.click(function () { ui.btn.setEnabled(false); ui.btn.setText("服务器生成词云中, 请耐性等待"); threads.start(function () { let url = "http://192.168.101.4:8000/polls/wordcloud/"; var res = http.postMultipart(url, getData()); let tempFilepath = "/sdcard/1.jpg"; files.writeBytes(tempFilepath, res.body.bytes()); // app.viewFile(tempFilepath); ui.post(function () { ui.img.attr("src", "file://" + tempFilepath); ui.btn.setEnabled(true); ui.btn.setText("生成词云"); }, 100); }); });
- 展示处理好的词云图片
ui.img.attr("src", "file://" + tempFilepath);
服务器端
- 使用django搭建文件上传下载服务