gpt4 book ai didi

Android studio 错误,通过添加 Log.d 修复?

转载 作者:行者123 更新时间:2023-11-29 02:39:33 26 4
gpt4 key购买 nike

我知道这听起来很疯狂而且我听起来很愚蠢,但我现在已经测试了 20 次而且我对此没有其他解释,也许我做错了什么或者我不知道。

好的,我正在创建一个小部件,它使用 Realm 数据库从中加载数据。我在应用程序级别声明了 Realm 默认配置:

public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Realm.init(this);
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder().build();
Realm.setDefaultConfiguration(realmConfiguration);
}
}

然后我在 MainActivity 中向 Realm 添加一些信息。我有运行 RemoteViewsService 的小部件提供程序以从 Realm 加载数据并将其放入 RemoteViewsFactory 中。这是 RemoteViewsService,其中有趣的部分是:

public class MyWidService extends RemoteViewsService {
@Override
public void onCreate() {
super.onCreate();
}

@Override
public MyWidFactory onGetViewFactory(Intent intent) {
Log.d("MyWidService", " onGetViewFactory()<<<<<<<<<<");
final Context context = getApplicationContext();
Realm.init(context);
Realm realm = Realm.getDefaultInstance();
realm.isAutoRefresh();
ArrayList<String> myList = new ArrayList<>();
RealmResults<Task> myResults = realm.where(Task.class).findAll();
final int myResLength = myResults.size();
Log.d("myResLength", " "+ myResLength);
for(int j = 0; j<myResLength; j++){
myList.add(myResults.get(j).getTaskText());
Log.d("tasks", " " + myList.get(j));
}
return new MyWidFactory(context, intent, myList);
}

}

所以你看到 Log.d("myResLength", ""+ myResLength); 了吗?我不知道为什么,但是小部件只是显示没有它就没有加载数据。更重要的是,如果没有 Log.d,Android Monitor 会显示编译器会跳过它之后的整个 for 循环。我不知道这是 Android 错误、Realm 错误还是我的无知,但这是数据加载到小部件上的唯一方式。现在这对我来说似乎是不可靠的选择,所以我需要一些解释。

最佳答案

按照@EpicPandaForce 的回答,我从服务中删除了 Realm.init() 并且它现在工作正常。谢谢!

关于Android studio 错误,通过添加 Log.d 修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45198603/

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