小编Aab*_*ani的帖子

如何单元测试改装api调用?

我试图为每一块代码集成单元测试用例.但是我在为通过改造进行的api调用添加测试用例时遇到了问题.

JUnit编译器从不执行CallBack函数中的代码.

还有另一个选项是将所有api调用同步用于测试目的,但对于我的应用程序中的每个案例都不可能.

我该如何解决这个问题?我必须以任何方式在api调用中添加测试用例.

junit android unit-testing android-gradle-plugin retrofit

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

即使标头状态代码为200,Retrofit也会调用failure()方法

我正在使用改装进行后端通信,并在其下面使用我的改装电话的片段:

serverObject.createEvent(Utils.getAuthHeader(), params, new Callback<CreateEventResponse>() {
        @Override
        public void success(CreateEventResponse outputObj, retrofit.client.Response response) {

            Log.d(TAG, outputObj.getTitle() + " is successfully created.");
            setResult(Activity.RESULT_OK);
            finish();
        }

        @Override
        public void failure(RetrofitError retrofitError) {

            //Header status code
            Log.e("failure", String.valueOf(retrofitError.getResponse().getStatus()));
            Log.e("failure", String.valueOf(retrofitError.getResponse().getBody()));

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

上面的代码在Logcat中打印出来:

04-16 16:26:11.751  25131-25131/com.android.myapp.app E/failure? 200
04-16 16:26:11.751  25131-25131/com.android.myapp.app E/failure? null
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

任何人都可以帮助为什么会发生这种情况.

我也设置了setLogLevel(RestAdapter.LogLevel.FULL);,所以我可以看到我的logcat中的每个值.我的响应是从服务器正确的,但为什么fail()被调用?

请帮忙!

提前致谢.

android retrofit okhttp

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

无法读取Parse推送通知包数据

我正在尝试使用Parse推送通知服务发送自定义数据,但是从Bundle中提取时始终返回空值.

自定义广播接收器:

    @Override
public void onReceive(Context context, Intent intent) {
    Log.e("Receiver","Invoked");
    Bundle bundle = intent.getExtras();
    Intent contentIntent = new Intent(context, MainPage.class);
    String alertMsg = bundle.getString("heading"); //never get this value
    String urlString = bundle.getString("dataString"); //never get this value
    contentIntent.putExtra(EXTRA_URL, urlString);
    PendingIntent pendingIntent = PendingIntent.getActivity(context,
            NOTIFY_REQUEST_CODE, contentIntent, PendingIntent.FLAG_ONE_SHOT);
    showNotification(context, notificationId, alertMsg, pendingIntent);
}
Run Code Online (Sandbox Code Playgroud)

宣言声明:

        <receiver
        android:name=".receiver.NotificationReceiver"
        android:exported="false">
        <intent-filter>
            <action android:name="link_notification"/>
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

我从解析仪表板发送以下JSON:

{ "dataString": "objectId", "heading": "type", "action": "link_notification" }
Run Code Online (Sandbox Code Playgroud)

当我记录Bundle数据时,我能够看到标题dataString,但无法访问它.该包总是返回null.

请帮忙!谢谢.

android json push-notification parse-platform

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

用于小屏幕尺寸的dimen.xml的values文件夹

我需要根据设备的屏幕尺寸设置自定义边距和textSize.我在网上搜索过,但没有找到我需要的任何答案:

我应该在哪里存储尺寸较小的尺寸值,如mdpi屏幕.

请帮忙

提前致谢!

android android-layout

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

改造:失败时状态码返回空指针.

我正在使用Retrofit进行后端通信:如果状态代码不是200,那么回调调用失败方法.但我想在失败方法中获取状态代码以进一步调整代码

        @Override
        public void failure(RetrofitError retrofitError) {

                Logger.e("ERROR Status:", retrofitError.getResponse().getStatus() + "");

            }
        }
Run Code Online (Sandbox Code Playgroud)

但上面的代码总是给出一个空指针异常.如何在失败时获取标题的状态代码.

请帮忙.

提前致谢.

android retrofit okhttp

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

Android Intent Clear Top无效

我想点击我的HomeScreenActivity的意图并清除堆栈中存活的所有活动,下面是目标代码:

Intent intent = new Intent(activity, HomeScreenActivity.class);
    if (Build.VERSION.SDK_INT >= 11) {
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    }
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    startActivity(intent);
    finish();
Run Code Online (Sandbox Code Playgroud)

堆栈未被清除,当我按后退键时,显示所有先前的活动,这不是预期的结果.

请帮忙!

提前致谢.

android android-intent

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

在Android L中获取Holo Timepicker

我正在使用支持库获取新的timepicker.但我需要以30分钟的时间间隔显示Holo Style时间选择器.

我使用以下代码:

 public void showTimePickerDialog(Calendar calendar) {
    selectedCalendarInstance = calendar;
    TimePickerDialog timePickerDialog = new TimePickerDialog(activity, R.style.DialogTheme, this, 10, 0, false);
    timePickerDialog.setTitle(null);
    timePickerDialog.show();
}
Run Code Online (Sandbox Code Playgroud)

但我需要以下风格的时间戳

在此输入图像描述

请帮忙!

提前致谢!

android android-timepicker android-5.0-lollipop

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

将双击侦听器添加到我的自定义ImageView

我想检测我的自定义双击ImageView这是我尝试但没有成功:

    public class TouchImageView extends ImageView {

    Matrix matrix;

    // We can be in one of these 3 states
    static final int NONE = 0;
    static final int DRAG = 1;
    static final int ZOOM = 2;
    int mode = NONE;

    // Remember some things for zooming
    PointF last = new PointF();
    PointF start = new PointF();
    float minScale = 1f;
    float maxScale = 3f;
    float[] m;

    int viewWidth, viewHeight;
    static final int CLICK = 3;
    float saveScale …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-imageview

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