小编use*_*932的帖子

cakephp如何查找所有型号名称

我有一个工作来导入excel文件并通过cakephp将数据保存到数据库,问题是,这个应用程序允许用户选择他想用来保存excel文件中的数据的表,所以我需要列出所有的模型名称,我通过谷歌搜索如何获得所有型号名称,但我找不到它.我只能得到所有的表名,但这还不够.我必须知道所有的型号名称,请帮帮我...

我可以得到所有字段名称使用此代码:

$this->loadModel('Person');
        $fieldsArray=$this->Person->find('all');
        $fieldsArray=Set::extract('/0/Person',$fieldsArray);
        $fieldNames=array_keys($fieldsArray[0]['Person']);
        debug($fieldNames);
Run Code Online (Sandbox Code Playgroud)

但正如你所看到的,我必须知道型号名称,我无法解决这个问题,请帮帮我..

最好的祝福...

cakephp cakephp-1.3

4
推荐指数
2
解决办法
3304
查看次数

Android Dagger2和Butterknife冲突

我学习如何在我的android项目中使用dagger2和Butterknife,一切正常,直到我用Butterknife BindView注释注入视图,它显示错误,就像这样;

错误:(5,57)错误:找不到符号类DaggerNetComponent

这是我的DaggerNetComponent代码:

public class App extends Application {

private NetComponent mNetComponent;

@Override
public void onCreate() {
    super.onCreate();

    mNetComponent = DaggerNetComponent.builder().appModule(new AppModule(this)).netModule(new NetModule("http://example.com/"))
            .build();
}

public NetComponent getNetComponent()
{
    return mNetComponent;
}
Run Code Online (Sandbox Code Playgroud)

}

这就是我用butterknife注入视图的方式:

public class MainActivity extends AppCompatActivity implements MainScreenContact.View {

@BindView(R.id.listContact)
ListView listView;

ArrayList<CharSequence> list;
ArrayAdapter<CharSequence> adapter;

@Inject
MainScreenPresenter mainPresenter;


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

    ButterKnife.bind(this);
Run Code Online (Sandbox Code Playgroud)

如果我删除这个类上的BindView注释和ButterKnife绑定,那么它工作正常,但如果我使用它,将出现错误.

这是我的Gradle.app

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'android-apt'


android {
compileSdkVersion 25
buildToolsVersion "24.0.3"
defaultConfig …
Run Code Online (Sandbox Code Playgroud)

java android butterknife dagger-2

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

android retrofit2,dagger2单元测试

我学习如何在android中测试MVP架构的演示者层,我的演示者使用改造2,在我的活动中,我使用dagger 2作为依赖注入到我的演示者,这是我的Dagger和演示者注入看起来像:

@Inject
AddScreenPresenter addScreenPresenter;
Run Code Online (Sandbox Code Playgroud)

这是Dagger的构建者:

DaggerAddScreenComponent.builder()
            .netComponent(((App) getApplicationContext()).getNetComponent())
            .addScreenModule(new AddScreenModule(this, new ContactDatabaseHelper(this)))
            .build().inject(this);
Run Code Online (Sandbox Code Playgroud)

这是我的演示者构造函数:

@Inject
public AddScreenPresenter(Retrofit retrofit, AddScreenContact.View view, ContactDatabaseHelper contactDatabaseHelper)
{
    this.retrofit = retrofit;
    this.view = view;
    this.contactDatabaseHelper = contactDatabaseHelper;
}
Run Code Online (Sandbox Code Playgroud)

我已经编写了单元测试类并模拟了Retrofit类,但是当我运行它时,出现错误:

Mockito cannot mock/spy following:
Run Code Online (Sandbox Code Playgroud)

- 最终类 - 匿名类 - 原始类型

这是测试类:

@RunWith(MockitoJUnitRunner.class)
public class AddScreenPresenterTest {

private AddScreenPresenter mAddPresenter;

@Mock
private Retrofit mRetrofit;

@Mock
private Context mContext;

@Mock
private AddScreenContact.View mView;

@Mock
private ContactDatabaseHelper mContactDatabaseHelper;


String firstName, phoneNumber;

Upload upload;


@Before
public void setup() { …
Run Code Online (Sandbox Code Playgroud)

android unit-testing mockito dagger-2 retrofit2

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