2016-06-30 3 views
0

Я довольно новый для андроид ..дооснащения ListView

Я пытаюсь получить данные из MySQL с помощью Дооснащения ..

я ничего не нашел ошибку в своем коде, но при запуске приложения из устройства он заклинивание на Progress Dialog Получение данных ...

ниже приведены мои коды для извлечения данных

private void getBooks(){ 
    final ProgressDialog loading = ProgressDialog.show(this,"Mengambil Data..","Silahkan Tunggu...",false,false); 
    RestAdapter adapter = new RestAdapter.Builder() 
      .setEndpoint(ROOT_URL) 
      .build(); 

    BookAPI api = adapter.create(BookAPI.class); 
    api.getBooks(new Callback<List<Book>>() { 
     @Override 
     public void success(List<Book> list, Response response) { 
      loading.dismiss(); 
      books = list; 
      showList(); 
     } 

     @Override 
     public void failure(RetrofitError error) { 

     } 
    }); 
} 

private void showList(){ 
    String[] items = new String[books.size()]; 
    for(int i = 0; i<books.size();i++){ 
     items[i] = books.get(i).getName(); 
    } 

    ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.simple_list,items); 
    listView.setAdapter(adapter); 
} 

, а также ниже интерфейс я имею

public interface BookAPI { 
@GET("/retrofit/listdata.php") 
public void getBooks(Callback<List<Book>> response); 
} 

и, наконец, мой файл PHP для перечисления данных с именем listdata.php

<?php 

$link = mysqli_connect('localhost', 'root', '') or die('Cannot connect to the DB'); 
mysqli_select_db($link, 'retrofit') or die('Cannot select the DB'); 
$query = "SELECT * from tbl_book"; 
$rs= mysqli_query($link,$query) or die('Errorquery: '.$query); 
$countrow= mysqli_affected_rows($link); 
$items = array(); 
while($row = mysqli_fetch_object($rs)){ 

array_push($items, $row); 

} 
if($countrow >0){ 
//$result["errorcode"] = "1"; 
$result = $items; 
}else{ 
$result["errormsg"] = "Tidak ada data"; 
} 

echo json_encode($result); 
?> 

Пожалуйста, помогите мне .. я застрял на этой ситуации .. Это потому, что я использую файл PHP вместо JSON файл на моем интерфейсе?

бы очень признателен за любой ответ и помочь ..

+1

проверить с помощью 'fail()', вы можете получить некоторую ошибку –

+0

поместить 'load.dismiss();' в сторону ваш метод 'failure()' ... ИЛИ используйте эту ссылку, это поможет вам https: //github.com/sushildlh/AllProjetcs/wiki/Retrofit --- Firebase .............. – sushildlh

ответ

Смежные вопросы