gpt4 book ai didi

java - 重构后更改内容提供程序包

转载 作者:行者123 更新时间:2023-11-30 03:38:52 25 4
gpt4 key购买 nike

我从去年的 Google IO 中派生了 IOSchedule 应用程序。我想确保我可以获得一个 API key ,这意味着我需要签署应用程序并且它与内容提供商没有冲突,这意味着我需要重构。但是,每次我尝试使用 Android 工具 > 重构包名称时,我都会遇到问题,即修改内容提供者。

这是内容提供者的标签:

<provider
android:name="com.google.android.apps.iosched.provider.ScheduleProvider"
android:authorities="com.google.android.apps.iosched"
android:label="@string/app_name"
android:syncable="true"
android:writePermission="com.google.android.apps.iosched.permission.WRITE_SCHEDULE" />

我一直在尝试将其更改为以下内容:

<provider
android:name="com.google.android.apps.iosched.provider.ScheduleProvider"
android:authorities="org.mrkaiser.android.apps.iosched"
android:label="@string/app_name"
android:syncable="true"
android:writePermission="com.google.android.apps.iosched.permission.WRITE_SCHEDULE" />

但是在运行时出现以下错误:

04-22 21:29:13.818: E/AndroidRuntime(12329): java.lang.NullPointerException04-22 21:29:13.818: E/AndroidRuntime(12329): 在 com.google.android.apps.iosched.ui.MyScheduleFragment.onLoadFinished(MyScheduleFragment.java:175)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 com.google.android.apps.iosched.ui.MyScheduleFragment.onLoadFinished(MyScheduleFragment.java:1)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:424)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:392)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.Loader.deliverResult(Loader.java:103)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:81)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:35)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:221)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:61)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:461)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.ModernAsyncTask.access$500(ModernAsyncTask.java:47)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:474)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.os.Handler.dispatchMessage(Handler.java:99)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.os.Looper.loop(Looper.java:137)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 android.app.ActivityThread.main(ActivityThread.java:5226)04-22 21:29:13.818: E/AndroidRuntime(12329): at java.lang.reflect.Method.invokeNative(Native Method)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 java.lang.reflect.Method.invoke(Method.java:511)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)04-22 21:29:13.818: E/AndroidRuntime(12329): 在 dalvik.system.NativeStart.main(Native Method)

我不确定我做错了什么。如果我尝试重构包,R 会与一些 xml 文件不同步,我无法恢复。

最佳答案

所以我真的想通了。项目中的 ScheduleContract 声明了内容权限。如果它没有指向正确的包,它将找不到它。

关于java - 重构后更改内容提供程序包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16159511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com