我想使用Retrofit从服务器获取JSON字符串数组。 JSON数组是这样的。
["A","B","C"]
这是我制作的代码。
MainActivity.class
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url="http://proverbs-app.antjan.us";
RestAdapter restAdapter;
restAdapter = new RestAdapter.Builder()
.setEndpoint(url)
.build();
Service service=restAdapter.create(Service.class);
service.get(new Callback<List<String>>(){
@Override
public void failure(RetrofitError error) {
Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
}
@Override
public void success(List<String> arg0, Response arg1) {
Toast.makeText(getApplicationContext(), arg0.toString(), Toast.LENGTH_LONG).show();
}
});
}
}
这是Service.class
public interface Service {
@GET("/")
public void get(Callback<List<String>> callback);
}
它只显示“错误”Toast。
我的代码有问题。 请帮我修理一下。 我是初学者。 所以,请详细回答我,因为我不太了解它。 提前谢谢。
答案 0 :(得分:1)
您需要在界面中指定URL的相对路径。
@GET("/")
public void get(Callback<List<String>> callback);
答案 1 :(得分:1)
看起来你错过了Gson。将此行添加到dependencies
中的build.gradle
块:
compile 'com.google.code.gson:gson:2.3.1'