我创建了自己的测试JSON,并尝试使用Android
将其合并到我的Retrofit
应用程序中,但是由于某些原因,我似乎无法理解尝试使用Null Point Exception
来获取JSON
。
我创建了看起来像这样的JSON:
[{"date":"2019/01/01","availability":"available"},{"date":"2019/01/02","availability":"closed"},{"date":"2019/01/03","availability":"closed"}]
依此类推...
然后,我同时设置了Retrofit
代码和Room
数据库代码。
这是来自主类的Retrofit
代码:
public class MainActivity extends AppCompatActivity {
MainRepository mainRepository;
Call<List<RFVariables>> getRFPosts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
getRFPosts = mainRepository.getGetPosts();
getRFPosts.enqueue( new Callback<List<RFVariables>>() {
@Override
public void onResponse(Call<List<RFVariables>> call, Response<List<RFVariables>> response) {
List<RFVariables> myResponse = response.body();
if(myResponse != null) {
for(RFVariables item: myResponse) {
Log.d("TAG", item.getDate());
}
}
}
@Override
public void onFailure(Call<List<RFVariables>> call, Throwable t) {
}
} );
它在getRFPosts = mainRepository.getGetPosts();
行崩溃,并显示错误Attempt to invoke interface method 'void retrofit2.Call.enqueue(retrofit2.Callback)' on a null object reference
at com.slothmode.sunnyatsea.MainActivity.onCreate(MainActivity.java:25)
存储库代码如下:
private Retrofit retrofitObject;
private RFCalls retrofitRepository;
private Call<List<RFVariables>> getPosts;
public MainRepository(Application application) {
this.retrofitObject = new Retrofit.Builder()
.baseUrl( "https://api.myjson.com/bins/" )
.addConverterFactory( GsonConverterFactory.create() )
.build();
this.retrofitRepository = this.retrofitObject.create( RFCalls.class );
this.getPosts = this.retrofitRepository.findPosts();
}
public Call<List<RFVariables>> getGetPosts() {
return getPosts;
}
我之前已经成功完成了此操作,所以不确定这次有什么问题。好像是我其他成功项目的精确副本。我想念什么?让我知道是否还有更多代码应显示。提前致谢。真的卡在这里。
答案 0 :(得分:0)
在执行此操作之前,您尚未初始化MainRepository:
getRFPosts = mainRepository.getGetPosts();
因此,请在尝试使用mainRepository
类之前对其进行初始化。
mainRepository = new MainRepository(getApplicationContext());
在此处查看有关NullPointerException
的更多信息: