小编Tom*_*per的帖子

如何从Google地方解析地址GeoDataApi for Android,(缺少address_components)

我们使用类似于示例应用中的Google Places API预测.在选择结果时,我们使用以下方法获取预测位置的详细信息:

Places.GeoDataApi.getPlaceById(mGoogleApiClient, placeId);
Run Code Online (Sandbox Code Playgroud)

这很好用,我的问题是结果只包含一个String作为地址.

使用JS版本的API时,结果包含:

"address_components" : [
     {
        "long_name" : "522",
        "short_name" : "522",
        "types" : [ "street_number" ]
     },
     {
        "long_name" : "Overtoom",
        "short_name" : "Overtoom",
        "types" : [ "route" ]
     },
     {
        "long_name" : "Amsterdam-West",
        "short_name" : "Amsterdam-West",
        "types" : [ "sublocality_level_1", "sublocality", "political" ]
     },
     {
        "long_name" : "Amsterdam",
        "short_name" : "Amsterdam",
        "types" : [ "locality", "political" ]
     },
     {
        "long_name" : "Amsterdam",
        "short_name" : "Amsterdam",
        "types" : [ "administrative_area_level_2", "political" ] …
Run Code Online (Sandbox Code Playgroud)

android google-places-api

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

在ScrollView内部更新子视图的高度(没有滚动的UITableView)后,UIStackView不会更新

如何在stackView位于scrollview中时UIStackView重新分配它的sub UITableViews

我的布局层次结构基于Apple关于StackViews动态内容的官方文档

 - UISCrollView
   - UIStackView
     - UIView A
     - UIView B
     - UIView C
     - UITableView X
     - UITableView Y
     - UIView D
Run Code Online (Sandbox Code Playgroud)

约束按文档设置.StackView的初始布局是正确的,显示所有可见的子视图.当强制常规视图扩展到屏幕高度以外时,滚动按预期工作.此外,在故事板中查看布局时,所有内容都按预期堆叠.
此时UITableViews是空的.一旦我向tableView添加内容,就会出现问题.

问题
当我通过调用.reloadData()它们来动态更新TableView时,我看到它们的内容出现了.(感谢关于非滚动tableViews的这个答案)但是UIStackView没有堆叠UITableViews.

  • UIView D 堆放在下面 UIView C
  • UITableView X并且UITableView Y还堆放在下面UIView B

我的猜测是我需要使stackview无效,或以某种方式让它重新分配它的子视图.我怎样才能做到这一点?

在此输入图像描述

uitableview ios swift2 uistackview

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

如何在swift ios中将常规字符串占位符添加到翻译的复数.stringdict

我想在 swift for iOS 中使用复数 stringdict 翻译这个字符串

  • 停留在 %1$@
  • 留在 %1$@

由于这个问题,使用没有占位符的简单复数有效 但是当我添加一个字符串占位符时,我在访问它时崩溃了。

规则复数正在使用下面的XML:

<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@format@</string>
<key>format</key>
<dict>
    <key>NSStringFormatSpecTypeKey</key>
    <string>NSStringPluralRuleType</string>
    <key>NSStringFormatValueTypeKey</key>
    <string>li</string>
    <key>one</key>
    <string>Sleeps at your place</string>
    <key>other</key>
    <string>Sleep at your place</string>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)

并使用这个 swift 代码来引用上面没有字符串占位符的复数:

 let format = NSLocalizedString("key_to_plural_above", comment: "")
 let label = String.localizedStringWithFormat(format, kidsIds.count)
Run Code Online (Sandbox Code Playgroud)

问题是当我向翻译添加字符串占位符时,当我尝试阅读它时会崩溃。下面的 xml 是由翻译工具 ( lokalise )生成的,所以我认为它是正确的。

<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@format@</string>
<key>format</key>
<dict>
    <key>NSStringFormatSpecTypeKey</key>
    <string>NSStringPluralRuleType</string>
    <key>NSStringFormatValueTypeKey</key>
    <string>li</string>
    <key>one</key>
    <string>Sleeps at %1$@</string>
    <key>other</key>
    <string>Sleep at %1$@</string> …
Run Code Online (Sandbox Code Playgroud)

translation plural ios swift

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

android.media.Ringtone.play() 在播放 28 次后停止工作

我有一个开放数小时的应用程序,并使用附加了前台通知的后台服务。每隔一段时间播放一次声音使用:

try {
    Ringtone r = RingtoneManager.getRingtone(context, uri);
    r.play();
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

声音正在工作,但过了一会儿,声音不再播放了。
没有错误,没有警告,没有崩溃。就是没有声音。

我的用户也在抱怨,所以它看起来不像是特定于设备的问题。

Android Docs没有提及任何关于此的内容。有谁知道这是为什么?

android ringtone ringtonemanager

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

如何有效地检测客户端是否脱机服务器端

对于我的Android应用程序,我正在寻找一种检测客户端连接状态的优雅方式.服务器需要知道客户端是在线还是离线.

我读过这个答案,

...服务器应该在一段时间间隔后发送ping到设备,设备应该回复.如果设备未回复,则表示用户处于离线状态...

但我觉得持续的ping是蹩脚的,而且客户端和服务器端的资源都相当沉重.是否有更优雅,最好是事件驱动的方法来检测客户端是否处于脱机状态?

虽然我的情况适用于Android中的Android和Google App Engine,但我计划扩展到Web和ios客户端,因此首选依赖解决方案的平台.

更新: 同样的答案也提到套接字连接:

...基本上你需要创建与服务器的套接字连接并交换ping

据我所知,与服务器保持套接字连接总是适合多人游戏,但它是否适合永远开启,但只是偶尔发送/接收服务等数据?

google-app-engine android offline server-side server

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