(アンドロイド)Javaで(私はASP.NETで行われていること)は、Web APIを呼び出すためにしようとしている:すべての私はこれが私のコードである
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
String url="10.152.2.45";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private class ListarEventos extends AsyncTask<String, Void, ArrayList<Evento>> {
private OkHttpClient client = new OkHttpClient();
@Override
protected void onPostExecute(ArrayList<Evento> direcciones) {
super.onPostExecute(direcciones);
}
@Override
protected ArrayList<Evento> doInBackground(String... params) {
Request request = new Request.Builder()
.url(url)
.build();
try {
Response response = client.newCall(request).execute();
return parseResult(response.body().string());
} catch (IOException | JSONException e) {
Log.d("Error",e.getMessage());
return new ArrayList<Evento>();
}
}
ArrayList<Evento> parseResult(String JSONstr) throws JSONException {
ArrayList<Evento> eventos = new ArrayList<>();
JSONObject json = new JSONObject(JSONstr);
JSONArray jsonEventos = json.getJSONArray("results");
Date result=new Date();
for (int i=0; i<jsonEventos.length(); i++) {
JSONObject jsonResultado = jsonEventos.getJSONObject(i);
int jsonId = jsonResultado.getInt("Id");
String jsonMat = jsonResultado.getString("Materia");
String jsonTipo = jsonResultado.getString("Tipo");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH");
String Fecha=jsonResultado.getString("Fecha");
try {
result = df.parse(Fecha);
}catch (Exception e) {
}
String jsonDesc = jsonResultado.getString("Descripcion");
Evento d = new Evento();
d.Id=jsonId;
d.Materia=jsonMat;
d.Tipo=jsonTipo;
d.Fecha=result;
d.Descripcion=jsonDesc;
eventos.add(d);
}
return eventos;
}
}
}
まず、私がコールする方法がわかりません私はIPアドレスを書く場合、私はAPIを(同じコンピュータ内で)デバッグ中にアンドロイドをデバッグするので、サービスは、動作しません。 コードは、APIを呼び出し、localhost/api/Eventos/Getに行き、すべてのイベントでjsonを取得します。
PS:私はlocalhostを書く場合、それはあなたが、それは正確なURLを知っている必要があり、あなたのマシン上で動作するWeb APIを呼び出すには