构建项目时收到以下警告
DSL element 'android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding'.
Run Code Online (Sandbox Code Playgroud)
我在用 Android Studio Canary 6
我有如下屏幕,其中在同一屏幕上包含导航抽屉和底部导航:
我正在使用 Jetpack 导航架构组件。
当前问题和我尝试了什么?
单击第二个和第三个底部导航项会在工具栏上显示后退箭头吗?
尝试过:将与第二和第三底部导航相关的片段设置为顶级目的地
appBarConfig = AppBarConfiguration(setOf(R.layout.fragment_star, R.layout.fragment_stats, R.layout.fragment_user))
Run Code Online (Sandbox Code Playgroud)
代替
appBarConfig = AppBarConfiguration(navController.graph, drawerLayout)
Run Code Online (Sandbox Code Playgroud)
没有工作。
任何帮助高度赞赏!
我的代码如下所示。
活动_main.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">
<androidx.drawerlayout.widget.DrawerLayout
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<fragment
android:id="@+id/navHostFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?android:attr/windowBackground"
app:menu="@menu/menu_bottom" />
</LinearLayout>
<!-- gives navDrawer material look-->
<com.google.android.material.navigation.NavigationView
android:id="@+id/navView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/nav_drawer_menu"
app:headerLayout="@layout/nav_header"
android:fitsSystemWindows="true"
/>
</androidx.drawerlayout.widget.DrawerLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
menu_bottom.xml
<?xml version="1.0" encoding="utf-8"?> …
Run Code Online (Sandbox Code Playgroud) android kotlin android-jetpack android-architecture-navigation
我在 Android Studio 中打开了我的项目canary 4
,然后我决定在stable version 3.5.1
现在我收到以下消息。
此版本的Android Studio 无法打开此项目,请使用Android Studio 4.0 或更高版本重试。
我试过以下
.gradle
, .idea
, gradle/
,project.iml
agp
和更改Kotlin
为以前的版本。看来我必须坚持使用4.0。
当我在 iOS 上测试它时它工作正常但是当我尝试在 XCode 上存档时它给了我以下错误:
找不到模块“音频播放器”
我使用音频播放器 0.13.5
正如您从我的 pubspec 文件中看到的,我有最新的 flutter,一切正常,但我不知道为什么会出现此错误。
我还尝试了很多类似以下解决方案的事情:
brew install cocoapods
pod setup
Run Code Online (Sandbox Code Playgroud)
我还删除了iOS文件夹并重新安装。
我的pubspec.yaml
name: mohammad
description: A new Flutter project.
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying …
Run Code Online (Sandbox Code Playgroud) 我打算开发一个可扩展的聊天应用程序作为项目的一部分,该项目是移动应用程序,希望扩展到Web。我来考虑以下选项
目前,我在移动应用程序中将Firebase用于其他用途(身份验证等)。
我的发现:
Firebase文档非常友好,并且可以用更少的时间轻松上手。
根据我的计算,使用Firestore似乎比AppSync便宜(AppSync + DynamoDB的成本与Firestore的成本)
根据docs,Firestore中存在某些限制。
AppSync使用GraphQL,因此可以更精细地访问数据。
我搜索了AppSync和Cloud Firestore之间的比较,但没有发现任何很好的深入比较。
使用AWS AppSync vs Firestore进行可扩展聊天应用程序的优缺点是什么?
我有以下代码
<androidx.preference.PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
app:key="pref_password"
app:title="Password"
app:iconSpaceReserved="false"
app:dialogTitle="Password"
android:inputType="textPassword"/>
</androidx.preference.PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
但是编辑文本字段没有用点掩盖,即使 android:inputType="textPassword"
我正在使用 androidx。任何人请帮忙
更新
我尝试按照评论者的建议进行操作,但没有运气
<EditTextPreference
android:key="pref_password"
android:title="Password"
app:iconSpaceReserved="false"
android:dialogTitle="Password"
android:inputType="textPassword"/>
Run Code Online (Sandbox Code Playgroud) 如果您在免费计划中看到 Cloudflare Workers 的定价部分,他们有以下内容
每个请求最多 10ms CPU 时间
并在以下付费计划中
每个请求最多 30 秒的挂机时间
通常,执行一个执行有用操作的脚本需要超过 10 毫秒的时间。根据任务的不同,甚至 30 秒的墙上时间也可能很短。
如果您查看 Worker 的文档限制:CPU 运行时部分,它有
大多数 Worker 请求消耗的时间不到一毫秒。很少能找到正常运行的 Workers 脚本超出 CPU 时间限制的情况。免费计划中的工作人员最多可消耗 10 毫秒,付费计划中的捆绑工作人员最多可消耗 50 毫秒。付费计划还提供长达 30 秒的持续时间,以增加计算时间。免费计划的 10 毫秒津贴足以满足大多数用例(包括应用程序托管)的执行时间。
Workers 脚本的实际运行时间没有限制。只要发送请求的客户端保持连接,Workers 脚本就可以继续处理、发出子请求并代表该请求设置超时。当客户端断开连接时,与该客户端请求关联的所有任务都将被取消。您可以使用 event.waitUntil() 将取消再延迟 30 秒,或者直到传递给 waitUntil() 的 Promise 完成。
虽然就 CPU 时间的一般意义而言,本文中提到的 Wall time是正确的。我不认为这在这种情况下是准确的含义,因为在链接的帖子中,CPU 时间是内核或用户空间中的代码执行时间。
CPU time per request
与 AWS Lambda 中的代码执行 CPU 时间也不相似,因为它提到了以下内容
Workers 脚本的实际运行时间没有限制。
因此脚本的实际运行时间(即:CPU 执行时间)并不像 AWS Lambda 中那样限制为 15 分钟。
然后
我正在使用 detekt 和 ktlint 来格式化我的代码,如下所示。
detekt.gradle
ext{
toolVersion = "1.0.0-RC16"
}
detekt {
input = files(...)
filters = ".*/resources/.*,.*/build/.*"
baseline = file("${project.rootDir}/tools/detekt-baseline.xml")
reports{
html{
enabled = true
}
xml{
enabled = false
}
}
config = files(file("$project.rootDir/tools/detekt.yml"))
}
dependencies {
detektPlugins "io.gitlab.arturbosch.detekt:detekt-formatting:$toolVersion"
}
Run Code Online (Sandbox Code Playgroud)
检测基线.yml
autoCorrect: true
build:
maxIssues: 10
weights:
# complexity: 2
# LongParameterList: 1
# style: 1
# comments: 1
Run Code Online (Sandbox Code Playgroud)
项目级build.gradle
buildscript {
ext{...}
repositories {...}
dependencies {...}
}
plugins{
id "io.gitlab.arturbosch.detekt" version "1.0.0-RC16"
}
apply from: …
Run Code Online (Sandbox Code Playgroud) 我在 Android 中使用 coordinatorLayout 在片段内滚动和检测它时遇到很多问题。我有一个包含 3 个片段的“MainActivity”。在其中一个片段中,我有一个应用栏,当滚动片段时它会折叠。我已经设法做到了这一点,但如果我设置滚动行为以允许这样做,我的 BottomNavigationView (位于 mainactivity.xml 中)不会对滚动做出反应。代码是这样的:
片段1.xml
<android.support.design.widget.CoordinatorLayout
...
...>
<android.support.design.widget.AppBarLayout
...
...>
<android.support.design.widget.CollapsingToolbarLayout
app:layout_scrollFlags="scroll|exitUntilCollapsed"
...>
<android.support.v7.widget.Toolbar
.../>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
MainActivity.xml
<android.support.design.widget.CoordinatorLayout
.../>
<FrameLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
.../>
<android.support.design.widget.BottomNavigationView
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
.../>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
现在,这已经足够好了,因为当我在片段内滚动时,我的 AppBar 会折叠到标题中(这就是我想要的),但我的 BottomNavigationView 对滚动没有反应。
我发现如果我添加这一行
app:layout_behavior="@string/appbar_scrolling_view_behavior"
Run Code Online (Sandbox Code Playgroud)
在 AppBarLayout xml 声明中,我让 BottomView 在滚动事件上折叠(当我向上滚动时,它会再次显示)。所以基本上要么我有能力折叠片段内的应用程序栏,要么当我检测到片段内的滚动事件时我有能力隐藏 BottomNavigationView。
任何形式的帮助将不胜感激。
eslint-plugin-react
用于在 JSX 中迭代列表时缺少 prop时在 VS Code 中key
抛出警告/错误,但它不再执行此操作。(浏览器控制台中抛出错误。)
缺少key
prop 的代码示例(从 React beta 文档分叉)
import { people } from './data.js';
import { getImageUrl } from './utils.js';
export default function List() {
const chemists = people.filter(person =>
person.profession === 'chemist'
);
const listItems = chemists.map(person =>
<li>
<img
src={getImageUrl(person)}
alt={person.name}
/>
<p>
<b>{person.name}:</b>
{' ' + person.profession + ' '}
known for {person.accomplishment}
</p>
</li>
);
return <ul>{listItems}</ul>;
}
Run Code Online (Sandbox Code Playgroud)
.eslintrc
{
"extends": [
"react-app",
"plugin:react/recommended"
],
"rules":{ …
Run Code Online (Sandbox Code Playgroud) android ×6
android-architecture-navigation ×1
aws-appsync ×1
chat ×1
cloudflare ×1
dart ×1
detekt ×1
eslint ×1
flutter ×1
ios ×1
kotlin ×1
reactjs ×1
scalability ×1
scroll ×1
xcode ×1