最近学的做的东西——安卓,java web,flask

来源:互联网 发布:背头适合什么脸型 知乎 编辑:程序博客网 时间:2024/04/28 05:21

最近一直都不务正业,做了各种杂七杂八的小东西,主要有:

  1. 安卓手机桌面宠物;
  2. 一个安卓APP的服务端(使用java web开发);
  3. 一个网上购书系统(使用java web开发);
  4. 使用python完成了kaggle上的数据挖掘题;
  5. 粗略看了一遍flask的基础知识,后来项目改用django,所以应该暂时不会用到;
  6. 开始浏览boost库。

此处简短记录下一些技术与收获:

首先,这学期才开始接触到安卓,虽然自己不做这个方向的,但是一直很好奇安卓应用是怎样运行的。

完整地做了手机桌面宠物这个项目,大致对安卓有所了解。

一些主要的技术点:

  1. 桌面显示使用WindowManagerService;
  2. 动画使用逐帧播放,定时任务进行动画切换,随机产生动画使用异步任务;
  3. 获取微信消息并在宠物对话框中显示使用AccessibilityService辅助服务,获取微信的包(com.tencent.mm),做法来源于抢红包神奇的实现。
  4. 设置使用sharedpreferences;
  5. 多种动画和宠物模型,使用工厂模式实例化,易于扩展。

还知道了安卓的apk安装包是很容易反编译的,如果没有采取一些措施,代码一览无遗。为了拿一些图片资源,自己也反编译了几个apk,使用了apktool,dex2jar。当然也尝试过反编译代码,不过反编译出来的代码是处理过的,命名都混淆过了(即使用abcd……代替),增加了阅读的难度,当然还有一些比较高级的混淆:混淆代码的顺序,即代码的顺序跟执行顺序不一致,这样子基本不可能阅读出来了。

在写java web的时候,主要对前端后端的交互更加熟悉,最近写的两个项目里面,其中一个是可以同时服务于安卓端和web端的,通过它我对移动客户端和服务端是如何交互数据的有所了解,我的项目是将数据封装成json格式之后进行传递。

然后还有文件数据的上传,下载。比如上传使用multipart/form-data表单,然后后台需要逐个判断是文件字段还是普通字段。另外还有一些技术比如将文件哈希重命名之后分散到不同文件夹中的算法。

网上购书系统主要学习到session的运用,登录用户的权限限制,前端页面中javascript的运用等等。

python做的数据挖掘,知道了两个比较实用的库:sklearn,numpy。另外,特征提取特别重要!特征要如何提取,可以先对原始数据进行一些可视化的分析。另外,有时候有一些意想不到的特征,比如San Francisco Crime Classification这道题的地址特征可大作文章。

在python的web框架方面,flask总体上看起来比django简洁许多,不过我没具体用它做过开发,不知道功能上哪个更加强大,以后有机会可以用一用。

That’s All~

0 0
原创粉丝点击