2016年1月14日木曜日

Android : Jsonデータ取得

AndroidからHTTP経由でJsonデータを取得し表示する方法です。

1.Web側
今回はCakephpで作ってあるので、indexアクションをコピーしてindex2アクションを作りました。

public function index2() {
                $this->Point->recursive = 0;

                $this->paginate = array(
                        'limit'=>2,
                        'fields' => array('id','name','latitude', 'longitude'),
                 );

                $datas = $this->Paginator->paginate();

                foreach ($datas as $data){
                        $datas['Point'][] = array(
                                'id'=> $data['Point']['id'],
                                'name' => $data['Point']['name'],
                                'latitude' => $data['Point']['latitude'],
                                'longitude' => $data['Point']['longitude'],
                        );
                }

                header('Content-Type: application/json');
                echo json_encode($datas);
                exit;
        }

※注意
               foreach ($datas as $data){
                        $datas['Point'][] = array(
                                'id'=> $data['Point']['id'],
                                'name' => $data['Point']['name'],
                                'latitude' => $data['Point']['latitude'],
                                'longitude' => $data['Point']['longitude'],
                        );
                }
findでそのままできれば良かったが、配列を作り直さなければうまくいかなかった。

2.Android側
 AsyncTaskクラスを利用(http://mizunolab.sist.ac.jp/2016/01/android-asynctask.html)
ソースコード

0 件のコメント:

コメントを投稿