小编Rya*_*mon的帖子

是否有任何开发模式可以替换网络请求的IntentService?

在我与同事一起开发的当前应用程序中,我们使用IntentServices和Volley调用来处理RESTful API网络请求.它只是简单的JSON字符串数据和一些小图像.

我对那些在处理网络请求方面经验丰富的问题​​是这样的:那里有更合适或更清洁的东西吗?

根据我的理解,使用IntentService的优势在于它在主线程的后台运行,并且通常是Android OS杀死的最后一件事.缺点是IntentServices按顺序运行.

我一直在阅读很多关于RxJava和Retrofit的内容,并且觉得我们的需求可以通过这种组合得到更好的服务.改造本身就足够了,但我真的很感激第三方洞察力.

android android-networking rx-java retrofit android-intentservice

9
推荐指数
1
解决办法
2283
查看次数

使用 ConstraintLayout 创建内容行

我目前遇到了一个相对复杂的基于 ConstraintLayout 的设计实现的复杂情况。

在此输入图像描述

该设计是一排项目,如上所示。这些行是静态的,并根据某些数据相关条件显示/隐藏。

我遇到的问题是,我还没有找到一种可靠的方法来正确包含布局中的分隔线/屏障之间的每一行。

在此输入图像描述

正如您在上图中看到的,我的约束布局不符合预期的障碍/分隔线。我在下面包含了此布局的 XML。

 <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="16dp"
            android:paddingRight="16dp">

                <ImageView
                    android:id="@+id/timeIcon"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_clock"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <TextView
                    android:id="@+id/timeTextView"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textColor="#FF354052"
                    android:textSize="14sp"
                    android:textStyle="bold"
                    app:layout_constraintEnd_toStartOf="@id/statusTextView"
                    app:layout_constraintStart_toEndOf="@+id/textGuideline"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:text="4:20 PM" />

                <com.weedmaps.driver.android.view.StatusTextView
                    android:id="@+id/statusTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingBottom="4dp"
                    android:paddingEnd="27dp"
                    android:paddingStart="27dp"
                    android:paddingTop="4dp"
                    android:textAllCaps="true"
                    android:textSize="12sp"
                    android:textStyle="bold"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:background="@color/accepted_blue" />

                <android.support.constraint.Barrier
                    android:id="@+id/headerDividerTopBarrier"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:barrierDirection="top"
                    app:constraint_referenced_ids="headerDivider" />

                <!-- / end delivery status section -->

                <android.support.constraint.Barrier
                    android:id="@+id/deliveryStatusSectionBottomBarrier"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:barrierDirection="bottom"
                    app:constraint_referenced_ids="statusTextView, timeTextView, timeIcon" />

                <View
                    android:id="@+id/headerDivider"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:background="#FFE6EAEE"
                    app:layout_constraintTop_toBottomOf="@id/deliveryStatusSectionBottomBarrier"
                    app:layout_constraintBottom_toTopOf="@id/destinationInfoSectionTopBarrier" /> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-constraintlayout

-1
推荐指数
1
解决办法
2149
查看次数