Non-static method 'open(com.oplus.tbl.exoplayer2.upstream.DataSpec)' cannot be referenced from a static context
时间: 2024-01-09 22:19:49 浏览: 133
这个错误提示是Java编译器给出的错误信息,意思是在静态上下文中无法引用非静态方法。在Java中,静态方法和非静态方法的区别在于静态方法是属于类的,而非静态方法是属于对象的。因此,在静态方法中无法直接调用非静态方法,需要先创建一个对象,然后通过对象来调用非静态方法。如果你想要在静态方法中调用非静态方法,可以先创建一个对象,然后通过对象来调用非静态方法。
相关问题
package com.oplus.utrace.sdk import android.annotation.SuppressLint import android.content.Context @SuppressLint("StaticFieldLeak") object UTraceApp { internal lateinit var mContext: Context private lateinit var mPkgName: String fun init(context: Context){ this.mContext = context this.mPkgName = context.packageName } fun getPkgName() = if (this::mPkgName.isInitialized) mPkgName else "" /** * 设置自定义log */ fun setLogger(logger: IULogger?, keepLogcat: Boolean = true) { ULog.mLogger = logger ULog.mKeepLogcat = keepLogcat } }如何进行代码保留全部代码
如果你想在混淆时保留 `UTraceApp` 类的所有代码,你可以在 proguard-rules.pro 文件中添加以下代码:
```
-keep class com.oplus.utrace.sdk.UTraceApp {
*;
}
```
其中,`*` 表示保留该类的所有成员和方法。
完整的 proguard-rules.pro 文件示例如下:
```
# 保留 UTraceApp 类的所有代码
-keep class com.oplus.utrace.sdk.UTraceApp {
*;
}
# 其他混淆规则
```
这样就可以保留 `UTraceApp` 类的所有代码了。注意,在添加混淆规则时,一定要注意不要将必要的类或方法给混淆掉,否则会导致程序出现各种奇怪的问题。
content://com.oplus.pantanal.ums.card.FileProvider/overview/268451700_6/images/logo.png setImageURI 怎么显示
使用setImageURI方法来显示该图片,例如:
ImageView imageView = findViewById(R.id.imageView);
Uri uri = Uri.parse("content://com.oplus.pantanal.ums.card.FileProvider/overview/268451700_6/images/logo.png");
imageView.setImageURI(uri);
阅读全文