小编lf2*_*215的帖子

Android ProGuard:最具侵略性的优化

Android的官方proguard文档显示了两个主要的优化:

  • 设置minifyEnabledtrue
  • proguard-android-optimize.txt 而不是proguard-android.txt

这两个是最具侵略性的可能设置吗?

我正在编写一个android库,需要确保人们使用我的库时我的代码不会破坏.(我知道我可以在我的库中放置规则来对抗使用该库的应用程序上设置的proguard配置,但如果我不需要,我不想这样做.)

optimization android proguard

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

golang:将struct指针转换为interface {}

如果我有:

   type foo struct{
   }

   func bar(baz interface{}) {
   }
Run Code Online (Sandbox Code Playgroud)

以上是一成不变的 - 我无法改变foo或bar.另外,baz必须转换回bar内的foo结构指针.如何将&foo {}转换为接口{},以便在调用bar时将其用作参数?

struct pointers interface go

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

android搜索:自定义建议布局

我一直在与方向沿以下这里两个搜索查看和对话实现.两者都在下面可见.关于自定义搜索框的SO有很多问题,但很少有关于自定义建议UI的问题.(那些是关于颜色/字体,默认情况下对我来说很好.)我希望能够扩大建议占据屏幕的整个宽度.有没有办法使用对话框或SearchView实现自定义宽度.我不想使用库,除非这是唯一的选择.如果这是可能的或更容易,其中一个实现是好的.

这是对话框实现对我来说的样子: 在此输入图像描述

以下是SearchView实现对我来说的样子: 在此输入图像描述

search android android-layout search-suggestion

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

谷歌地图iOS SDK:用作标记的自定义图标

Android API有一个非常方便的类,IconGenerator.使用IconGenerator 我的Android应用程序,我可以轻松制作一个标记:

  1. 是一个简单的矩形,具有我选择的颜色.
  2. 调整大小以保存任何长度的文本.
  3. 不是一个信息窗口-我想标记本身包含如图所示从Android版本在下面的图片中的文本.

在此输入图像描述

// Android - problem solved with IconGenerator
IconGenerator iconGenerator = new IconGenerator(context);
iconGenerator.setStyle(IconGenerator.STYLE_GREEN); // or any other color
Bitmap iconBitmap = iconGenerator.makeIcon(myString);
Marker m = new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(iconBitmap))
                              .position(myLatLng);
map.addMarker(m); // map is a com.google.android.gms.maps.GoogleMap
Run Code Online (Sandbox Code Playgroud)

有没有办法在iOS中使用Swift做这么简单的事情?出现了近期发布 iOS的API,允许"标志定制"的,但我不明白如何将它应用到这个用例.

// iOS (Swift) - I don't know how to create the icon as in code above
let marker = GMSMarker(position: myLatLng)
marker.icon = // How can I set to …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-markers ios google-maps-sdk-ios swift

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

如何在重新获得连接时避免双重连接?

在这些情况下:

  1. 客户端失去了与zk的网络连接.
  2. 一分钟过去了.
  3. 客户端重新获得与zk的网络连接.

我有以下恐慌:

panic: close of closed channel

goroutine 2849 [running]:
github.com/samuel/go-zookeeper/zk.(*Conn).Close(0xc420795180)
  github.com/samuel/go-zookeeper/zk/conn.go:253 47
github.com/curator-go/curator.(*handleHolder).internalClose(0xc4203058f0, 0xc420302470, 0x0)
  github.com/curator-go/curator/state.go:136 +0x8d
github.com/curator-go/curator.(*handleHolder).closeAndReset(0xc4203058f0, 0xc42587cd00, 0x1e)
  github.com/curator-go/curator/state.go:122 +0x2f
github.com/curator-go/curator.(*connectionState).reset(0xc420302420, 0x1b71d87, 0xf)
  github.com/curator-go/curator/state.go:234 +0x55
github.com/curator-go/curator.(*connectionState).handleExpiredSession(0xc420302420)
  github.com/curator-go/curator/state.go:351 +0xd9
github.com/curator-go/curator.(*connectionState).checkState(0xc420302420, 0xffffff90, 0x0, 0x0, 0xc425ed2600, 0xed0e5250a)
  github.com/curator-go/curator/state.go:318 +0x9c
github.com/curator-go/curator.(*connectionState).process(0xc420302420, 0xc425ed2680)
  github.com/curator-go/curator/state.go:299 +0x16d
created by github.com/curator-go/curator.(*Watchers).Fire
  github.com/curator-go/curator/watcher.go:64 +0x96
Run Code Online (Sandbox Code Playgroud)

这是详细的事件序列:

  1. 客户端失去了与zk的网络连接.
  2. 一分钟过去了.
  3. 客户端重新获得与zk的网络连接.
  4. goroutine A调用s.ReregisterAll()- > Conn()- > checkTimeout()- > reset(bc已过去1分钟) - > closeAndReset()- > conn.Close() 可以阻止一秒钟
  5. goroutine B句柄zk.StateExpired(zk集群发送此bc它认为这个客户端已经死了,因为它在2期间没有ping.) - …

go apache-zookeeper apache-curator

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

android:允许创建targetActivity位于aar/sdk中的activity-alias

我正在写一个SDK,并希望开发人员能够创建activity-aliastargetActivity设置为活动我的SDK内.我这样做是因为我希望他们能够自定义SDK中特定活动的intent过滤器.如果在sdk的清单中有ActivityX,我希望他们能够activity-alias他们的应用程序清单中写出这样的内容:

<activity-alias
    android:name="abc"
    android:targetActivity="ActivityX">
    <intent-filter>
    ... user's custom intent filter
    </intent-filter>
</activity-alias>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它targetActivity有以下限制:

"...必须匹配清单中别名之前的活动元素的name属性 ."

这是一个问题,因为无论我将活动放在sdk的清单中的哪个地方,或者我将别名放在示例app的清单中,别名总是在最终合并清单中的活动之前导致INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误.

一个想法是在sdk清单中声明ActivityX之后放置一个没有intent过滤器的别名,并希望这两个别名将合并在一起并保持在sdk别名的位置.但我无法弄清楚如何做到这一点.可能不起作用的一个原因是两个别名可能无法冲突.

您是否有通过合并解决方案或其他技术解决此问题的想法?

merge sdk android alias aar

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

grafana:当一天中的值总和小于一周之前的总和的一半时发出警报

我有foo.bar一个每天多次递增(+1)的指标.度量标准在一天内递增的次数是x.我希望通过警告来检测是否存在严重错误,这是x在最近的整个24小时期间,x从7天前的同一个工作日开始,不到一半.

我可以使用什么警报?

alert grafana

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

根据place_id或其他位置数据获取google plus网址作为输入

解决方案不再正确 - 返回的网址现在始终是maps.google.com网址.有没有办法从地方ID或其他程序手段获取谷歌加网址?

  • 我可以使用价格昂贵的API.
  • 我可以使用其他位置信息作为输入,但更喜欢使用地方ID作为输入.

google-plus google-places-api

8
推荐指数
0
解决办法
193
查看次数

swift:以编程方式创建UILabel固定宽度,根据文本长度垂直调整大小

我已经看到了涉及自动布局的垂直大小调整的答案,但UILabel我正在创建的s仅在运行时需要.(我可能需要零到多个这些标签.)

示例(忽略颜色)

  1. 短文本(注意与较长文本相同的宽度):

在此输入图像描述

  1. 较长的文本(注意与较短的文本示例相同的宽度,并且有更多的行为add'l文本):

在此输入图像描述

如果文本可以适合固定宽度的一行,则标签不需要垂直调整大小.但是如果有更多字符,标签应该保持垂直扩展以适应这些附加字符.文本应该一行一行地包裹.文本应从标签的左上角开始.

更具体:

let marker = GMSMarker(position: myLatLng)
// see http://stackoverflow.com/a/40211383/1168364 for imageWithView
marker.icon = imageWithView(label) // **how do i create this label?**
marker.map = map // map is a GMSMapView
Run Code Online (Sandbox Code Playgroud)

这些标签可以在屏幕上的任何位置.这适用于地图应用程序,其中每个标签将放置在随机位置.标签的位置彼此没有关系.

uilabel autoresize ios swift

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

如何排除易于出错的单元测试?

maven-compiler-plugin:3.8.0:testCompile @ foo-child运行时,线程转储显示容易出错正在一个非常长的时间。我相信有一个容易出错的错误,但是现在我宁愿不要在单元测试上运行容易出错的错误。

我有一个父pom.xml:

<modules>
  <module>foo-child</module>
</modules>
<dependencyManagement>
  <dependency>
    <groupId>com.google.errorprone</groupId>
    <artifactId>error_prone_annotations</artifactId>
  </dependency>
  // also has dependency for io.norberg auto-matter and com.google.auto.value auto-value
</dependencyManagement>
<build>
  <plugins>
     <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        // also has annotationProcessorPaths configuration for auto-matter and auto-value
     </plugin>
  </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

有什么我可以放入foo-child pom.xml中的内容,它可以让我完全排除maven-compiler-plugin:3.8.0:testCompile @ foo-child在运行之外。

我不能完全排除容易出错的原因,因为番石榴之类的其他东西都取决于它。

编辑:好像这个用户正在尝试解决相同的问题。您知道如何将那里提供的解决方案应用于我的案件吗?

java maven-compiler-plugin errorprone

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