我们在Play商店记录的崩溃报告中收到此错误.不能在我们所有的测试中复制这个.有没有其他人有同样的问题或解决方案?事实上,我们甚至不知道如何复制这个bug.
所有Parcelable对象都定义了CREATOR,writeToParcel()和contructor.所有列表和复杂类型都被初始化并进行空值检查.
java.lang.RuntimeException: Unable to start activity ComponentInfo{au.com.company/au.com.company.DetailsActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@42d6e270: Unmarshalling unknown type code 6881381 at offset 11268
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2247)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297)
at android.app.ActivityThread.access$700(ActivityThread.java:152)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5328)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@42d6e270: Unmarshalling unknown type code 6881381 at offset 11268
at android.os.Parcel.readValue(Parcel.java:2032)
at android.os.Parcel.readMapInternal(Parcel.java:2225)
at android.os.Bundle.unparcel(Bundle.java:223)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1240)
at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:861)
at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1104)
at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1086)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(SourceFile:1872)
at android.support.v4.app.FragmentActivity.onCreate(SourceFile:215) …Run Code Online (Sandbox Code Playgroud) 我通过npm安装了jquery(3.2.1)和jquery-ui-dist(1.12.1).(它们不包含在html中的脚本标记中)
在客户端脚本中我使用:
window.$ = require('jquery');// plain jQuery stuff works fine
import 'jquery-ui-dist'; // breaks whole jQuery, with Error (missing module 8)
Run Code Online (Sandbox Code Playgroud) 我正在努力创造public class MyClass<T extends Parcelable> implements Parcelable.我在实施方面遇到了麻烦Parcelable.是否可以创建一个实现的泛型类Parcelable?(注意这T是有限的,所以它也必须实现Parcelable).
我遇到的问题是Parcelable接口需要一个静态变量:public static final Parcelable.Creator<MyParcelable> CREATOR.因此,我不能做,public static final Parcelable.Creator<MyClass<T>> CREATOR因为MyParcelable<T>是非静态的.
安德烈
随着Kotlin RC的发布,我开始编写一个应用程序来学习它但是我无法弄清楚如何开始Parcelable工作.
数据类:
data class Project (val reponame:String,
val username:String,
val language:String,
val vcsUrl:String,
val branches:Map<String, Branch>) : Parcelable {
companion object {
val CREATOR = object : Parcelable.Creator<Project> {
override fun createFromParcel(`in`: Parcel): Project {
return Project(`in`)
}
override fun newArray(size: Int): Array<Project?> {
return arrayOfNulls(size)
}
}
}
protected constructor(parcelIn: Parcel) : this (
parcelIn.readString(),
parcelIn.readString(),
parcelIn.readString(),
parcelIn.readString(),
mapOf<String, Branch>().apply {
parcelIn.readMap(this, Branch::class.java.classLoader)
}
)
override fun describeContents(): Int {
throw UnsupportedOperationException()
}
override fun writeToParcel(dest: …Run Code Online (Sandbox Code Playgroud) 我有一个序列化的类,我想添加一个位图,但Bitmap不支持序列化.
相反,我认为我会使用包裹,但无法让它工作.
这是使用局部变量的一些测试代码:
Parcel parcel;
Bitmap sourceBitmap;
Bitmap destinationBitmap;
parcel = Parcel.obtain();
sourceBitmap = Bitmap.createBitmap(200, 400, Config.ARGB_8888);
sourceBitmap.writeToParcel(parcel, 0);
destinationBitmap = Bitmap.CREATOR.createFromParcel(parcel);
Run Code Online (Sandbox Code Playgroud)
我在上面的最后一行收到以下错误:
09-06 21:18:20.463: DEBUG/skia(17716): Bitmap_createFromParcel unknown config: 0
09-06 21:18:20.473: DEBUG/AndroidRuntime(17716): Shutting down VM
09-06 21:18:20.483: WARN/dalvikvm(17716): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
09-06 21:18:20.493: ERROR/AndroidRuntime(17716): Uncaught handler: thread main exiting due to uncaught exception
09-06 21:18:20.513: ERROR/AndroidRuntime(17716): java.lang.RuntimeException: Failed to unparcel Bitmap
09-06 21:18:20.513: ERROR/AndroidRuntime(17716): at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:899)
09-06 21:18:20.513: ERROR/AndroidRuntime(17716): at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:903)
Run Code Online (Sandbox Code Playgroud) 我一直在编写Parcelables而Parcel没有关注flags字段,这是方法签名中的一个参数,它工作正常,但我遇到了一个我不能再忽略它们的实现:
public static <K extends Parcelable, V extends Parcelable> void write(Parcel dest,
Map<K, V> map, int flags) {
if (map == null) {
dest.writeInt(-1);
} else {
Set<Map.Entry<K, V>> entrySet = map.entrySet();
dest.writeInt(entrySet.size());
for (Map.Entry<K, V> entry : entrySet) {
dest.writeParcelable(entry.getKey(), flags);
dest.writeParcelable(entry.getValue(), flags);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个Map 向/从 Parcelable程序我已经写了,我想知道如果标志应传递,因为它是两个关键还有价值,而写他们还是应该通过0 键和flags对值.
我阅读了文档中标志的定义:
PARCELABLE_WRITE_RETURN_VALUE
在API级别1中添加
Run Code Online (Sandbox Code Playgroud)int PARCELABLE_WRITE_RETURN_VALUE用于的标志
writeToParcel(Parcel, int):正在写入的对象是返回值,它是诸如"Parcelable someFunction()", …
我有一个动态加载的资源文件的文件夹,我想将其包含在我的包输出目录中。如何像.json, .jpeg, .txt, .etc我的parcel build命令一样包含未引用的静态资源文件?
到目前为止,我一直在使用Parcelable对象而没有问题,主要是因为他们的所有成员都是具有writeX()与之相关的方法的类型.例如,我这样做:
public String name;
private Foo(final Parcel in) {
name = in.readString(); }
public void writeToParcel(final Parcel dest, final int flags) {
dest.writeString(name); }
Run Code Online (Sandbox Code Playgroud)
但是现在,如果我有一个Bar成员,事情对我来说有点冒险:
public Bar bar;
private Foo(final Parcel in) {
bar = new Bar(); //or i could actually write some constructor for Bar, this is a demo.
bar.memberString = in.readString();
}
public void writeToParcel(final Parcel dest, final int flags) {
// What do I do here?
}
Run Code Online (Sandbox Code Playgroud)
我是以错误的方式接近这个吗?我应该怎样做我writeToParcel的包裹会员Bar …
我使用 Parcel 编译器建立了自己的打字稿项目,并让所有内容都在内置服务器上运行。我实现了 pixi.js 并希望将 .png 文件导入到我的 .ts 文件中。但是当我尝试导入时,它说找不到该模块,即使这两个文件位于同一文件夹中?我缺少什么?
我尝试执行以下操作
npm install @types/node --save-dev
Run Code Online (Sandbox Code Playgroud)
tsconfig.json(位于我的根文件夹中)
{
"compilerOptions": {
"types": ["node"],
"typeRoots": ["node_modules/@types"]
}
}
Run Code Online (Sandbox Code Playgroud) 每当我尝试运行生产构建命令npm run build或时npx parcel build index.html,我都会收到此错误。我有一个简单的 html 和 css 项目,没有反应,没有 3rd 方库为什么会发生这种情况?我尝试过 Parcel 版本 1.12.3、1.12.4 和 1.12.5。
这是错误:
/Users/user/Documents/HTML Apps/Project/index.html: tree.render is not a function
at /Users/user/Documents/HTML Apps/Project/node_modules/htmlnano/lib/modules/minifySvg.js:19:23
at /Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:91:45
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:105:26)
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:111:5)
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:105:17)
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:111:5)
at traverse (/Users/user/user/HTML Apps/Project/node_modules/posthtml/lib/api.js:105:17)
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:111:5)
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:105:17)
at traverse (/Users/user/Documents/HTML Apps/Project/node_modules/posthtml/lib/api.js:111:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Project@1.0.0 build: `parcel …Run Code Online (Sandbox Code Playgroud)