我是 mongoDB 的新手并且有一个免费的 Atlas 帐户。但是,我在 mongo 导入方面遇到了问题。
系统:窗户
>mongo --version
MongoDB shell version v4.2.0
git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
allocator: tcmalloc
modules: none
build environment:
distmod: 2012plus
distarch: x86_64
target_arch: x86_64
Run Code Online (Sandbox Code Playgroud)
mongoimport 字符串:
mongoimport --host Cluster0-shard-0/cluster0-shard-00-00-MY.mongodb.net:27017,cluster0-shard-00-01-MY.mongodb.net:27017,cluster0-shard-00-02-MY.mongodb.net:27017 --ssl --username MYUSER --password MYPASS --authenticationDatabase admin --db db --collection coll --type json --file D:\downloads\records.json
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
2019-09-28T15:40:33.108-0600 WARNING: ignoring unsupported URI parameter 'replicaset'
2019-09-28T15:40:33.933-0600 connected to: mongodb://cluster...
2019-09-28T15:40:34.076-0600 Failed: cannot decode array into a D
2019-09-28T15:40:34.076-0600 0 document(s) imported successfully. 0 document(s) failed to import.
Run Code Online (Sandbox Code Playgroud) 我正在使用数据绑定,我已经lateinit var为绑定声明了一个,当我要去不同的片段时,Leaky canary 显示了一个泄漏。
分段
class HomeFragment : BottomNavViewHostBaseFragment() {
private lateinit var viewModel: HomeViewModel
private lateinit var binding: FragmentHomeBinding
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
viewModel = ViewModelProviders.of(this).get(HomeViewModel::class.java)
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_home, container, false)
binding.lifecycleOwner = viewLifecycleOwner
binding.viewModel = viewModel
return binding.root
}
...
}
Run Code Online (Sandbox Code Playgroud)
这是来自 Leaky Carny 的信息
androidx.constraintlayout.widget.ConstraintLayout has leaked:
Toast$TN.mNextView
? LinearLayout.mContext
? MainActivity.navigationView
? NavigationView.listener
? BaseFragment$setNavigationDrawerItemSelectedListener$1.this$0 (anonymous implementation of com.google.android.material.navigation.NavigationView$OnNavigationItemSelectedListener) ? OrdersHostFragment.mFragmentManager
? FragmentManagerImpl.mActive
? HashMap.table
? array …Run Code Online (Sandbox Code Playgroud) 我正在使用SafeArgs插件,Navigation Architecture Component但应用程序崩溃了。
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.package.domain.models.Model"
Run Code Online (Sandbox Code Playgroud)
我minifyEnabled true在 Gradle 中使用。
另外,我有三个模块app、data和domain。所以,在proguard-rules我添加的所有三个文件中
-keepnames class com.package.domain.models.Model1
-keepnames class com.package.domain.types.ImageType
-keepnames class com.package.domain.models.Model
Run Code Online (Sandbox Code Playgroud)
我argType在导航图中使用了这三个类。
但该应用程序仍然崩溃。任何帮助,将不胜感激。
如果我正常运行该应用程序,该应用程序工作正常,但是当我尝试测试时,它显示错误,这是错误的完整日志。
internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 由:java.lang.IllegalArgumentException:此组件上的样式需要你的应用主题是 Theme.AppCompat(或一个后代)。在 com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:243) 在 com.google.android.material.internal.ThemeEnforcement.checkAppCompatTheme(ThemeEnforcement.java:213) 在 com.google.android.material .internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:148) 在 com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:76) 在 com.google.android.material.floatingactionbutton.FloatingActionButton.(FloatingActionButton. java:211) 在 com.google.android.material.floatingactionbutton。
这是我的 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="adapter"
type="com.medium.todoapp.adapters.ToDoListAdapter" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".HomeFragment">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:adapter="@{adapter}"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_todo" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
这是我的测试文件
@RunWith(AndroidJUnit4::class)
class HomeFragmentInstrumentedTest {
@Test
fun testRecyclerView() {
val homeScenario = launchInContainer(HomeFragment::class.java)
homeScenario.onFragment {
Assert.assertNotEquals(it.view?.findViewById(R.id.recyclerView), null)
}
}
@Test
fun testAddTodoButton() {
val …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 android 应用编写测试。其中有 1Activity和 2 fragments(即FragmentOne和FragmentTwo)通过单击FragmentOne它上的按钮转到FragmentTwo. 我写了同样的测试,我正在使用androidxand navigation architecture。我已阅读此链接和此链接,但没有成功。
这是我当前的代码-
示例仪器测试
@RunWith(JUnit4::class)
class ExampleInstrumentedTest {
@Test
fun checkSecondFrag() {
// Create a mock NavController
val mockNavController = mock(NavController::class.java)
// Create a graphical FragmentScenario for the OneFragment
val oneFragmentScenario = launchFragmentInContainer<OneFragment>()
// Set the NavController property on the fragment
oneFragmentScenario.onFragment { fragment ->
Navigation.setViewNavController(fragment.requireView(), mockNavController)
}
// Verify that performing a click prompts …Run Code Online (Sandbox Code Playgroud) android android-espresso android-architecture-components androidx
android ×4
android-architecture-components ×1
androidx ×1
kotlin ×1
mongodb ×1
mongoimport ×1
proguard ×1
windows ×1