php做接口+android 请求API接口并展示到ListView例子

这篇博客详细介绍了如何使用PHP处理JSON数据,并在Android应用中通过ListView展示。涉及内容包括ListView的性能优化、Handler消息队列机制、Android HTTP请求及Activity知识。通过实例展示了如何从服务器获取数据,解析JSON并填充到ListView中,以及服务端API的PHP实现。
摘要由CSDN通过智能技术生成

知识点:

php: 处理json问题,unicode转码实现

android:ListView使用与性能优化;handler消息队列机制;androidHTTP请求,activity知识等等:

效果如下:





文件结构:





MainActivity主活动界面展示:

ListActivity 跳转活动界面展示ListView内容

Person 数据填充实体

PersonAdapter ListView数据接口

Util工具类,负责网络请求以及json解析等



Manifest文件:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tes.api" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".ListActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

</manifest>


主界面两个按钮功能:

点击按钮1获取textView里面的id,传递id参数,向服务器发起post请求;获取结果解析json,展示到按钮下面的显示TextView中

点击按钮2跳转到第二个意图,向服务器发起post请求,将结果填充到ListView中



服务端 api.php:


<?php
header("Content-Type:application/json;charset=utf-8");
$result = [
	"status" => 200,
	"msg" => "获取成功",
	"result" => [
       ["name"=>"zfeig","age"=>26,"address"=>"广州市天河区车陂天桥11号","study"=>["no"=>"0610832110","teacher"=>"李贤良"]],
       ["name"=>"lisi","age"=>27,"address"=>"四川省成都市高新区226号","study"=>["no"=>"0610832110","teacher"=>"何洁"]],
       ["name"=>"王大崔","age"=>25,"address"=>"浙江省杭州市西湖大道120号","study"=>["no"=>"0610732110","teacher"=>"刘德华"]],
       ["name"=>"刘晓花","age"=>23,"address"=>"福建省厦门市厦门大学路13号","study"=>["no"=>"0610632110","teacher"=>"王明"]],
       ["name"=>"lisi","age"=>27,"address"=>"四川省成都市高新区226号","study"=>["no"=>"0610832110","teacher"=>"何洁"]],
       ["name"=>"王大崔","age"=>25,"address"=>"浙江省杭州市西湖大道120号","study"=>["no"=>"0610732110","teacher"=>"刘德华"]],
       ["name"=>"刘晓花","age"=>23,"address"=>"福建省厦门市厦门大学路13号","study"=>["no"=>"0610632110","teacher"=>"王明"]]
	]
];


function encodeCN($result){

	foreach ($result as $k => $v) {
		if(is_array($v)){
           $result[$k] = encodeCN($v);       
		}else{
			$result[$k] = urlencode($v);
		}
	}

	return $result;
}

$result = encodeCN($result);

echo urldecode(json_encode($result));

?>

MainActivity.java



                
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值