PHP后端android项目(一)安卓端请求SAE云端json数据

来源:互联网 发布:妈妈讲故事软件下载 编辑:程序博客网 时间:2024/06/15 02:13

效果:
这里写图片描述
这里写图片描述
代码:
android:
https://code.csdn.net/u012995856/sae_php_android-android/tree/master
php:
https://code.csdn.net/u012995856/sae_php_android-php/tree/master

工具:
SAE新浪云、AFinal-android开发框架、android-studio、Atom编辑器
准备:
本地搭建好android开发环境,创建好android模拟器,申请sae账户,能使用git上传代码到sae git仓库.

1.写PHP后端代码,并上传SAE
index.php

<?php$arr = array(  'name' => 'pangPython',  'age' => 23,  'sex' => 1,  'school' => 'BZU', );echo json_encode($arr);

请求这个文件,直接返回json字符串.
在此文件目录下初始化git目录,添加sae远程仓库,并push到sae git 仓库中。这部分sae上有教程.
2.android端代码
下载afinal的jar包放入libs目录,并在app目录下的build.gradle中加入afinal的依赖

例如:

dependencies {    compile fileTree(include: ['*.jar'], dir: 'libs')    testCompile 'junit:junit:4.12'    compile 'com.android.support:appcompat-v7:24.2.0'    compile files('libs/afinal-0.3.32-bin.jar')}

布局文件直接使用默认:
res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="cn.com.hjsfot.pangpython.saephpandroid.MainActivity"></RelativeLayout>

src/main/java/包名/MainActivity.java

package cn.com.hjsfot.pangpython.saephpandroid;import android.app.Activity;import android.os.Bundle;import android.widget.Toast;import net.tsz.afinal.FinalHttp;import net.tsz.afinal.http.AjaxCallBack;public class MainActivity extends Activity {    //请求API地址    private String sae_api_url = "http://pangpython.applinzi.com/";    //声明并实例化afinal的http    private FinalHttp fh = new FinalHttp();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //开始请求api        fh.get(sae_api_url, new AjaxCallBack<String>() {            //开始请求时的回调函数            @Override            public void onStart() {                Toast.makeText(MainActivity.this,"正在请求...",Toast.LENGTH_SHORT).show();            }            //请求成功时候的回调函数,s参数为回调参数            @Override            public void onSuccess(String s) {                Toast.makeText(MainActivity.this,s,Toast.LENGTH_SHORT).show();            }            //请求失败时            @Override            public void onFailure(Throwable t, String strMsg) {                Toast.makeText(MainActivity.this,strMsg,Toast.LENGTH_SHORT).show();            }        });    }}

将要准备使用阿里的fastjson解析json数据。

1 0
原创粉丝点击