小编Sab*_*med的帖子

Java:如何将List转换为Map

最近,我与一位同事讨论了如何在Java中转换List为最佳方式,Map以及是否有任何特定的好处.

我想知道最佳转换方法,如果有人能指导我,我会非常感激.

这是一个好方法:

List<Object[]> results;
Map<Integer, String> resultsMap = new HashMap<Integer, String>();
for (Object[] o : results) {
    resultsMap.put((Integer) o[0], (String) o[1]);
}
Run Code Online (Sandbox Code Playgroud)

java list hashmap data-conversion data-structures

201
推荐指数
10
解决办法
37万
查看次数

为什么不赞成使用ActionBarActivity

我刚刚安装了Android Studio,并且我开始对一个活动进行编码以进行扩展ActionBarActivity,并显示它已被弃用.那么我如何为我的活动设置一个操作栏呢.此外,入门培训使用ActionBarActivity不引用它的方法已被弃用.

android deprecated android-actionbar android-actionbaractivity

116
推荐指数
3
解决办法
8万
查看次数

Java检查boolean是否为null

如何检查布尔值是否为空?所以,如果我知道"hideInNav"为空.如何阻止它进一步执行?像下面的东西似乎不起作用,但为什么?

boolean hideInNav = parent.getProperties().get("hideInNav", false);
String hideNavigation = hideInNav != null ? hideInNav : "";
Run Code Online (Sandbox Code Playgroud)

java performance boolean nullable

62
推荐指数
5
解决办法
15万
查看次数

对于Java接口中的常量,"public static final"是多余的吗?

这段代码:

interface Config {
    int MAX_CONN = 20;
}
Run Code Online (Sandbox Code Playgroud)

编译和按我的预期工作.它看起来像是:

interface Config {
    public static final int MAX_CONN = 20;
}
Run Code Online (Sandbox Code Playgroud)

对于Java接口中的常量,"public static final"是多余的吗?这对于Java 1.1,1.2,1.3,1.4,...,1.8是否适用,或者是否在Java版本中进行了更改?

java static final interface jls

41
推荐指数
2
解决办法
3万
查看次数

如何创建一个持续监控应用程序使用信息的服务?

手头的问题:我必须创建一个Service连续运行的.这项服务监控5个应用程序说你的手机上安装了5个安卓游戏.此服务需要获取以下信息:1.游戏开启和运行的次数是多少?2.每场比赛的运行​​时间.

例如:说如果我在我的应用程序中安装了此服务.我让它运行了一个月.我需要在应用程序的屏幕上显示此类信息:

游戏 游戏运行次数游戏 持续时间

第1场比赛共20次,共15小时

游戏2共16次,总共玩25小时

..

..

第5场比赛共10次,共12小时

可能的方法:当应用程序加载时,它会进入内存.注意到系统在应用程序启动时计时.当应用程序结束或放在后台注意时间再次.

所以说如果一个应用程序在晚上9点被带到内存并且在晚上9:30退出到后台,这给了我们30分钟的游戏时间.下次播放应用程序时,持续时间将从存储在某种变量中的上一个播放添加到30,依此类推.每次将应用程序带入内存时,正在播放的计数器应该增加1.因此,给我们一个应用程序播放的次数.

编码:Service在Android中根本不知道,因为我从来没有真正研究它们.任何与我手头的问题相关的教程都会非常有用.其次,如果还有另一种方法可以做到这一点.我也想知道.我真的可以使用一些代码片段来启动这个项目.

service android usage-statistics

35
推荐指数
2
解决办法
3万
查看次数

为什么java常量声明为static?

为什么java常量声明为static?

class Foo{
    static final int FII = 2 ;
}
Run Code Online (Sandbox Code Playgroud)

在这个我理解使用final?为什么它必须是静态的?为什么它应该是一个类变量,而不是一个实例变量?

java static final constants class-variables

32
推荐指数
3
解决办法
3万
查看次数

信号5(SIGTRAP),代码1(TRAP_BRKPT)与webview.apk有关

我在Play Console中收到了一些崩溃报告,标题如下:

signal 5 (SIGTRAP), code 1 (TRAP_BRKPT)
webview.apk
Run Code Online (Sandbox Code Playgroud)

以及详细信息:

backtrace:
  native: pc 00000000011a1ed4  /system/app/webview/webview.apk
  native: pc 00000000011e01f8  /system/app/webview/webview.apk
Run Code Online (Sandbox Code Playgroud)

就是这样,没有更多的信息.

重要的是(a)崩溃的数量非常少,因此我的代码必须基本上是健全的,并且(b)报告全部来自Android 7.0设备.

我怎样才能开始解决可能发生坠机的地方?我可以发布一些代码,但它可能无济于事,因为绝大多数设备都没有窒息,无论如何我只是在寻找一些洞察或提示,以便在哪里进一步查看.我无法在我尝试的任何设备上重现此崩溃.

还有一个类似的问题在这里,还没有答案.

android crash-reports android-7.0-nougat google-play-console

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

如何在Android中跟踪应用程序使用情况?如何检测活动何时启动?

我需要跟踪Android中的应用程序使用情况,例如AppUsage的工作方式(即跟踪应用程序启动的数量,以及使用每个应用程序所花费的时间).我打算做的是记录应用程序启动时的开始时间,然后获取应用程序暂停或停止时的结束时间.在LogCat中,我能够看到Activity的起始日志.我查看了可用的系统广播,我不确定在活动开始时是否有任何广播..基本上,我如何检测活动何时启动?

编辑:此外,Android还有一个内部使用的使用情况统计系统,可以在备件应用程序或*#*#4636#*#*拨打时找到(测试 - >使用情况统计)

android usage-statistics

22
推荐指数
2
解决办法
5万
查看次数

尝试检索前台应用时,Android 6.0 Marshmallow UsageStatsManager问题

每当我尝试查询UsageStatsManager的Usage Stats时,我都可以正确地获取最后一个正在运行的应用程序.但是,如果我下拉状态栏并且有新通知,则最后使用的应用程序(基于UsageStats)将更改为通知的应用程序.结果,我收到前台应用程序已更改的错误警报.

我似乎无法找到过滤那些特定抽奖的方法.有任何想法吗?

现在,我使用以下代码查询前台应用程序.问题仅存在于Marshmallow中(5.X正常工作).

UsageStatsManager mUsageStatsManager = (UsageStatsManager) rotationManager.getSystemService("usagestats");
long time = System.currentTimeMillis();
// We get usage stats for the last 10 seconds
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 2, time);
// Sort the stats by the last time used
if (stats != null) {
SortedMap<Long, UsageStats> mySortedMap = new TreeMap<Long, UsageStats>();
for (UsageStats usageStats : stats) {
    mySortedMap.put(usageStats.getLastTimeUsed(), usageStats);
}
if (mySortedMap != null && !mySortedMap.isEmpty()) {
    foregroundApp = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
} 
}
Run Code Online (Sandbox Code Playgroud)

android usage-statistics usagestatsmanager

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

Android USSD,SIM卡接收ussd消息或哪个SIM卡插槽接收ussd消息(双卡手机)

我能够捕获传入的ussd消息,但如何在双卡手机的情况下比较传入的ussd消息?如果我收到一条消息提示,我怎么知道传入的消息是针对哪个SIM卡?

mobile android ussd dual-sim

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