我试图为每一块代码集成单元测试用例.但是我在为通过改造进行的api调用添加测试用例时遇到了问题.
JUnit编译器从不执行CallBack函数中的代码.
还有另一个选项是将所有api调用同步用于测试目的,但对于我的应用程序中的每个案例都不可能.
我该如何解决这个问题?我必须以任何方式在api调用中添加测试用例.
我正在使用改装进行后端通信,并在其下面使用我的改装电话的片段:
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()被调用?
请帮忙!
提前致谢.
我正在尝试使用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.
请帮忙!谢谢.
我需要根据设备的屏幕尺寸设置自定义边距和textSize.我在网上搜索过,但没有找到我需要的任何答案:
我应该在哪里存储尺寸较小的尺寸值,如mdpi屏幕.
请帮忙
提前致谢!
我正在使用Retrofit进行后端通信:如果状态代码不是200,那么回调调用失败方法.但我想在失败方法中获取状态代码以进一步调整代码
@Override
public void failure(RetrofitError retrofitError) {
Logger.e("ERROR Status:", retrofitError.getResponse().getStatus() + "");
}
}
Run Code Online (Sandbox Code Playgroud)
但上面的代码总是给出一个空指针异常.如何在失败时获取标题的状态代码.
请帮忙.
提前致谢.
我想点击我的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)
堆栈未被清除,当我按后退键时,显示所有先前的活动,这不是预期的结果.
请帮忙!
提前致谢.
我正在使用支持库获取新的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)
但我需要以下风格的时间戳

请帮忙!
提前致谢!
我想检测我的自定义双击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)