独立开发—俗世云
背景
基于区块链实现一套电商类APP。
大致功能如下:
1.
新零售市场。
2.
代币交易所。
3.
币圈买卖。
4.
个人钱包。
方案
1.
使用代理模式代理web3j与Java后台编写的以太坊智能合约交互,创建个人钱包账户(如的
私钥、keystore、address等信息)并通过novacrypto生成助记词便于登录钱包账户。
2.
包装分离友盟推送的相关api完成移动端间消息推送以便于提醒币商放币通知。
3.
代币交易所中的Kline功能实现:通过创建fluttermodule配合MethodChannel和
EventChannel实现flutter与android原生数据通信。
4.
数据持久(Room):单列RoomDatabase存储用户数据和购物车的历史数据。
5.
商品详情采用mvvm模式结合lifecycle,ViewMode,LiveData和DataBinding做数据监听与
UI刷新
6.
app基础数据请求(如用户信息及钱包账户信息):统一在WorkerManager中执行,数据发
送:拓展LiveData使其可以在不同页面专递数据的能力。
7.
数据解析:使用FastJson。
8.
图片解密:分别继承自Glide工具中的ModelLoader和DataFetcher,重载其相应函数如
loadData()
和ModelLoaderFactory后对加密字节流解密
(当时加密方式是AES-128-CBC)
。
9.
视频播放:exoplayer+hls解码器来实现m3u8格式的在线视频播放。
效果
1.
完成并发布俗世云安卓项目。
2.
crash数量一直低于5%。
3.
内存占有率处于40MB之下。
4.
数据请求适应不同的网络环境。
5.
app用户量也有8000人。