因此,我从一个名为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 …
我有单键值对,我需要使用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)
注意我没有序列化整个类:只是两个字段.
让我们假装简单的简单案例.我有一个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
我有下面的方法来进行 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) 我试图通过终端进行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终端
有没有办法将我的sqlite查询打印到logCat?这是我的查询
db.query(TABLE, projection, selection, selectionArgs, null, null, null)
Run Code Online (Sandbox Code Playgroud) 假设我有一个字符串,我已将其格式化为包含粗体字母。但在某些时候我需要能够删除格式。以下是我尝试过但不断收到 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) 为什么这条线android:iconifiedByDefault="false”
总是被忽略,要求我总是要找到一种方法来自动完成它?如果总是被忽略,为什么要将它作为选项包括在内?我错过了什么吗?
我的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) 我正在使用以下方法返回格式化的日期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) 通常拖我
现在当我点击某个项目时,弹出窗口会显示一个窗口,显示该文件的内容.所以现在我无法将文件从一个文件夹移动到另一个文件夹.有谁知道这个问题的解决方案?
如果我启用三指拖动,那么它会消除我使用三指在屏幕之间滑动的能力.
我准备第一次发布,所以我这样做
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问题.在这种情况下,答案是什么?
鉴于上课
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)
我理解这个问题可能需要一些专业知识来回答,所以谢谢你的帮助.请提供一些有价值的解释.
android ×9
java ×5
git ×2
terminal ×2
buildconfig ×1
git-merge ×1
gradle ×1
gson ×1
html ×1
http-headers ×1
inheritance ×1
jodatime ×1
json ×1
logcat ×1
macos ×1
okhttp ×1
polymorphism ×1
searchview ×1
sqlite ×1
string ×1
unit-testing ×1