小编fra*_*gon的帖子

错误:包com.google.android.gcm不存在 - 迁移到Gradle后

我在一个没有Gradle的IntelliJ中开发的旧项目有问题.我想将它迁移到Android Studio和Gradle,但我遇到了很多问题.由于该项目已经过时,因此使用了旧的Google Play服务版本.在Intellij中,我刚刚将旧gps的libproject添加到依赖项(google_play_services_5089000_r19),一切正常.在Android Studio中,我设法通过将其添加为库模块并添加compile project(':segmentedradios')为gradle依赖项来添加其他库,但我无法使gps库工作.我曾尝试将其添加为模块,但Android Studio在指向libroject库目录后表示"未选择模块" .我也尝试将其添加为gradle依赖项,但我不断遇到这样的错误:

error: package com.google.android.gcm does not exist
error: package com.google.android.maps does not exist
error: cannot find symbol variable GCMRegistrar
Run Code Online (Sandbox Code Playgroud)

尽管我尝试了10种不同的解决方案,但该项目仍然无效.怎么解决?

摇篮:

apply plugin: 'com.android.application'

android {
    compileSdkVersion "Google Inc.:Google APIs:18"
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "my_package.app_name"
        minSdkVersion 14
        targetSdkVersion 18
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile files('libs/libGoogleAnalyticsV2.jar')
    compile project(':segmentedradios')
    compile 'com.google.android.gms:play-services:5.0.89'
}
Run Code Online (Sandbox Code Playgroud)

android android-build google-play-services android-gradle-plugin

6
推荐指数
1
解决办法
2万
查看次数

如何在应用程序中使用库的manifestPlaceholders?

我正在尝试将OneSignal SDK添加到我的 Android 库项目中。因此,我在我的库中添加了必要的依赖项,build.gradle并且还manifestPlaceholders

        // One Signal:
        manifestPlaceholders = [onesignal_app_id: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
                                // Project number pulled from dashboard, local value is ignored.
                                onesignal_google_project_number: "XXXXXXXXXXXX"]
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试构建一个使用我添加了 OneSignal 的库的演示应用程序时,我收到以下错误:

/path_to_project/demoapp/demoapp/src/main/AndroidManifest.xml Error:
    Attribute meta-data#onesignal_app_id@value at AndroidManifest.xml requires a placeholder substitution but no value for <onesignal_app_id> is provided.
/path_to_project/demoapp/demoapp/src/main/AndroidManifest.xml Error:
    Attribute meta-data#onesignal_google_project_number@value at AndroidManifest.xml requires a placeholder substitution but no value for <onesignal_google_project_number> is provided.

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

:demoapp:processDebugManifest FAILED

FAILURE: Build failed …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-library android-gradle-plugin onesignal

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

在一种口味/目标中使用多个google-services.json和GoogleService-Info.plist文件

一个Android项目中可以使用两个google-services.json文件吗?我知道可以将多个google-services.json文件用于多种口味,但是可以以某种方式合并两个不同的文件project_info并同时将它们用于项目吗?

以下是我要在一个项目中使用的两个文件的示例和一种形式(一个用于Analytics(分析),另一个用于Ads)。

第一 google-services.json

{
  "project_info": {
    "project_number": "XXXXXXXXXXXX",
    "project_id": "project-one"
  },
  "client": [
    (...)
  ],
  "configuration_version": "1"
}
Run Code Online (Sandbox Code Playgroud)

第二 google-services.json

{
  "project_info": {
    "project_number": "YYYYYYYYYYYY",
    "firebase_url": "https://project-two.firebaseio.com",
    "project_id": "project-two",
    "storage_bucket": "project-two.appspot.com"
  },
  "client": [
    (...)
  ],
  "configuration_version": "1"
}
Run Code Online (Sandbox Code Playgroud)

我也有关于GoogleService-Info.plistiOS项目文件的相同问题。

android google-analytics ios firebase firebase-realtime-database

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

蓝牙 5.1 到达角向后兼容

我目前正在设计一个简单的室内定位项目来评估蓝牙 5.1 标准的可能性。我想使用的功能是蓝牙 5.1 中引入的 AoA(到达角度)。

根据该标准,AoA 允许通过近似角度并测量定位器/接收器 (rx) 上的 RSSI 来测量发射设备 (tx) 的位置。由于AoA是5.1中新实现的功能,因此我理解rx需要支持5.1蓝牙标准。发射装置怎么样?它需要支持的最低蓝牙版本是多少?我可以使用 4.x BLE 信标(或模拟信标的 Android/iOS 设备)来实现此目的吗?

bluetooth core-bluetooth bluetooth-lowenergy android-bluetooth ios-bluetooth

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

C错误"可能无法初始化可变大小的对象"

可能重复:
C编译错误:"可能无法初始化可变大小的对象"

我有一个问题,因为我的编译器仍然给我一个错误:可能无法初始化变量大小的对象.我的代码出了什么问题?

int x, y, n, i;
printf ("give me the width of the table \n");
scanf ("%d", &x);
printf ("give me the height of the table\n");
scanf ("%d", &y);
int plansza [x][y] = 0;
int plansza2 [x][y] = 0;
Run Code Online (Sandbox Code Playgroud)

当然我想用"零"填充表格.

不幸的是,该计划仍然无效.这些表格在所有单元格上显示为"416082"等数字.我的代码现在看起来像这样:

int plansza [x][y];
memset(plansza, 0, sizeof plansza);
int plansza2 [x][y];
memset(plansza2, 0, sizeof plansza2);

printf("plansza: \n");
for(j=0;j<x;j++) {
  for(l=0;l<y;l++) {
    printf("%d",plansza[x][y]);
    printf(" ");
  }
  printf("\n");
}

printf("plansza2: \n");
for(m=0;m<x;m++) {
  for(o=0;o<y;o++) {
    printf("%d",plansza2[x][y]);
    printf(" ");
  }
  printf("\n"); …
Run Code Online (Sandbox Code Playgroud)

c arrays

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

Lollipop在我的应用程序中利用Buttons的文本

我在申请时遇到了一个奇怪的问题.当我在真实设备(使用Android 4.4.4)上测试它时,我所有的按钮文本字段看起来我想要的(小写字母).但是当我在模拟器(Android 5.0.1)上启动我的应用程序时,所有Button文本字段都是大写的.这种行为的原因是什么?我的应用程序中的一些示例按钮:

示例按钮1:

    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        style="?android:attr/borderlessButtonStyle"
        android:layout_height="wrap_content"
        android:text="@string/finish"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
     />
Run Code Online (Sandbox Code Playgroud)

示例按钮2:

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        style="?android:attr/borderlessButtonStyle"
        android:layout_height="wrap_content"
        android:text="@string/flower"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:drawableLeft="@drawable/flower"
        android:layout_weight=".75"
        />
Run Code Online (Sandbox Code Playgroud)

这个问题的解决方案是什么?我希望我的应用程序在所有sw版本上看起来都一样.

android android-emulator android-layout android-button android-5.0-lollipop

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

无法解决:okhttp loggin-interceptor

我正在使用Retrofit 2.0.0-beta2库与API进行通信.直到上周五,一切正常.今天我收到这个错误:

Failed to resolve: com.squareup.okhttp:logging-interceptor:2.6.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

我无法摆脱它.我在网上搜索,但似乎我的gradle文件没问题:

build.gradle(项目)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'http://oss.sonatype.org/content/repositories/snapshots' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.package.app"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        //(...)
    }
}

dependencies {
    //(...)
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
    compile 'com.squareup.okhttp:okhttp:2.5.0'
    compile 'com.google.code.gson:gson:2.4'
    compile …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin retrofit okhttp

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

在Linux上检测python中连接到Raspberry Pi的无线设备

在我的python代码中,我需要获取连接到Raspberry Pi的"物理"WiFi网络设备列表

我一直在这样做,致电:

raw_output = check_output('iw dev', shell=True)
Run Code Online (Sandbox Code Playgroud)

然后提取我需要的所有数据 raw_output

它工作正常,但在iw help其中说,Do NOT screenscrape this tool, we don't consider its output stable.以我的方式获取这些数据真的不安全吗?如果是,那么这样做的正确方法是什么?

python linux shell network-programming raspberry-pi

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

复制 iOS 应用程序目标,重命名它,添加新图标并从命令行构建应用程序(不使用 Xcode GUI)

我想自动化向我的 iOS 应用程序添加新目标的过程,并编写一个脚本来加快整个过程。有没有办法复制 Xcode iOS 应用程序目标,然后重命名它,添加特定于该目标的新图标,更改捆绑包 ID、应用程序名称等,最后构建应用程序?我尝试过使用 AppleScript 来实现此目的,但没有成功。

我现在使用的解决方法是创建一个额外的目标(使用 Xcode GUI)并在构建期间(每次我想要构建应用程序时)对其进行自定义。这种方法的最大缺点是目标的配置不会保存在任何地方,并且必须为应用程序的每个构建指定目标的参数。这可能会导致不可重复的构建和其他无法调试的问题。这就是为什么我正在寻找一种方法或工具,它允许我从命令行脚本复制和配置新目标

xcode xcodebuild ios xcode8 xcode-command-line-tools

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

STL列表添加和删除所选元素

我正在编写使用列表的简单程序.我已经创建了包含其所有功能的列表,但现在我想将其转换为STL.我已经成功地完成了一些我的功能但是我坚持使用一个应该添加新元素并且还删除用户选择的元素.

那是我的代码:

list <Komputer> lista_komputerow_STL;
list <Komputer>::iterator it;
///This should add an element:
lista_komputerow_STL.push_back(Komputer(nazwa));
///This should remove chosen element:
int element;

for(int i=0;i<(element-1);i++)
{it++;}
lista_komputerow_STL.erase(it);
Run Code Online (Sandbox Code Playgroud)

我是STL的新手,现在对我来说似乎很重要,但我希望在你的帮助下我能得到它.

c++ stl list

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

如何将复选框数据发送到JSON数组?

我是.js的新手,我将从.js复选框形式的答案导出到JSON数组时遇到问题.

我的HTML:

<form>
<input type="checkbox" name="Question1" id="Answer1" value="Answer1" onclick="show_checked()"/><label for="Answer1">Answer 1</label><br/>
<input type="checkbox" name="Question1" id="Answer2" value="Answer2" onclick="show_checked()"/><label for="Answer2">Answer 2</label><br/>
<input type="checkbox" name="Question1" id="Answer3" value="Answer3" onclick="show_checked()"/><label for="Answer3">Answer 3</label><br/>
</form>
Run Code Online (Sandbox Code Playgroud)

我的Javascript:

function set_checked(checked) 
    $('input[name=foo]').attr('checked', checked);
}
$(document).ready(function () {
            $("input[name='Question1']").change(function () {
                var maxAllowed = 2; 
                var cnt = $("input[name='Question1']:checked").length;
                if (cnt > maxAllowed) {
                    $(this).prop("checked", "");
                    alert('Choose max. ' + maxAllowed + ' answers');
                }
            });
        });
Run Code Online (Sandbox Code Playgroud)

问题是,如何将已选中复选框的ID或值发送到JSON数组?

html javascript forms arrays json

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

使用'零'-memset()填充数组不起作用 -

这是代码

int x, y, n, i, j, l, m, o;
printf ("podaj szerokosc planszy na jakiej chcesz zagrac\n");
scanf ("%d", &x);
printf ("podaj dlugosc planszy na jakiej chcesz zagrac\n");
scanf ("%d", &y);
int plansza [x][y];
memset(plansza, 0, sizeof plansza);
int plansza2 [x][y];
memset(plansza2, 0, sizeof plansza2);

printf("plansza: \n");
for(j=0;j<x;j++)
{
    for(l=0;l<y;l++)
    {
        printf("%d",plansza[x][y]);
        printf(" ");
    }
    printf("\n");
}

printf("plansza2: \n");
for(m=0;m<x;m++)
{
    for(o=0;o<y;o++)
    {
        printf("%d",plansza2[x][y]);
        printf(" ");
    }
    printf("\n");
}
Run Code Online (Sandbox Code Playgroud)

这就是结果:
结果

不知道为什么memset()根本不起作用,我完全不知道为什么.我应该怎么做才能用零填充数组?

c arrays memset

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

导航抽屉+ ViewPager - 片段不显示

我对我创建的布局有问题.我使用导航抽屉作为主要导航模式.它看起来和我想要的工作,但问题是,在返回到保持的片段后ViewPager- 内部片段未显示.但是,它们会在首次打开应用程序时显示,并默认显示 - ViewPager保留Fragment.

其他导航抽屉Fragments显示正常,所以我不希望我的导航抽屉实现有任何问题

RecordFragment.java(片段持有ViewPager Fragments):

public class RecordFragment extends Fragment {
    private ViewPager mViewPager;

    public RecordFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.record_fragment, container, false);
        //getActivity().setTitle(R.string.record);
        return rootView;
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        mViewPager = (ViewPager) view.findViewById(R.id.record_pager);
        FragmentManager manager = getFragmentManager();
        mViewPager.setAdapter(new MyFragmentPagerAdapter(manager));
    }

    class MyFragmentPagerAdapter extends FragmentPagerAdapter {

        public MyFragmentPagerAdapter(FragmentManager fm) {
            super(fm); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-navigation

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