Локальный C # API, программа Android Studio - PullRequest
0 голосов
/ 25 июня 2018

У меня есть локальный веб-API в c #, работающий в VS17, который запускает и обращается к БД в SQL Express, используя основные методы HTTP.

И с другой стороны, я хочу (иметь основы) Android-приложение, которое должно получить доступ к API и просто генерировать простые запросы GET (в настоящее время использует Retrofit) , а затем отображать данные, которые был найден. Все отлично работает на сервере (проверено почтальоном).

Но мне не удалось получить доступ к моему API через приложение. Любое руководство о том, где мне нужно искать или как начать, было бы здорово!

Примечания: API размещается локально SQLEXpress DB локальный Android Device - эмулятор Мне нужно использовать SQLExpress как SQlite приватная финальная строка BASE_URL = "http://10.0.2.2:60060";

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

    listView = (ListView)findViewById(R.id.pagination_list);

    Retrofit.Builder builder = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create());

    Retrofit retrofit = builder.build();

    EmployeeAPIClient client = retrofit.create(EmployeeAPIClient.class);

    Call<List<Employee>> call = client.allEmployees();

    call.enqueue(new Callback<List<Employee>>() {
        @Override
        public void onResponse(Call<List<Employee>> call, Response<List<Employee>> response) {
            List<Employee> employees = response.body();

            Log.w("MainAct onResponse():", " response method called.");
            if(employees.size() <= 0){
                Log.w("EMPTY", " List is empty..");
            }else {
                for(Employee emp: employees){
                    Log.d("FirstName: " , emp.getFirstName());
                    Log.d("LastName: " , emp.getLastName());
                    Log.d("Gender: " , emp.getGender());
                    Log.d("Salary: " , emp.getSalary());
                }
                //listView.setAdapter(new EmployeeAdapter(MainActivity.this, employees));
            }

1 Ответ

0 голосов
/ 25 июня 2018

IISExpress не поддерживает удаленные запросы. Вы должны будете сделать некоторые настройки, чтобы это заработало:

Здесь вы получили отличное объяснение, как это сделать: https://stackoverflow.com/a/3364468/637840

...