我有一个具有小部件预览图像的应用程序.我最近在应用程序上更新了这个图像,但在具有Android的Lollipop(5.0)版本的设备中,窗口小部件的预览图像显示旧图像(我替换的图像).没有棒棒糖的设备也不会出现同样的情况.
我将资源文件夹上下颠倒搜索旧图像,但它在所有地方都正确更新(实际上,它只在一个文件夹中,因为我只有一个预览图像).
只是为了提供更多信息,我使用的是Android Studio 1.0-rc1,这个问题只发生在运行棒棒糖(5.0)的Nexus 4上.我在Lollipop的一些模拟器中测试过,同样的事情发生了.
重要的是要强调,如果我从未安装任何以前版本的应用程序(使用旧的小部件预览图像),当我安装新版本时,预览图像看起来是正确的.
有人有同样的问题,或知道如何解决这个问题?谢谢.
当使用最新版本的兼容性lib(即compat-lib的v18,与4.3 Android版本一起发布)并使用操作栏中的列表导航菜单模式时,我将遇到Nullpointer异常.该错误发生在2.3.3版本的android中.我相信这是因为在这个版本(以及其他版本)中,使用的整个操作栏代码是compat-lib代码.
当我点击列表菜单(在操作栏上)时,我的应用程序崩溃,我在logcat收到以下错误:
07-30 18:17:59.296: E/AndroidRuntime(14701): FATAL EXCEPTION: main
07-30 18:17:59.296: E/AndroidRuntime(14701): java.lang.NullPointerException
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.support.v7.internal.widget.ListPopupWindow$DropDownListView.measureHeightOfChildrenCompat(ListPopupWindow.java:1317)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.support.v7.internal.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1062)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.support.v7.internal.widget.ListPopupWindow.show(ListPopupWindow.java:514)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.support.v7.internal.widget.SpinnerICS$DropdownPopup.show(SpinnerICS.java:758)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.support.v7.internal.widget.SpinnerICS.performClick(SpinnerICS.java:443)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.view.View$PerformClick.run(View.java:9109)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.os.Handler.handleCallback(Handler.java:587)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.os.Handler.dispatchMessage(Handler.java:92)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.os.Looper.loop(Looper.java:130)
07-30 18:17:59.296: E/AndroidRuntime(14701): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-30 18:17:59.296: E/AndroidRuntime(14701): at java.lang.reflect.Method.invokeNative(Native Method)
07-30 18:17:59.296: E/AndroidRuntime(14701): at java.lang.reflect.Method.invoke(Method.java:507)
07-30 18:17:59.296: E/AndroidRuntime(14701): at …Run Code Online (Sandbox Code Playgroud) android android-actionbar android-support-library android-actionbar-compat
当我尝试访问原始资源时收到android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060000错误.
该资源是.bks证书,用于服务器验证.它存储在res/raw文件夹中.
最尴尬的是,当我将证书(和验证架构)复制到一个新项目(我为了测试它而构建)时,它起作用了!
我正在使用nenick的自定义运行器,因此Robolectric可以正确找到清单,资源和资产的文件夹.当我转到intermediates/res/debug文件夹时,所有资源都在那里.我没有项目中的风味(项目曾经有过,我删除了它们.也许这就是问题?)
我正在使用com.android.tools.build:gradle:1.2.2.buildToolsVersion '22.0.1'.我对该项目有很多依赖:(
另外,我正在使用testCompile 'org.robolectric:robolectric:3.0-rc2'和testCompile 'org.robolectric:shadows-support-v4:3.0-rc2'
堆栈跟踪:
android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060000
at org.robolectric.shadows.ShadowResources.getResName(ShadowResources.java:346)
at org.robolectric.shadows.ShadowResources.openRawResource(ShadowResources.java:385)
at android.content.res.Resources.openRawResource(Resources.java)
at com.xxx.xxx.xxx.ssl.CertificateHelper.loadKeyStoreFromRaw(CertificateHelper.java:145)
at com.xxx.xxx.xxx.xxx.XXX.createSSLSocketFactory(XXX.java:432)
at com.xxx.xxx.xxx.xxx.xxx.XXX.<init>(XXX.java:92)
at com.xxx.xxx.xxx.xxx.xxx.XXX.initiate(XXX.java:73)
at com.xxx.xxx.xxx.MainApplication.onCreate(MainApplication.java:60)
at org.robolectric.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:131)
at org.robolectric.RobolectricTestRunner.setUpApplicationState(RobolectricTestRunner.java:431)
at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:224)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:168)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Rails 5 中构建一个仅 api 的应用程序。我正在使用活动模型序列化器(AMS)。在我的GET /users(UsersController#index) 端点上,我希望根 json 在用户的 json 数组之前有一个“users”关键字。
如果我设置一个带有ActiveModelSerializers.config.adapter = :json
值的初始值设定项,那么我将获得所需的行为。
但是, GET /users/1简单的用户 json 位于 key 下user。我想摆脱这个键(在本例中)并简单地将用户 json 回答为根 json。
问题是:如何在特定端点/响应/方法上定义 AMS 适配器?那可能吗?