小编los*_*ime的帖子

在Android Studio中导入Google Play服务库

我有一个完全在Android Studio中开发的Android项目(目前版本为4.2,gradle版本为1.9-all).我想添加Google Play服务的功能.

项目无法解决GooglePlayServicesUtil,当我手动输入导入时(如下所示),我明白了Cannot resolve symbol 'common'.

import com.google.android.gms.common.GooglePlayServicesUtil;
Run Code Online (Sandbox Code Playgroud)

知道我需要做什么GooglePlayServicesUtil才能解决?

我试过的

Google Play服务设置中,我只需要将com.google.android.gms:play-services:4.+依赖项添加到我的build.gradle文件中(并使用gradle重新同步项目文件),以使SDK可用于我的项目.我确实得到了一个"爆炸的捆绑" ProjectName/module/build/exploded-bundles,但这似乎并没有成功.

我已经从SDK Manager安装了Google Play服务,Android支持存储库和Google Repository.我也删除并重新安装了多次:)

编辑:

我可能需要手动将google_play_services添加为项目/全局库吗?我试图没有成功.

我正在尝试验证我是否正在使用Google服务开发平台API(如果可能的话),但我不确定是不是这样.我没有改变似乎做任何事情.

我项目的外部库显示:

  • <Android API 19平台>
  • <1.7>
  • 乔达 - 时间 - 2.3
  • 支持-v4-13.0.0

源代码

这是我的ProjectName/module/build.gradle文件:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'
    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 19
        versionCode 1 …
Run Code Online (Sandbox Code Playgroud)

java android gradle google-play-services android-studio

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

使用AutoCompleteTextView和CursorAdapter时,更改设备方向会导致活动崩溃

情况

我有一个带有AutoCompleteTextView的Activity.在您键入时,AutoCompleteTextView会从您的联系人中查找匹配的名称,并将其显示在列表中.如果在显示此列表时更改了设备方向,则活动崩溃(源代码后提供的错误消息).

笔记

我正在为ICS 4.0.3开发并在Nexus S设备上进行测试.我试图遵循使用LoaderManager生成和管理游标的最佳实践.我的理解是LoaderManager应该在方向更改中保留游标数据(http://developer.android.com/guide/topics/fundamentals/loaders.html#callback),但似乎并非如此.

因为当过滤约束太小而无法使用时,CursorAdapter要我返回原始的未过滤游标,我是:

  1. 将光标保存为活动的静态变量,以便在不符合过滤条件时使用(对不当的术语表示抱歉.我是Java新手).
  2. 防止CursorAdapter在替换游标后关闭游标,除非通过将游标与保存的游标进行比较来确认它不是原始游标.

问题似乎是在方向更改后调用onLoadFinished LoaderManager回调,但是在重新定向期间,它传递的光标(原始光标?)被关闭.

如果我通过将以下内容添加到activity清单中的声明来配置我的Activity以管理方向更改:

机器人:configChanges = "方向|屏幕尺寸"

保存的原始光标应该在方向更改中保留(对吗?).虽然应用程序没有崩溃,但还会出现另一个相关问题:

  • 如果我键入几个字母,更改设备方向,然后开始删除字母,一旦我得到1或0个字母,LogCat会给我一个警告,我正在尝试访问光标关闭后.

在这种情况下,我的原始光标似乎也消失了.我猜测应用程序没有崩溃,因为我的活动配置为管理方向更改本身时未调用onLoadFinished回调

我的问题

  1. 我正确地假设我的光标在设备方向改变时被破坏了吗?
  2. 如何在设备方向改变时保留光标和/或其数据?

源代码

查看 - home.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <AutoCompleteTextView
        android:id="@+id/newPlayer_edit"
        android:inputType="text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:hint="Contact"
        android:singleLine="true" >
        <requestFocus />
    </AutoCompleteTextView>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

活动 - Home.java

public class Home extends Activity implements LoaderManager.LoaderCallbacks<Cursor> {

// Constants
private static final String TAG = "HOME";
private static final boolean DEBUG = true;
public static …
Run Code Online (Sandbox Code Playgroud)

java android

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

跨自定义元素的共享行为状态

我有这两个自定义聚合物元素(聚合物1.0.3):

  1. 显示要翻译的文本.
  2. 显示按钮以触发翻译加载.

我还有一个行为,它包含翻译(json对象)并包含使翻译成为可能的所有函数.

这就是我期望发生的事情:

  1. 单击元素2中的按钮
  2. 翻译加载到行为中
  3. 语言选择在"行为"中设置
  4. 元素1中的文本使用已翻译的等效项进行更新

步骤1 - 3发生,但4没有.文本永远不会更新.如果将元素1和元素2组合为相同的元素,我可以使它工作,但如果它们是分开的(它们需要分开),则不能.

如果你想知道"kick"属性,那就是我从Polymer 0.5中学到的东西.当两个元素组合在一起时,事情就会起作用,所以我认为当元素是分开的时候它是必要的.

知道如何才能实现这一目标吗?我对替代范式持开放态度.

这大致就是我的代码的布局方式.我还制作了一个带有单页测试用例plunker.

的index.html

<!doctype html>
<html>

<head>
  <script src="http://www.polymer-project.org/1.0/samples/components/webcomponentsjs/webcomponents-lite.js"></script>
  <link rel="import" href="http://www.polymer-project.org/1.0/samples/components/polymer/polymer.html">
  <link rel="import" href="behavior.html">
  <link rel="import" href="element1.html">
  <link rel="import" href="element2.html">
</head>

<body>
  <my-element></my-element>
  <another-element></another-element>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

要素1

<dom-module id="my-element">
  <template>
    <p>{{localize(label, kick)}}</p>
  </template>
</dom-module>

<script>
  Polymer({
    is: 'my-element',
    behaviors: [
      behavior
    ],
    properties: {
      label: {
        type: String,
        value: 'original'
      }
    }
  });
</script>
Run Code Online (Sandbox Code Playgroud)

要素2

<dom-module …
Run Code Online (Sandbox Code Playgroud)

javascript internationalization polymer polymer-1.0

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