小编Jez*_*spo的帖子

改装预期BEGIN_OBJECT但是BEGIN_ARRAY

我是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 android json gson retrofit

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

如何在Kotlin中引用外部类的实例?

我在匿名内部类中,想要引用外部类的实例.在Java中,可以使用.this前面的类名来引用它来解决歧义.喜欢:MainActivity.this.我如何在Kotlin中实现同样的目标?因为编译器'expression 'this' cannot be a selector(occur after a dot)'在我这样做时抱怨.谢谢!

kotlin

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

Android Espresso检查选择的微调文本

我的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}"

android android-espresso

21
推荐指数
2
解决办法
2万
查看次数

类名之间的点符号是什么意思?

这个.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是一种方法,但它的第一个字母大写,所以我很困惑.

java syntax android

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

如何在Espresso上按编辑器操作

如何使用Espresso在Android软键上按下Editor Action键?我试过了:

onView(withId(R.id.test_title)).perform(typeText("Sample Title"), pressKey(KeyEvent.FLAG_EDITOR_ACTION));

但它不起作用..任何想法?

android android-testing android-espresso

6
推荐指数
2
解决办法
4935
查看次数

Android从Playstore打开应用程序与启动器行为

我观察到,如果我通过Google Play的“立即打开”按钮打开手机中安装的某些应用程序,则该应用程序将正常打开;如果我导航到该应用程序中的另一个“活动”,然后按首页,然后转到手机的启动器,打开该应用程序通过那里。我相信,它将启动一项新任务,因为该应用的启动器活动已经浮出水面。如果我按回去,那么我将进入第二个活动-这是我从Google Play启动应用程序时前台中的最后一个活动。有办法避免这种情况吗?我希望看到这种情况下的第二项活动。无论我的应用是从启动器启动还是从Google Play商店启动,我都希望执行相同的任务。

我发现Playstore中的许多应用都有此行为。Zomato应用程序就是一个很好的例子,我的应用程序是Shake Eat Off,供参考,

我一直在尝试android:launchMode在清单上运气不好。

我尝试将其设置singleTask为根活动,将“ singleTop”设置为第二个活动

我也尝试添加android:alwaysRetainTaskState="true"到根活动。

我也尝试设置singleTask为根活动和singleInstance第二个活动

因此,要进一步解释链条:

Google Play应用页面->立即打开->根活动->第二个活动(现在为前台)。按主页,单击“应用程序图标”。此时,根活动现在再次显示(但是我希望看到第二个活动,因为它是前台的最后一个活动)。按返回->第二个活动将重新出现。

android

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

Java中的".class"关键字

我正在学习使用Android编程:大书呆子牧场指南这本书在Android上编程,我遇到过这行代码

Intent i = new Intent(getActivity(),CrimeActivity.class);
Run Code Online (Sandbox Code Playgroud)

我似乎无法理解为什么Intent的构造函数需要第二个参数.如果我的知识对我有用,那么Java中的类只是对象的蓝图.

所以我很困惑为什么在Intents构造函数中将文字类作为参数传递?

那里发生了什么?

java android class

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

Anko日志记录方法无法解决

我正试图抓住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)

}

android kotlin anko kotlin-android-extensions

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

JUnit 测试结果位于 Android 的 Gradle 构建中的什么位置?

我正在尝试通过 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 文件中

那么真正的路径是什么呢?谢谢!

junit android gradle jenkins android-gradle-plugin

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