我正在使用 Android Studio 模板“ Navigation Drawer Activity ”开发 Android 应用程序,但是如果我在带有 Notch/display Cutouts 的手机上打开导航抽屉,更大的状态栏会覆盖 Navigation Drawer header 的顶部。
我怎么能解决这个问题?
这是活动布局xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start"
android:background="@color/colorPrimaryDark">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
和导航抽屉标题布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/navbar_size_edit"
android:gravity="bottom"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin_bar_bottom"
android:paddingLeft="@dimen/activity_horizontal_margin_bar"
android:paddingRight="@dimen/activity_horizontal_margin_bar"
android:paddingTop="@dimen/activity_vertical_margin_bar"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/nav_header_desc"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:paddingBottom="@dimen/activity_vertical_margin_bar_bottom"
app:srcCompat="@mipmap/avatar_me_round" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="@string/app_name"
android:textStyle="bold"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> …Run Code Online (Sandbox Code Playgroud) 我有一个存储私人信息的网站,可以通过使用秘密 api 密钥的请求访问。
我的Android 应用程序必须访问该私人信息,为此它使用代理服务器存储并使用秘密 api 密钥与网站进行通信。
问题是只要使用Wireshark,或者在app资源文件中找到字符串,就有人可以看到代理服务器的url并使用它从网站上获取私人数据
我怎样才能使这个系统安全?我如何确定除了 Android 应用程序之外没有其他人可以使用代理?
谢谢!
我正在尝试联合一个具有多个输入的 keras 模型。其中一些输入是分类的,其中一些是数字的,因此我有一些 DenseFeature 层来嵌入值。
问题是,使用 tff.learning.from_keras_model()预期作为 input_spec 的字典只有 2 个元素 (x,y),但我有多个输入,然后我必须在模型中区分这些输入,以便使用 feature_columns 函数和 DenseFeature 层正确执行嵌入。
如果模型只接受“x”作为输入而没有正确的列名称,我该如何处理单个特征列?
这是代码和错误:
def create_keras_model():
l = tf.keras.layers
# handling numerical columns
for header in numerical_column_names:
feature_columns.append(feature_column.numeric_column(header))
# handling the categorical feature
pickup = feature_column.categorical_column_with_vocabulary_list(
'pickup_location_id', [i for i in range(number_of_locations)])
#pickup_one_hot = feature_column.indicator_column(pickup)
#feature_columns.append(pickup_one_hot)
pickup_embedding = feature_column.embedding_column(pickup, dimension=64)
#feature_columns.append(pickup_embedding)
feature_inputs = {
'pickup_week_day_sin': tf.keras.Input((1,), name='pickup_week_day_sin'),
'pickup_week_day_cos': tf.keras.Input((1,), name='pickup_week_day_cos'),
'pickup_hour_sin': tf.keras.Input((1,), name='pickup_hour_sin'),
'pickup_hour_cos': tf.keras.Input((1,), name='pickup_hour_cos'),
'pickup_month_sin': tf.keras.Input((1,), name='pickup_month_sin'),
'pickup_month_cos': tf.keras.Input((1,), name='pickup_month_cos'),
}
numerical_features = …Run Code Online (Sandbox Code Playgroud)