android - 改造 ListView

标签 android mysql retrofit

我对 Android 还很陌生..

我正在尝试使用 Retrofit 从 MySQL 检索数据..

我在代码中没有发现任何错误,但是当我从设备运行应用程序时,它卡在“正在获取数据的进度对话框”上...

下面是我获取数据的代码

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 文件吗?

非常感谢您的任何回复和帮助..

最佳答案

我在演示项目中实现了 RecyclerView 和 Retrofit,它具有 SwipeView 布局(拉动刷新)。请检查下面的存储库。 https://github.com/frankodoom/Retrofit-RecyclerVew

关于android - 改造 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113762/

相关文章:

java - 改造处理成功和错误响应

android - Android中的MediaCodec是否支持音频编码器?

android - 如何在 Android 中启用 USB 调试?

c# - 如何在 Visual Studio 的 VisualBasic.Net 下开发 Android 应用程序?

php - JSON 异常没有返回结果

android - 改造 400 错误请求

Nexus 6 的 Android 值文件夹

php - 如何确定我的 sql 查询是否为 Null?

mysql - php 数据库插入未按计划工作

java - 在 Wildfly 上使用 OkHttpClient 导致异常