小编App*_*uce的帖子

Android Wear Watch Face获取手机的电池百分比

我正在开发Android Wear Watch Face,我想显示手表和手机的电池百分比.我设法得到了手表的百分比,但我是Java和Android的新手,所以请通过解释轻松告诉我.

private String getBatteryInfoPhone()
{
    float retVal = 0;

    IntentFilter iFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    Intent batteryStatus =  registerReceiver(null, iFilter);

    int status = batteryStatus.getIntExtra(BatteryManager.EXTRA_STATUS, -1);

    int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
    int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

    retVal = level / (float)scale;

    return Integer.toString(Math.round(retVal)) + "%";
}
Run Code Online (Sandbox Code Playgroud)

这是我现在的代码,用来给我手机的百分比.请注意,这是一个Watch Face,因此它是一项没有活动的服务.

使用此解决方案,我不断获得1%而不是实际百分比.

java android android-service wear-os

3
推荐指数
1
解决办法
2892
查看次数

反序列化具有多个数据类型的JSON文件

我想分析Telegram-Chats,所以我以JSON格式导出了聊天,并想将其反序列化到我的分析软件中。

    {
      "id": 397910,
      "type": "message",
      "date": "2018-02-21T10:27:59",
      "edited": "1970-01-01T01:00:00",
      "from": "Username",
      "from_id": 39033284,
      "text": "Some Text"
    }
Run Code Online (Sandbox Code Playgroud)

所以我用这个简单的代码来读取JSON

    List<JSONObject> jsonObjects = JsonConvert.DeserializeObject<List<JSONObject>>(File.ReadAllText(openFileDialog.FileName));

    public class JSONObject
    {
       public int ID;
       public string type;
       public string date;
       public string edited;
       public string from;
       public int fromID;
       public string photo;
       public int width;
       public int height;
       public string text;
    }
Run Code Online (Sandbox Code Playgroud)

对于前525个数据集来说,这非常顺利,但是之后,由于“一致性问题”,我难以对数据进行反序列化。文本的数据类型有时会更改为数组。

    {
       "id": 397911,
       "type": "message",
       "date": "2018-02-21T10:31:47",
       "edited": "1970-01-01T01:00:00",
       "from": "Username",
       "from_id": 272964614,
       "text": [
          "Some Text ",
          {
             "type": "mention", …
Run Code Online (Sandbox Code Playgroud)

c# json json.net deserialization telegram

1
推荐指数
1
解决办法
90
查看次数