小编Joh*_*uer的帖子

GCM-App真的需要唤醒锁吗?

我不太确定如何在GCM客户端文档中解释这句话:

android.permission.WAKE_LOCK权限,以便应用程序可以在收到消息时使处理器无法休眠.可选 - 仅在应用程序希望防止设备休眠时使用.

.

如果在将工作转换为服务时未保持唤醒锁定,则有效地允许设备在工作完成之前返回休眠状态.最终结果是应用程序可能无法完成处理GCM消息,直到将来某个任意点,这不是您想要的.

不要求使用WakefulBroadcastReceiver.如果您有一个不需要服务的相对简单的应用程序,您可以在常规的BroadcastReceiver中拦截GCM消息并在那里进行处理.

我不太确定我的应用程序是否需要召唤唤醒锁(或者如果它需要服务).推送通知部分对应用程序非常重要,不应该延迟超过几分钟.在接收所有数据之前,BroadcastReceiver是否有可能被暂停?

android wakelock google-cloud-messaging

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

通过索引在列表中交换两个元素

有没有办法在列表中交换两个元素,如果我对元素的唯一了解就是它们在列表中出现的位置.

更具体地说,我正在寻找这样的事情:

swapElementsAt :: Int -> Int -> [Int] -> [Int]
Run Code Online (Sandbox Code Playgroud)

那会表现得那样:

> swapElementsAt 1 3 [5,4,3,2,1] -- swap the first and third elements
[3,4,5,2,1]
Run Code Online (Sandbox Code Playgroud)

我认为Haskell中可能存在内置函数,但我无法找到它.

haskell list

10
推荐指数
4
解决办法
6881
查看次数

PhpStorm 对 JSON 函数的警告

我正在使用 PhpStorm 7.1.3。

每当我使用 PHP 内置函数json_encodejson_decodePhpStorm 说此函数未定义时。

这是屏幕截图

我不想禁用对所有未声明函数的检查。我也不想抑制对包括 json_* 在内的每个语句的检查。

摆脱这些警告的最简单方法是什么?他们为什么会出现?

php json phpstorm

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

.gitignore不会忽略一个文件夹

我的.gitignore中有以下内容:

#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Eclipse project files
.classpath
.project
# Android Studio
.idea
build/
cache.properties.lock
.idea/workspace.xml
*.iws
.gradle/
**/.gradle/
Run Code Online (Sandbox Code Playgroud)

但是,每当我对我的应用程序进行更改时,git都会包含类似于.gradle/1.12/taskArtifacts/cache.properties.lock提交的文件.

这有什么不对?为什么它适用于文件夹build/但不适用.gradle/

git gitignore

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

如何让应用程序支持三星的弹出视图?

我的应用程序的用户抱怨他无法在弹出窗口中打开应用程序(如此).

当他试图这样做时,出现一个叫"这个应用程序无法在弹出视图中显示"的祝酒词.

我找不到有关此功能的任何文档,特别是没有为您的应用启用它.有些用户似乎觉得这很有用,所以我考虑为我的应用启用它,如果这不是很多工作.

任何人都可以向我指出此功能的文档或更好地解释如何将其添加到Android应用程序?

user-interface android popup

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

Android共享元素重新过渡无动画

我想用这里解释的共享元素创建活动转换.

我希望左侧的列表项转换为右侧突出显示的框. 这就是我要的

嗯,这很好用,但不幸的是退出转换根本不起作用.从第二次活动回来后,我得到了这个: 在此输入图像描述

CardView只是保持原样,不会在任何地方缩放或转换.过了一会儿,它消失了.

我认为退出转换将是向后转换,但这似乎不是这种情况.如何让CardView转换回左侧的ListItem?

这是我目前的代码:

在第一个Activity的OnItemClickListener中

Intent intent = new Intent(context, DisplayEpisodeActivity.class);
ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this,clickedRow.findViewById(R.id.background), "background");
startActivity(intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)

我的主题:

<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="NewApi">
    <style name="BaseTheme" parent="android:Theme.Material.Light.DarkActionBar">
        <item name="android:colorPrimary">#D32F2F</item>
        <item name="android:textColorPrimary">#616161</item>
        <item name="android:colorPrimaryDark">#B71C1C</item>
        <item name="android:colorAccent">#757575</item>
        <item name="android:colorControlHighlight">#EF9A9A</item>
        <item name="android:windowContentTransitions">true</item>
        <item name="android:windowSharedElementEnterTransition">
            @transition/change_image_transform</item>
        <item name="android:windowSharedElementExitTransition">
            @transition/change_image_transform</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

change_image_transform.xml:

<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
    <changeTransform/>
    <changeBounds/>
</transitionSet>
Run Code Online (Sandbox Code Playgroud)

而且我已经设置了transitionNameandroid.support.v7.widget.CardView布局的右侧,并在RelativeLayout左边秒.

android transition android-transitions android-cardview android-5.0-lollipop

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