前段时间我发布了我的应用程序的测试版,并将其与APK扩展文件相关联.然后我想更新我的APK而不触摸文件,并做了以下:
我的应用程序的版本代码是7,提供程序也有此值.提供程序看起来像在我的清单中:
<provider
android:name=".expansion.MyApezProvider"
android:authorities="com.bla.blabla"
android:exported="false"
android:multiprocess="true"
>
<meta-data
android:name="mainVersion"
android:value="7">
</meta-data>
</provider>
Run Code Online (Sandbox Code Playgroud)
这是我的下载活动的片段:
private static final XAPKFile[] xAPKS = {new XAPKFile(true, // true signifies a main file
7, // the version of the APK that the file was uploaded
383989643L // the length of the file in bytes
)};
Run Code Online (Sandbox Code Playgroud)
我只将清单中的版本代码值从7增加到8.因为我不想触摸扩展文件.因此,提供程序和Downloader Activity中的值仍为7.
我上传了新的APK文件,但没有再次选择上传的APK扩展文件.但这没效果.用户更新到新版本后,应用程序中的视频文件不再可用.
所以我再次上传了APK文件并重新上传了APK扩展文件,这有效.但这很奇怪,因为用户必须为每次更新下载扩展.
我的问题是:当我将新的apk上传到Google Play控制台时,我是否必须始终选择存储的apk扩展文件或重新上传它?APK扩展文件的行为在测试版和版本中是否有所不同?
在以下帖子中更新Google Play中的APK而不更改扩展文件时,它表示此行为仅在草稿模式下发生,但我的应用程序未处于草稿模式.它作为测试版发布.
我非常感谢你的帮助.
我一直在5.2英寸设备(LG G2)上开发和测试我的应用程序.
只是我在更大的5.5英寸设备(OnePlus 3T)上启动应用程序,它看起来不太好,你可以看到如下:
这是主要活动:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout_main_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b2b2b2"
android:orientation="vertical">
<!-- android:layout_height="wrap_content" -->
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
android:padding="2dp"
app:titleMarginStart="20dp"
app:titleTextAppearance="@style/MyMaterialTheme.Base.TitleTextStyle"
app:titleTextColor="@color/textColorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@android:color/white"
android:textStyle="bold|italic"/>
</android.support.v7.widget.Toolbar>
<!--android:columnWidth="160dp"-->
<GridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:gravity="center"
android:horizontalSpacing="20dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="20dp"></GridView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是子项的布局xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item"
android:layout_width="300dp"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:background="#FFFFFFFF"
android:gravity="center_horizontal"
android:orientation="horizontal"
tools:context="de.dk.masterfitness.ActMain" >
<!-- PART I. -->
<!-- THIS IS THE BAR ON THE LEFT -->
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="2" …Run Code Online (Sandbox Code Playgroud) android android-layout android-linearlayout android-gridview
我正在尝试构建一个单一活动应用程序并使用SupportActionBar我的自定义Activity.其他视图都是碎片.
我的自定义SupportActionBar如下:
现在我有一个案例,我必须以全屏模式显示视频Fragment.因此我只是调用以下的隐藏功能SupportActionBar:
override fun onResume() {
super.onResume()
(activity as MainActivity).supportActionBar!!.hide()}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是当我想在视频完成后再次显示栏时,栏看起来不一样.
在我的Fragment调用show函数SupportActionBar和initToolbar函数MainActivity:
override fun onStop() {
super.onStop()
(activity as MainActivity).supportActionBar!!.show()
(activity as MainActivity).initToolbar()
}
Run Code Online (Sandbox Code Playgroud)
这是我的initToolbar方法Activity:
fun initToolbar() {
setSupportActionBar(toolbar_all_custombar)
supportActionBar!!.setDisplayShowTitleEnabled(false)
supportActionBar!!.setIcon(R.drawable.ic_launcher)
}
Run Code Online (Sandbox Code Playgroud)
工具栏布局:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_all_custombar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
app:titleTextAppearance="@style/AppTheme.TitleTextStyle"
app:titleTextColor="@color/textColorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/all_toolbar_title"
android:textColor="@android:color/white"
android:textStyle="bold|italic"/>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我的酒吧看起来不同后再显示它.这种行为的原因是什么?
我在 IntelliJ 终端中设置了 git,现在我问我如何才能回到标准终端。
我没有找到选项。你知道在哪里吗?
问题
在我的Activity初始化a Fragment,其中包含一个RecyclerView.但我已经认识到它没有显示所有项目.这意味着代替14只显示11项.此外,最后一个可见项目(编号12)被切断
我的实施
该Activity包含一个空FrameLayout充当Fragment容器:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res./android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#e0e0e0">
<LinearLayout
android:id="@+id/layout_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/layout_border_white"
android:paddingBottom="@dimen/footer_padding">
<include layout="@layout/footer"></include>
</LinearLayout>
<FrameLayout
android:id="@+id/fragment_start"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/layout_footer"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这里是片段中的RecyclerView:
<android.support.constraint.ConstraintLayout
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="match_parent"
android:background="#e0e0e0"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout_header"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:padding="@dimen/startpage_padding"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<include layout="@layout/header"></include>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="@dimen/startpage_margin"
android:scrollbars="vertical"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_header"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ProgressBar
android:id="@+id/pb_loading_indicator"
android:layout_width="@dimen/startpage_progressbar"
android:layout_height="@dimen/startpage_progressbar" …Run Code Online (Sandbox Code Playgroud)