我有一个工作来导入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)
但正如你所看到的,我必须知道型号名称,我无法解决这个问题,请帮帮我..
最好的祝福...
我学习如何在我的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) 我学习如何在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 ×2
dagger-2 ×2
butterknife ×1
cakephp ×1
cakephp-1.3 ×1
java ×1
mockito ×1
retrofit2 ×1
unit-testing ×1