小编PLN*_*ech的帖子

如何获取Activity的内容视图?

我应该调用什么方法来了解一个Activity是否有contentView(一旦调用了setContentView()方法)?

android

276
推荐指数
5
解决办法
23万
查看次数

在C中,为什么有些人在释放之前会抛出指针?

我正在研究一个旧的代码库,几乎每次调用free()都会在其参数上使用强制转换.例如,

free((float *)velocity);
free((float *)acceleration);
free((char *)label);
Run Code Online (Sandbox Code Playgroud)

其中每个指针都是相应的(和匹配的)类型.我完全没有理由这样做.这是非常古老的代码,所以我想知道它是否是K&R的东西.如果是这样,我实际上希望支持可能需要这个的旧编译器,所以我不想删除它们.

使用这些演员阵容有技术原因吗?我甚至没有看到使用它们的实用理由.在释放数据类型之前提醒自己有什么意义?

编辑:这个问题不是另一个问题的重复.另一个问题是这个问题的一个特例,如果亲密的选民能够阅读所有的答案,我认为这是显而易见的.

Colophon:我给出了"常量答案"的核对标记,因为这可能是为什么需要这样做的真正原因; 然而,关于它是一个ANSI C之前的习惯(至少在一些程序员中)的答案似乎是它在我的情况下使用的原因.很多人在这里有很多好处.感谢您的贡献.

c pointers casting

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

Kotlin自定义属性数据绑定

我试图 在我的Kotlin项目中使用Android DataBinding库设置自定义属性,如下所示:

布局

<ImageView
    android:id="@+id/imgView”
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_gravity="center"
    android:adjustViewBounds="true"
    app:imageUrl="@{segment.url}"/>
Run Code Online (Sandbox Code Playgroud)

  class Utils {
        companion object {
            @BindingAdapter("bind:imageUrl")
            @JvmStatic
            fun loadImage(view: ImageView, url:String) 
            {Picasso.with(view.context).load(url).error(R.drawable.error).into(view)}
    }       
Run Code Online (Sandbox Code Playgroud)

我得到的运行时错误是:

in中的BindingAdapter不是静态的,需要使用从DataBindingComponent检索的对象.如果不使用带有DataBindingComponent的通胀方法,请使用DataBindingUtil.setDefaultComponent或使所有BindingAdapter方法保持静态.

任何解决它的指针?

这仅适用于自定义属性.其余的数据绑定工作正常

kotlin android-databinding

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

Android Studio:您必须指定Genymotion文件夹的路径才能使用此功能

我已经通过Android Studio中的插件向导下载并安装了Genymotion模拟器插件.我在Windows机器上运行Android Studio .

我收到警告说我必须提供Genymotion文件夹的路径:

警告

这个文件夹在哪里?我似乎无法在我的Android Studio安装文件夹中找到它.

android android-studio genymotion

48
推荐指数
1
解决办法
7万
查看次数

我可以在PowerMock的单元测试中使用Cobertura吗?

问题

我正在为Android库设置单元测试代码覆盖率,该库使用 Robolectric运行测试,PowerMock/Mockito用于模拟测试.

但是,使用Cobertura运行单元测试会导致以下异常...

:example:testDebugUnitTest
Exception in thread "Thread-5" java.lang.ExceptionInInitializerError
    at com.example.package.saas.Query$RemoveWordsType.__cobertura_init(Query.java)
    at com.example.package.saas.Query$RemoveWordsType.<clinit>(Query.java)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesToSingleClassOnProjectData(TouchCollector.java:123)
    at net.sourceforge.cobertura.coveragedata.TouchCollector.applyTouchesOnProjectData(TouchCollector.java:110)
    at net.sourceforge.cobertura.coveragedata.ProjectData.saveGlobalProjectData(ProjectData.java:272)
    at net.sourceforge.cobertura.coveragedata.SaveTimer.run(SaveTimer.java:33)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Shutdown in progress
    at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:66)
    at java.lang.Runtime.addShutdownHook(Runtime.java:211)
    at net.sourceforge.cobertura.coveragedata.ProjectData.initialize(ProjectData.java:239)
    at net.sourceforge.cobertura.coveragedata.ProjectData.getGlobalProjectData(ProjectData.java:209)
    at net.sourceforge.cobertura.coveragedata.TouchCollector.<clinit>(TouchCollector.java:45)
    ... 11 more
Run Code Online (Sandbox Code Playgroud)

......并且生成的Cobertura报告根本没有显示任何报道. Cobertura向PowerMock报告


在没有PowerMock*的情况下运行相同的测试用例,测试运行正常并且成功生成覆盖率报告: Cobertura报告没有PowerMock

*即使用PowerMock评论测试,删除PowerMockIgnore注释,调用PowerMockRuleMockitoAnnotations.initMocks(this);调用.


调查

android unit-testing cobertura powermock robolectric

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

使用HttpClient进行HTTP连接池

  • 如何使用HttpClient创建连接池?
  • 我必须经常连接到同一台服务器.是否值得创建这样的游泳池?
  • 是否可以保持实时连接并将其用于各种请求,如果是,我该怎么办?

我正在使用Apache HTTP Client开发Java .

java httpclient pooling httpconnection

26
推荐指数
5
解决办法
7万
查看次数

iccp:无法识别已编辑的已知sRGB配置文件

我的Xamarin跨平台PCL项目中出现以下警告:

iccp:无法识别已编辑的已知sRGB配置文件

我该怎么办 ?

android cross-platform srgb xamarin

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

在Python中使用pickle.dump

我正在尝试学习如何pickle在Python中使用该模块:

import pickle
x = 123
f = open('data.txt','w')
pickle.dump(x,f)
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

Traceback (most recent call last):
  File "D:\python\test.py", line 5, in <module>
    pickle.dump(x,f)
TypeError: must be str, not bytes
Run Code Online (Sandbox Code Playgroud)

但是,这段代码工作得很好:

import pickle
dump = pickle.dump(123)
print(dump)
Run Code Online (Sandbox Code Playgroud)


我究竟做错了什么?

python serialization pickle python-3.2

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

gradle属性是"实验性的和不受支持的"是什么意思?

有几次,为了解决问题或更新依赖项,我必须启用给定的gradle选项设置.

  • 例如,Robolectric 4.0迁移指南指出:

    把它放在你的gradle.properties中:

    android.enableUnitTestBinaryResources=true

  • 同样,为了调试数据绑定编译错误,我遵循Gradle的构建日志中打印的建议:

    Gradle可能会禁用渐进式编译[...].
    考虑android.enableSeparateAnnotationProcessing=true在gradle.properties文件中设置实验性功能标志,以在单独的任务中运行注释处理并进行增量编译.


从这两个例子中,我得知作者(Robolectric/gradle维护者)确信启用此选项将对每种情况产生积极影响.
但是,在这两种情况下,我都会在构建输出中收到此警告:

警告:选项设置'android.enableUnitTestBinaryResources = true'是实验性的,不受支持.当前默认值为"false".

警告:选项设置'android.enableSeparateAnnotationProcessing = true'是实验性的,不受支持.当前默认值为"false".

gradle.properties几个月以来我的旗帜已经存在了android.databinding.enableV2=true.为了看看它是如何处理的,我试着把它放到false,它带来了相同的The option setting 'android.databinding.enableV2=false' is experimental and unsupported.警告(这似乎表明unsupported设置被忽略).

  • 我知道这些是实验性功能标志.但是不支持呢?这是否意味着如果出现任何问题我不应该期待支持,或者这是否意味着他们会被忽略

  • 如果这意味着它们被忽略了,那么这些属性是如何被使用的呢?

android gradle android-databinding gradle-properties

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

MaxWidth和MaxHeight在ImageView中不起作用

我使用的是ImageViewAndroid中,我初步确定layout_height,并layout_widthwrap_content以及设置maxHeightmaxWidth属性.

这就是我的布局中的样子:

<ImageView
    android:id="@+id/profileImageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxWidth="226dp"
    android:maxHeight="174dp"
    android:background="@drawable/photo" />
Run Code Online (Sandbox Code Playgroud)

但是当我从画廊中挑选一张照片时,它覆盖了我的整个屏幕,忽略了maxWidthmaxHeight.我该如何解决这个问题?

android

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