我是JSON解析的新手,我正在使用Square的Retrofit库并遇到了这个问题.
我正在尝试解析这个JSON响应:
[
{
"id": 3,
"username": "jezer",
"regid": "oiqwueoiwqueoiwqueoiwq",
"url": "http:\/\/192.168.63.175:3000\/users\/3.json"
},
{
"id": 4,
"username": "emulator",
"regid": "qwoiuewqoiueoiwqueoq",
"url": "http:\/\/192.168.63.175:3000\/users\/4.json"
},
{
"id": 7,
"username": "test",
"regid": "ksadqowueqiaksj",
"url": "http:\/\/192.168.63.175:3000\/users\/7.json"
}
]
Run Code Online (Sandbox Code Playgroud)
这是我的模特:
public class Contacts {
public List<User> contacts;
}
Run Code Online (Sandbox Code Playgroud)
...
public class User {
String username;
String regid;
@Override
public String toString(){
return(username);
}
}
Run Code Online (Sandbox Code Playgroud)
我的界面:
public interface ContactsInterface {
@GET("/users.json")
void contacts(Callback<Contacts> cb);
}
Run Code Online (Sandbox Code Playgroud)
我的成功方法:
@Override
public void success(Contacts c, Response r) {
List<String> names …Run Code Online (Sandbox Code Playgroud) 我在匿名内部类中,想要引用外部类的实例.在Java中,可以使用.this前面的类名来引用它来解决歧义.喜欢:MainActivity.this.我如何在Kotlin中实现同样的目标?因为编译器'expression 'this' cannot be a selector(occur after a dot)'在我这样做时抱怨.谢谢!
我的Espresso测试中有这个代码
onView(withId(R.id.src))
.perform(click());
onData(hasToString(startsWith("CCD")))
.perform(click());
onView(withId(R.id.src))
.check(matches(withText(containsString("CCD"))));
Run Code Online (Sandbox Code Playgroud)
我要做的是点击中的项目,Spinner并检查它是否确实在选中Spinner.
但是我收到了这个错误:
android.support.test.espresso.base.DefaultFailureHandler $ AssertionFailedWithCauseError:'with text:包含"CCD"的字符串与所选视图不匹配.预期:带文本:包含"CCD"的字符串得到:"AppCompatSpinner {id = 2131558533,res-name = src,visibility = VISIBLE,width = 528,height = 163,has-focus = false,has-focusable = true, has-window-focus = true,is-clickable = true,is-enabled = true,is-focused = false,is-focusable = true,is-layout-requested = false,is-selected = false,root-is- layout-requested = false,has-input-connection = false,x = 0.0,y = 0.0,child-count = 1}"
这个.notation(AlertDialog.Builder)在类构造函数中的含义是什么?
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setTitle(R.string.date_picker_title)
.setPositiveButton(android.R.string.ok, null)
.create();
}
Run Code Online (Sandbox Code Playgroud)
这是否意味着Builder类是在AlertDialog类中定义的?或者Builder是一种方法,但它的第一个字母大写,所以我很困惑.
如何使用Espresso在Android软键上按下Editor Action键?我试过了:
onView(withId(R.id.test_title)).perform(typeText("Sample Title"), pressKey(KeyEvent.FLAG_EDITOR_ACTION));
但它不起作用..任何想法?
我观察到,如果我通过Google Play的“立即打开”按钮打开手机中安装的某些应用程序,则该应用程序将正常打开;如果我导航到该应用程序中的另一个“活动”,然后按首页,然后转到手机的启动器,打开该应用程序通过那里。我相信,它将启动一项新任务,因为该应用的启动器活动已经浮出水面。如果我按回去,那么我将进入第二个活动-这是我从Google Play启动应用程序时前台中的最后一个活动。有办法避免这种情况吗?我希望看到这种情况下的第二项活动。无论我的应用是从启动器启动还是从Google Play商店启动,我都希望执行相同的任务。
我发现Playstore中的许多应用都有此行为。Zomato应用程序就是一个很好的例子,我的应用程序是Shake Eat Off,供参考,
我一直在尝试android:launchMode在清单上运气不好。
我尝试将其设置singleTask为根活动,将“ singleTop”设置为第二个活动
我也尝试添加android:alwaysRetainTaskState="true"到根活动。
我也尝试设置singleTask为根活动和singleInstance第二个活动
因此,要进一步解释链条:
Google Play应用页面->立即打开->根活动->第二个活动(现在为前台)。按主页,单击“应用程序图标”。此时,根活动现在再次显示(但是我希望看到第二个活动,因为它是前台的最后一个活动)。按返回->第二个活动将重新出现。
我正在学习使用Android编程:大书呆子牧场指南这本书在Android上编程,我遇到过这行代码
Intent i = new Intent(getActivity(),CrimeActivity.class);
Run Code Online (Sandbox Code Playgroud)
我似乎无法理解为什么Intent的构造函数需要第二个参数.如果我的知识对我有用,那么Java中的类只是对象的蓝图.
所以我很困惑为什么在Intents构造函数中将文字类作为参数传递?
那里发生了什么?
我正试图抓住Anko,并遇到了这个问题.在它的文档中它说Anko有一个 方便的日志记录方法,我试过但Android Studio不会自动导入它,所以我手动导入它,如截图所示.然而,它仍然被标记为未解决.
这是我的gradle依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.firebase:firebase-client-android:2.5.2'
compile 'org.jetbrains.anko:anko-sdk15:0.8.2'
compile 'org.jetbrains.anko:anko-support-v4:0.8'
compile 'org.jetbrains.anko:anko-appcompat-v7:0.8'
Run Code Online (Sandbox Code Playgroud)
}
我正在尝试通过 jenkins 进行持续集成。我现在正在发布测试结果部分并且有点挣扎。
记录测试结果错误:发布者 hudson.tasks.junit.JUnitResultArchiver 由于异常 hudson.AbortException 中止:未找到测试报告文件。配置错误?在 hudson.tasks.junit.JUnitParser$ParseResultCallable.invoke(JUnitParser.java:116) 在 hudson.tasks.junit.JUnitParser$ParseResultCallable.invoke(JUnitParser.java:92) 在 hudson.FilePath.act(FilePath.java:981) ) at hudson.FilePath.act(FilePath.java:959) at hudson.tasks.junit.JUnitParser.parseResult(JUnitParser.java:89) at hudson.tasks.junit.JUnitResultArchiver.parse(JUnitResultArchiver.java:121) at hudson .tasks.junit.JUnitResultArchiver.perform(JUnitResultArchiver.java:138) 在 hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:74) 在 hudson.tasks.BuildStepMonitor$1。
它说它找不到任何测试结果。
这是我在 jenkins 中设置的路径:

我只是按照这里所说的Gradle 插件用户指南
所有测试结果都存储在 build/androidTest-results 下的 XML 文件中
那么真正的路径是什么呢?谢谢!