Java 使用 Collections.sort() 排序 作者: Chuwen 时间: 2020-10-12 分类: 其他分类 评论 > 只是记录下笔记 # RechargeHistoryList.class ``` public class RechargeHistoryList { private int id; private int carId; private int rechargeVal;//充值金额 private String rechargeDate; public RechargeHistoryList(int carId, int rechargeVal, String rechargeDate) { this.carId = carId; this.rechargeVal = rechargeVal; this.rechargeDate = rechargeDate; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getCarId() { return carId; } public void setCarId(int carId) { this.carId = carId; } public int getRechargeVal() { return rechargeVal; } public void setRechargeVal(int rechargeVal) { this.rechargeVal = rechargeVal; } public String getRechargeDate() { return rechargeDate; } public void setRechargeDate(String rechargeDate) { this.rechargeDate = rechargeDate; } } ``` # 代码 ``` ArrayList rechargeHistoryLists = new ArrayList<>(); rechargeHistoryLists.add(new GechargeHistoryLists(1, 100, "2020-10-12 09:35:20")) rechargeHistoryLists.add(new GechargeHistoryLists(2, 50, "2020-10-12 09:35:20")) Collections.sort(rechargeHistoryLists, new Comparator() { @Override public int compare(RechargeHistoryList o1, RechargeHistoryList o2) { return -(o1.getRechargeVal() - o2.getRechargeVal());//根据充值金额 “降序” 排序 //return o1.getRechargeVal() - o2.getRechargeVal();//根据充值金额 “升序” 排序 } }); ```
使用 GsonFormat 解析数组形式的 json 作者: Chuwen 时间: 2020-10-12 分类: Android,Java 评论 > 记下笔记,以访忘记 # 假设有以下数据 ``` [{ "CarId": 1, "Time": "2017-11-26 16:58:11", "Cost": 10 }, { "CarId": 1, "Time": "2017-11-26 16:58:19", "Cost": 20 }, { "CarId": 1, "Time": "2017-11-26 16:58:24", "Cost": 30 }, { "CarId": 1, "Time": "2017-11-26 16:58:28", "Cost": 40 }] ``` # 以下类 ``` public class GetCarAccountRecord { /** * CarId : 1 * Time : 2017-11-26 04:58:11 * Cost : 10 */ private int CarId; private String Time; private int Cost; public int getCarId() { return CarId; } public void setCarId(int CarId) { this.CarId = CarId; } public String getTime() { return Time; } public void setTime(String Time) { this.Time = Time; } public int getCost() { return Cost; } public void setCost(int Cost) { this.Cost = Cost; } } ``` # 使用 Gson 解析,然后遍历输出 ``` List list = new Gson().fromJson(jsonObject.optJSONArray("ROWS_DETAIL").toString(), new TypeToken>() {}.getType()); for (GetCarAccountRecord getCarAccountRecord : list) { Log.i("小车编号:", String.valueOf(getCarAccountRecord.getCarId())); Log.i("充值金额:", String.valueOf(getCarAccountRecord.getCost())); } ```
Windows 安装 Ubuntu 系统(子系统),报错 WslRegisterDistribution failed with error: 0x8007019e 作者: Chuwen 时间: 2020-09-13 分类: 其他分类 评论 # 错误一:Error Code: 0x8007019e `WslRegisterDistribution failed with error: 0x8007019e` 这是因为系统未安装Windows子系统支持。 解决办法: 1. 键盘行按键 Win+x,选择 **Windows PowerShell(管理员)** 2. 输入 `Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux` 3. 按回车,然后输入Y并重启。 重启打开Ubuntu的命令窗口,等几分钟,输入账户和密码即可。
小米充电功率检测App (需要 ROOT 权限) 作者: Chuwen 时间: 2020-08-29 分类: 唠嗑闲聊 评论 # 小米充电功率检测 欢迎加群 `1006294793` 反馈,谢谢! # v0.51 (最新版) > 2020-08-29 17:16 发布 > > 1. 解决无法安装问题 下载链接:https://nowtime.lanzous.com/izLO4g6j5pg # V0.50 > 2020-08-29 15:48 发布 > > 该版本无法安装,请勿下载 ~~下载链接:https://nowtime.lanzous.com/izwleg6givc~~ ---
JavaScript 使用 protobuf —— 支持 web 端交互使用 作者: Chuwen 时间: 2020-08-08 分类: JavaScript 评论 >转载自:https://bobjin.com/blog/view/54737b708031d8931158129c5c44a843.html # ProtoBuf 简介 Protocol Buffer的简称。Google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式,适合用于数据存储,作为不同应用、语言之间相互通信的数据交换格式,序列化后的数据为二进制数据(pb格式的数据),类比XML、JSON。 protobuf最先支持C++ C# Go JAVA Python PHP语言,最近发布的代码包又支持了JavaScript,今天就来谈下,js怎么使用protobuf。 官网地址 https://developers.google.com/protocol-buffers/ # 安装protobuf编译器 从github上下载编译器源码安装包,https://github.com/protocolbuffers/protobuf/releases 编译安装, 目前仅支持unix类型的系统。 # 定义一个.proto文件 address.proto文件 ``` message Address { required string province = 1; required string city = 2; required string county = 3; } ``` # 编译生成访问类文件 运行下面的命令 ``` protoc --js_out=import_style=commonjs,binary:. address.proto ``` 会当前目录生成 ```address_pb.js``` 其中的 `--js_out` 的语法如下: ```--js_out=[OPTIONS:]output_dir``` 如上面的例子中的option为 import_style=commonjs,binary, "."为生成文件的目录,这里为当前目录 # 打包为web可用的js文件 > 前置条件:需要安装npm。npm一般在安装nodejs的时候就会自动安装。 安装库文件的引用库 `npm install -g require` 安装打包成前端使用的js文件 `npm install -g browserify` 安装protobuf的库文件 `npm install google-protobuf` 打包js文件export.js ``` var address = require('./address_pb'); module.exports = { DataProto: address } ``` 编译生成可用js文件 `browserify exports.js -o address_main.js` # API 普通类型字段(required/optional) get{FIELD}() // return field value set{FIELD}(value) // set field value to value clear{FIELD}(value) // clear filed value 数组类型字段操作(repeated) add{FIELD}(value) // add one value to field clear{FIELD}List() // clear filed get{FIELD}List() // return array of field values setInterestList(array)// set array 序列化/反序列化 serializeBinary() // 序列化 deserializeBinary(bin) // 反序列化(静态方法) 调试 toObject() // 打印数据 # 使用 ``` protobuf ```