将 Mac 更新为 Big Sur 后出现问题11.0.1
。
所有插页式对话框窗口、设备管理器、首选项、SDK 选项等都不会在全屏模式下作为插页式/对话框打开,而是作为应用程序内的选项卡打开。然后,Android Studio 冻结并且没有响应。
即:提交更改窗口
任何想法如何解决它?谢谢!
macOS Big Sur11.0.1
更新后,Android 模拟器开始显示图像渲染问题。
模拟器显示窗口正在重复设备图像。Android 的 IssueTracker 中记录了一个问题。
状况
安卓工作室
模拟器
如果需要与特定的API /硬件组件进行交互,您如何将信息从Flutter传回Android/Native代码?
是否有任何事件频道可以通过其他方式发送信息或类似于回调?
为什么在 Fragment 中实现Android 视图绑定时清除 in 很重要binding
?onDestroyView
如文档所示,在片段中使用视图绑定,以及 Android 架构组件示例,binding
在 中启动onCreateView
,并在 中清除onDestroyView
。
binding
与在不清除的情况下启动相比,实施此操作有什么好处onDestroyView
?如果没有显式清除实例变量binding
,则应在 Fragment 销毁时将其清除。
private var _binding: ResultProfileBinding? = null
// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = ResultProfileBinding.inflate(inflater, container, false)
val view = binding.root
return view …
Run Code Online (Sandbox Code Playgroud) android android-layout android-lifecycle kotlin android-viewbinding
我收到运行时错误当在Espresso测试中运行的行滚动到RecyclerView列表中的某个元素时,UsageTracker.java中没有接口方法trackUsage():
onView(withId(R.id.recyclerView)).perform(scrollTo(hasDescendant(withText(text))));
Run Code Online (Sandbox Code Playgroud)
我正在使用RecyclerViewActions作为scrollTo()方法.
以下是我当前的配置和gradle依赖项:
另外,对于每个androidTestCompile,我使用以下排除:
完整的错误消息:没有接口方法trackUsage(Ljava/lang/String;)类Landroid/support/test/internal/runner/tracker/UsageTracker中的V; 或其超级类('android.support.test.internal.runner.tracker.UsageTracker'的声明出现在/data/app/adamhurwitz.github.io.doordashlite.test-2/base.apk)
摘要:导航到新片段,弹出新片段并返回到原始片段后,片段中会触发多个LiveData 观察器.
详细信息:该体系结构由MainActivity组成,MainActivity将HomeFragment作为MainActivity 导航图中的起始目标.HomeFragment中是一个以编程方式夸大的PriceGraphFragment.该HomeFragment使用导航组件,推出一个新的子片段ProfileFragment.在背面按下,弹出ProfileFragment,应用程序返回到托管PriceGraphFragment的HomeFragment.PriceGraphFragment是多次调用Observer的地方.
我正在记录Observer发出的HashMap的哈希码,当我转到配置文件片段时,它会显示2个唯一的哈希码,弹出配置文件Fragment,然后返回价格片段.当我在不启动配置文件Fragment的情况下旋转屏幕时,这与从HashMap看到的一个哈希码相反.
导航组件在HomeFragment中启动新的ProfileFragment.
view.setOnClickListener(Navigation.createNavigateOnClickListener(
R.id.action_homeFragment_to_profileFragment, null))
在Fragment中创建ViewModel(PriceGraphFragment).已记录ViewModel,并且具有多个Observers的数据仅在ViewModel中初始化一次数据.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
priceViewModel = ViewModelProviders.of(this).get(PriceDataViewModel::class.java)
}
从原始Fragment(PriceGraphFragment)中的ViewModel中侦听数据.这被多次调用,但是只有在加载Fragment时才会有一个Observer.
priceViewModel.graphLiveData.observe(
this, Observer { priceGraphDataMap: HashMap<Exchange, PriceGraphLiveData>? ->
// This is being called multiple times.
})
priceViewModel = ViewModelProviders.of(this).get(PriceDataViewModel::class.java)
使用Fragment的活动和子Fragment的父Fragment创建ViewModel.
priceViewModel = ViewModelProviders.of(activity!!).get(PriceDataViewModel::class.java)
priceViewModel = ViewModelProviders.of(parentFragment!!).get(PriceDataViewModel::class.java) …
android android-fragments kotlin android-navigation android-livedata
假设我有一个对象
class Person {
String firstName;
String lastName;
... other fields...
}
Run Code Online (Sandbox Code Playgroud)
和一个包含
@Entity
class DatabaseTable {
String firstName;
String lastName;
... other unrelated fields from person...
}
Run Code Online (Sandbox Code Playgroud)
现在在我的道中,我有
@Query("SELECT * FROM DatabaseTable WHERE " +
" firstName = :firstName AND lastName = :lastName")
List<DatabaseTable> getAll(String firstName, String lastName);
Run Code Online (Sandbox Code Playgroud)
我有要从中查询 DatabaseTable 的列表。
Person("Apple", "Kohn", ...)
Person("Benny", "Lorie", ...)
Person("Cindy", "May", ...)
...
Run Code Online (Sandbox Code Playgroud)
我将如何有效地提取数据库表?为我列表中的每个 Person 调用 dao 似乎不正确。
编辑:
我想知道如何使用单个查询来检索结果列表。
我知道在后台 Room 使用 ContentValue 循环遍历实体列表。有没有办法让我们创建自己的 contentValue 来传递给 Room?
像下面这样的事情可能吗?
getAllWithPairs( List<String> …
Run Code Online (Sandbox Code Playgroud) 我在使用时遇到问题,ViewModel
而且LiveData
我是使用ViewModel和LiveData arch组件的新手,并且在使用fragments
和旋转屏幕时出现问题,观察者会被触发...我试图移动
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
在所有片段生命周期方法中但没有成功.
我的场景非常简单:
login(email, password)
并设置LiveData对象的值在这一点上一切都好.但是当我旋转屏幕时,Toast再次出现而没有任何用户交互.
我是否必须在onDestroyView()中执行某些操作?
提前致谢!
android android-livedata android-viewmodel android-architecture-components
初始化 Kotlin Coroutine Flow 并在 Flow 创建后修改其值。
所需的功能类似于 MutableLiveData 的功能setValue
,它允许将数据添加到现有的 MutableLiveData 对象。在下面的示例中setValue
,调用FeedViewModel.kt中的_feed
MutableLiveData 值以更新该值。
这按预期工作,发出FeedFragment.kt 中的值
FeedViewState.kt
data class _FeedViewState(
val _feed: MutableLiveData<List<Tweet>> = MutableLiveData()
)
data class FeedViewState(private val _feedViewState: _FeedViewState) {
val feed: LiveData<List<Tweet>> = _feedViewState._feed
}
Run Code Online (Sandbox Code Playgroud)
FeedViewModel.kt
class FeedViewModel(...) : ViewModel() {
private val _feedViewState = _FeedViewState()
val feedViewState = FeedViewState(_feedViewState)
init {
viewModelScope.launch(Dispatchers.IO) {
feedRepository.getFeed().collect { results ->
when (results.status) {
LOADING -> ...
SUCCESS -> …
Run Code Online (Sandbox Code Playgroud) 使用Stetho的一切都在我的示例应用程序中运行得很好,我在浏览了这个YouTube教程(SQLite,SharedPreferences show)之后进行了测试,除了看到我喜欢的网络调用.
我在加载应用程序时进行了大量的API调用.例如,在我的Service.java类中,如下面的链接所示.也许它没有出现在Stetho中,因为API调用在应用程序加载之前发生,然后才能打开Stetho.任何想法都将得到赞赏,以使此功能正常工作.
我在MainActivity.java中初始化Stetho.在onCreate()我有
// Initialize Stetho
Stetho.initialize(
Stetho.newInitializerBuilder(this)
.enableDumpapp(new SampleDumperPluginsProvider(this))
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
.build());
Run Code Online (Sandbox Code Playgroud)
然后我还在底部加入了一个Stetho Class.
// Create class for Stetho
private static class SampleDumperPluginsProvider implements DumperPluginsProvider {
private final Context mContext;
public SampleDumperPluginsProvider(Context context){mContext = context;}
@Override
public Iterable<DumperPlugin> get() {
ArrayList<DumperPlugin> plugins = new ArrayList<>();
for (DumperPlugin defaultPlugin : Stetho.defaultDumperPluginsProvider(mContext).get()) {
plugins.add(defaultPlugin);
}
//plugins.add(new SyncAdapterFragment());
return plugins;
}
}
Run Code Online (Sandbox Code Playgroud)
当然,我也有适当的依赖
compile 'com.facebook.stetho:stetho:1.3.0'
Run Code Online (Sandbox Code Playgroud)
谢谢!
android ×10
kotlin ×4
android-architecture-components ×1
android-room ×1
dart ×1
flutter ×1
ios ×1
java ×1
junit ×1
macos ×1
sql ×1
sqlite ×1
stetho ×1
unit-testing ×1