小编Nou*_*vay的帖子

在Android Studio中将UnitTest转换为Instrumentation Test

因此,我从一个名为MyCoolObjectTest的UnitTest开始。需要进行一些测试测试,我通过拖动将类直接在Android项目视图中从test目录移动到androidTest目录。我的UnitTest过去工作正常;除了仪器部分。但是现在它根本不起作用。我不断

Class not found: "com.mypkg.MyCoolObjectTest"Empty test suite.
Run Code Online (Sandbox Code Playgroud)

我一直在整个stackOverflow和官方文档中寻找解决方案。到目前为止没有运气。有没有人经历过类似的事情?

(如果我将其拖回测试文件夹,它将正常工作;如果我将其重新拖动到androidTest文件夹,它将再次停止工作)

我记得那是设置受测试文件夹的一种方法。但是我不再记得了。

为了获得一些见识,我想在测试中使用一些android库,例如

public String stripFormatting(String input){
    return Html.fromHtml(input).toString();
}
Run Code Online (Sandbox Code Playgroud)

这就是为什么我需要仪器。

这是我的单元测试课程,其中包含一个测试示例:

@RunWith(AndroidJUnit4.class)
public class MyCoolObjectTest {
    @Test
    public void testJustToKnow() {
        String actual = "<b>0</b>";
        String expected = "0";
        assertThat(stripFormatting(actual), equalTo(expected));
    }
    public String stripFormatting(String input) {
        return Html.fromHtml(input).toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

更新

这是我得到的另一条迹线。如果单击该方法而不是该类,则会得到以下跟踪:

刚才我单击了方法而不是整个类,并获得了以下跟踪信息:

11/04 13:51:16:启动testJustToKnow()$ adb push /Users/me/StudioProjects/Myapp/app/build/outputs/apk/app-debug.apk /data/local/tmp/com.mypkg.myapp $ adb shell pm install -r“ /data/local/tmp/com.mypkg.myapp” pkg:/data/local/tmp/com.mypkg.myapp成功

$ adb push /Users/me/StudioProjects/Myapp/app/build/outputs/apk/app-debug-androidTest-unaligned.apk /data/local/tmp/com.mypkg.Myapp.test $ adb …

android unit-testing android-studio android-instrumentation

4
推荐指数
1
解决办法
1150
查看次数

Gson与Json的单键值

我有单键值对,我需要使用Gson转换为Json.我怎么能这样做?说我有

class MyClass{
  String key;
  String value;
  ...//bunch of other fields

  public String singleKeyValueToJson(){
    return new Gson(key,value);//how do I do this?
  }

}
Run Code Online (Sandbox Code Playgroud)

注意我没有序列化整个类:只是两个字段.

java android json gson

3
推荐指数
1
解决办法
1万
查看次数

如何以编程方式打开和关闭layout_behavior行为?

让我们假装简单的简单案例.我有一个FloatingActionButton,我在其上添加了layout_behavior.我需要能够以编程方式启用或禁用该行为.我怎么做?我最初通过xml添加行为

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/mine"
    app:backgroundTint="@color/colorPrimary"
    app:layout_anchor="@id/default_message"
    app:layout_anchorGravity="end|bottom"
    app:layout_behavior=“mywidget.ScrollingFABBehavior"/>
Run Code Online (Sandbox Code Playgroud)

android android-layout floating-action-button android-coordinatorlayout

3
推荐指数
1
解决办法
1726
查看次数

将身份验证令牌作为标头添加到 okhttp

我有下面的方法来进行 GET 调用。我需要给它添加一个header,以便通过header将userToken传递给服务器。我怎么做?

public static String getJsonStringFromHttpGet(String url) {
    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
            .url(url)
            .build();
    try {
        Response responses = client.newCall(request).execute();
        return responses.body().string();
    } catch (IOException e) {
        Timber.e(e, "response exception:");
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

android http-headers okhttp

3
推荐指数
1
解决办法
5958
查看次数

git通过终端合并

我试图通过终端进行git合并.我正在分支机构工作fix_stuff,我需要合并回来develop.所以我做如下

git checkout develop
git merge --no-ff fix_stuff
Run Code Online (Sandbox Code Playgroud)

现在我看来是一个文本编辑器 - 仍然在终端内 - 有以下消息

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Run Code Online (Sandbox Code Playgroud)

果然我按i,然后输入我的信息.现在我已经完成了这条消息,我不知道该怎么办.我esc x当时试过了esc q.没有.

我通过Mac El Capitan使用Android Studio终端

git terminal git-merge

3
推荐指数
2
解决办法
8994
查看次数

将sqlite查询打印到logCat

有没有办法将我的sqlite查询打印到logCat?这是我的查询

db.query(TABLE, projection, selection, selectionArgs, null, null, null)
Run Code Online (Sandbox Code Playgroud)

sqlite android logcat android-sqlite

3
推荐指数
1
解决办法
4794
查看次数

Html.fromHtml 不断抛出 NullPointerException

假设我有一个字符串,我已将其格式化为包含粗体字母。但在某些时候我需要能够删除格式。以下是我尝试过但不断收到 NullPointerException

这是我的方法

public String stripFormatting(String input){
    return Html.fromHtml(input).toString();
}
Run Code Online (Sandbox Code Playgroud)

这里有一个电话

stripFormatting("<b>0</b>")
Run Code Online (Sandbox Code Playgroud)

错误跟踪就不多说了,但是这里

java.lang.NullPointerException
at com.mypkg.utils.MyClassTest.stripFormatting(MyClassTest.java:111)
at com.mypkg.utils.MyClassTest.testLessThan100_000(MyClassTest.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Run Code Online (Sandbox Code Playgroud)

html java string android

3
推荐指数
1
解决办法
2077
查看次数

忽略了iconizedByDefault的xml版本

为什么这条线android:iconifiedByDefault="false”总是被忽略,要求我总是要找到一种方法来自动完成它?如果总是被忽略,为什么要将它作为选项包括在内?我错过了什么吗?

android android-layout searchview

2
推荐指数
1
解决办法
361
查看次数

从Gradle向BuildConfig文件添加url

我的BuildConfig由Gradle生成.我的一个字符串是一个URL.当我尝试创建apk时,我收到有关:url中的错误.任何想法,我应该告诉gradle所以这工作正常?

这是我告诉Gradle的:

buildConfigField "String","My_CLOUD_API","http://12.3.456.789:123"
Run Code Online (Sandbox Code Playgroud)

这是创建的BuildConfig.java常量

public static final String My_CLOUD_API = http://12.3.456.789:123;
Run Code Online (Sandbox Code Playgroud)

这是错误:

error: ';' expected
Run Code Online (Sandbox Code Playgroud)

java android buildconfig gradle

2
推荐指数
1
解决办法
1961
查看次数

Unix时间戳在DateTime中保持1970年1月17日返回

我正在使用以下方法返回格式化的日期07:00AM, Apr 12 2016.但我一直在努力01:41PM, Sat, Jan 17 1970.比方说我的时间戳是1460469600.

这是我的方法.

public static String formattedDate(long timestamp) {
    DateTime date = new DateTime(timestamp);
    String formatted= date.toString("hh:mma, EEE, MMM dd yyyy");
    return formatted;
}
Run Code Online (Sandbox Code Playgroud)

java android jodatime

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

无法使用OS X El Capitan拖动文件

通常拖我

  • 单击要拖动的项目
  • 用一根手指按住
  • 然后用另一根手指拖动动作

现在当我点击某个项目时,弹出窗口会显示一个窗口,显示该文件的内容.所以现在我无法将文件从一个文件夹移动到另一个文件夹.有谁知道这个问题的解决方案?

如果我启用三指拖动,那么它会消除我使用三指在屏幕之间滑动的能力.

macos osx-elcapitan

0
推荐指数
1
解决办法
2696
查看次数

./bump-version.sh没有这样的文件

我准备第一次发布,所以我这样做

git checkout -b release-1.0 develop
./bump-version.sh 1.0
Run Code Online (Sandbox Code Playgroud)

我收回错误:

bash: ./bump-version.sh: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是git问题.在这种情况下,答案是什么?

git terminal version-control android-studio

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

从接口vs从父类转换

鉴于上课

public class Dog extends Animal implements Friend{

  ...
}
Run Code Online (Sandbox Code Playgroud)

以下哪项性能更为昂贵?

Dog myDog = (Dog) someAnimal;//where Animal someAnimal
Run Code Online (Sandbox Code Playgroud)

要么

Dog myDog = (Dog) someFriend;//where Friend someFriend
Run Code Online (Sandbox Code Playgroud)

我理解这个问题可能需要一些专业知识来回答,所以谢谢你的帮助.请提供一些有价值的解释.

java polymorphism inheritance

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