小编Dav*_*son的帖子

如何在抛出的异常内模拟Crashlytics静态方法

我正在使用MVP架构来构建我的应用程序。我的演示者调用了一个DataManager,它负责从网络或数据库中获取数据。当我使用RxJava时,我在Presenter中订阅了Observers并将适当的状态传递给UI。我的服务层具有Android上下文,它还将创建我自己的类型的Exception,该异常也引用了Context。

if (isNetworkConnected()) {
                    final Call<ServiceResponse<AppVersion>> call = mService.getAppVersion();
                    try {
                        final Response<ServiceResponse<AppVersion>> response = call.execute();
                        if (response.isSuccessful()) {
                            final ServiceResponse<AppVersion> serviceResponse = response.body(); response.body();
                            if (serviceResponse.isSuccess()) {
                                subscriber.onNext(serviceResponse.getData());
                            } else {
                                subscriber.onError(new CustomException(mContext, response.code(), response.message(), serviceResponse.getErrorList()));
                            }
                        } else {
                            subscriber.onError(new CustomException(mContext, response.code(), response.message(), response.errorBody().string()));
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                        subscriber.onError(e);
                    } finally {
                        subscriber.onCompleted();
                    }
                } else {
                    subscriber.onError(new NoInternetException());
                }
Run Code Online (Sandbox Code Playgroud)

我的CustomException也将崩溃记录在Crashlytics中。当我对该代码进行单元测试时,我从Crashlytics获取了一个未初始化的异常。因此,我需要模拟logExceptionCrashlytics 的静态方法。但是由于演示者不接受该对象,我应该如何传递此模拟对象?

 public staticErrorType getErrorType(Throwable throwable) {
        //409: Not handled as its a …
Run Code Online (Sandbox Code Playgroud)

android unit-testing mocking crashlytics

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

MPAndroidChart:如何删除网格线?

在我LineChart旁边的平行于x轴的全数字上显示的线条中,显示了许多水平网格线:

在此输入图像描述

在此输入图像描述

我怎么能摆脱这些线?

android linechart mpandroidchart

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

如何使用 Dagger 2 在运行时注入字段?

我需要按需注入我的一个类的实例的字段,即在运行时,因为我正在即时实例化它们。

我曾经为此使用 Guice 来调用MembersInjector#injectMembersInjector#injectMembers。我怎么能在 Dagger 2 中有这样的东西?

java dependency-injection dagger-2

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

更改 MPAndroidChart 中 x 轴值的位置

我正在使用 MPAndroidChart 库,我创建了一个简单的图表示例:

在此输入图像描述

我想更改为值 X 的位置:

在此输入图像描述

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chart);

    BarChart chart = (BarChart) findViewById(R.id.chart);

    BarData data = new BarData(getXAxisValues(), getDataSet());
    chart.setData(data);
    chart.setDescription("My Chart");
    chart.animateXY(0, 5000);
    chart.invalidate();
}

private ArrayList<BarDataSet> getDataSet() {
    ArrayList<BarDataSet> dataSets = null;

    ArrayList<BarEntry> valueSet1 = new ArrayList<>();
    BarEntry v1e1 = new BarEntry(98.000f, 0); // Jan
    valueSet1.add(v1e1);
    BarEntry v1e2 = new BarEntry(95.000f, 1); // Feb
    valueSet1.add(v1e2);
    BarEntry v1e3 = new BarEntry(102.000f, 2); // Mar
    valueSet1.add(v1e3);
    BarEntry v1e4 …
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

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

在 LineChart 上显示图像而不是圆圈

我创建了一个LineChart使用库 MPAndroidChart 并且一切正常。

现在我想要做的是为图表上的每个条目显示一个可绘制的(图像)而不是默认的圆圈。

我从 API 中尝试了很多选项,但没有运气。

谁能告诉我我该怎么做?

charts android linechart mpandroidchart

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

为什么setResult不能直接返回onActivityResult中的上一个Activity?

我送一个startActivityForResultActivityAActivityB

private Uri saveFileToDrive() {
    Intent saveToDriveInten = new Intent(this, GoogleDriveProxeyActivity.class);
    saveToDriveInten.putExtra("fileUri", mCurrentImageUri.toString());
    startActivityForResult(saveToDriveInten, SAVE_TO_DRIVE);
    return null;
}
Run Code Online (Sandbox Code Playgroud)

ActivityB我看来:

Intent resultIntent = new Intent();
resultIntent.putExtra("driveUri", file.getAlternateLink());
setResult(Activity.RESULT_OK, resultIntent);
Run Code Online (Sandbox Code Playgroud)

为什么我不回来onActivityResultActivityA

实际上我不确定之后执行了什么代码

setResult(Activity.RESULT_OK, resultIntent);

我以为我不见了finish()但是这把我扔给了另一个家长活动.

java android

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