小编Ren*_*ene的帖子

主机切换网络后,如何刷新Android模拟器网络连接?

我在MacBook上运行了一个Android API 23 x86模拟器.当我切换WiFi网络时,Android模拟器会失去与互联网或内联网的所有连接.

每次我切换我的WiFi网络时,我都需要重新启动我的模拟器来重置虚拟Android设备的网络.

是否可以重新初始化模拟器的网络连接而无需重新启动?

networking android android-emulator

18
推荐指数
1
解决办法
1218
查看次数

Android Spinner设置选择与双向绑定

当配置了双向数据绑定时,我很难获得一些与Android微调器一起使用的功能.我想通过双向数据绑定设置微调器的初始值android:selectedItemPosition.微调器条目由ViewModel初始化并正确填充,因此数据绑定似乎正常工作.

问题在于双向绑定selectedItemPosition.ViewModel将变量初始化为5,但微调器的选定项保持为0(第一项).调试时,ObservableInt的值最初为5(如设置),但在executeBindings的第二阶段重置为零.

任何帮助,将不胜感激.

test_spinner_activity.xml

<layout xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <variable name="viewModel"
                  type="com.aapp.viewmodel.TestSpinnerViewModel"/>
    </data>
    <LinearLayout android:layout_width="match_parent"
                  android:layout_height="wrap_content">
       <android.support.v7.widget.AppCompatSpinner
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/sTimeHourSpinner"
            android:selectedItemPosition="@={viewModel.startHourIdx}"
            android:entries="@{viewModel.startTimeHourSelections}"/>
    </LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

TestSpinnerViewModel.java

public class TestSpinnerViewModel {
    public final ObservableArrayList<String> startTimeHourSelections = new ObservableArrayList<>();
    public final ObservableInt startHourIdx = new ObservableInt();

    public TestSpinnerViewModel(Context context) {
        this.mContext = context;

        for (int i=0; i < 24; i++) {
            int hour = i;
            startTimeHourSelections.add(df.format(hour));
        }
        startHourIdx.set(5);
    }
}
Run Code Online (Sandbox Code Playgroud)

TestSpinnerActivity.java

public class TestSpinnerActivity extends AppCompatActivity {
    private TestSpinnerActivityBinding …
Run Code Online (Sandbox Code Playgroud)

android spinner 2-way-object-databinding

12
推荐指数
1
解决办法
7175
查看次数

如何使Espresso等到Data Binding使用数据模型更新View?

我正在Android应用程序上运行Espresso测试.测试是片状的.它可以可靠地声明数据模型已更新.我的问题是ViewMatchers无法匹配View中的相同值,因为ViewDataBinding尚未更新Views.(至少大部分时间都是测试运行.)

当ViewDataBinding在视图上没有挂起的更改时,是否会出现IdlingResource这样的事情?

我的解决方法是调用executePendingBindings()和一个小的Thread.sleep(...)的组合.

android android-testing android-espresso android-databinding

11
推荐指数
2
解决办法
2113
查看次数

如何最好地在EAR中存储Subversion版本信息?

当收到错误报告或it-doesnt-work消息时,我的姓名首字母问题始终是什么版本?由于不同的构建处于测试的许多阶段,因此规划和部署这通常是一个非常重要的问题.

我是发布Java JAR(ear,jar,rar,war)文件的情况,我希望能够查看/在JAR中切换到作为已发布JAR源的同一分支,版本或标记.

如何最好地调整ant构建过程,以便svn checkout中的版本信息保留在创建的构建中?

我在思考:

  • 添加一个VERSION文件,但有什么内容?
  • 将信息存储在META-INF文件中,但在哪些属性下使用哪些内容?
  • 将源复制到结果存档中
  • 将svn:properties添加到所有源中,并在编译器保留的位置使用关键字

我最终使用svnversion方法(接受的anwser),因为它扫描整个子树而不是svn info,它只是查看当前文件/目录.为此,我在ant文件中定义了SVN任务,使其更具可移植性.

<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
  <classpath>
    <pathelement location="${dir.lib}/ant/svnant.jar"/>
    <pathelement location="${dir.lib}/ant/svnClientAdapter.jar"/>
    <pathelement location="${dir.lib}/ant/svnkit.jar"/>
    <pathelement location="${dir.lib}/ant/svnjavahl.jar"/>
  </classpath>        
</taskdef>
Run Code Online (Sandbox Code Playgroud)

并非所有构建都会产生Web服务.由于应用程序服务器中的更新,部署之前的ear文件必须保持相同的名称.使文件可执行仍然是一个选项,但在那之前我只包括一个版本信息文件.

<target name="version">
  <svn><wcVersion path="${dir.source}"/></svn>
  <echo file="${dir.build}/VERSION">${revision.range}</echo>
</target>
Run Code Online (Sandbox Code Playgroud)

参考:
svnrevision:http://svnbook.red-bean.com/en/1.1/re57.html
svn info http://svnbook.red-bean.com/en/1.1/re13.html subclipse
svn task:http: //subclipse.tigris.org/svnant/svn.html
svn客户端:http://svnkit.com/

java svn ant release

8
推荐指数
1
解决办法
5914
查看次数