상세 컨텐츠

본문 제목

R&D 2016 프로젝트2-01 Json Parser for Android 기본설정

안드로이드+드론 제작

by 김일국 2015. 12. 6. 16:22

본문

지금까지는 리턴값으로 String 을 사용해서 안드로이드에서 Response를 받았습니다.

이번 시간에는 https://www.youtube.com/channel/UCAyftOCC5eq1rbbs7lS_bLg 유투브 동영상중에서

Android JSON Parser from URL - Android Studio 2015 : https://www.youtube.com/watch?v=PRQvn__YkCM

이 부분에서 리턴값으로 JSON을 사용해서 안드로이드에서 Respoinse를 처리하는 작업을 하도록 하겠습니다.


* 프로젝트를 위한 기본설정-1(외부 라이브러리 사용)

1. https://github.com/kosalgeek/KGJsonConverter 에서 KGJsonConverter.jar 파일을 다운로드(나중에는 자바클래스파일로 대체할 예정)

2. 안드로이드 스튜디오에서 프로젝트의 libs를 마우스 오른쪽 클릭> 라이브러리 추가 선택

3. http://grepcode.com/snapshot/repo1.maven.org/maven2/com.google.code.gson/gson/2.2.4에서 GSON 2.2.4 라이브러리를 다운로드

4. 안드로이드 스튜디오에서 프로젝트의 libs를 마우스 오른쪽 클릭> 라이브러리 추가 선택(구글JSON파서클래스 입니다.)

또는 의존성에 탭에서 "com.google.code.gson:gson:2.2.4" 를 컴파일 추가

/* 기본사용법 */

ArrayList<ModelClass> userList = new JsonConverter<ModelClass>().toArrayList(jsonString, ModelClass.class);

List<ModelClass> userList = new JsonConverter<ModelClass>().toList(jsonString, ModelClass.class);

/* 샘플코드(Model 클래스) */

import com.google.gson.annotations.SerializedName;

public class Product {

    @SerializedName("id")

    public Integer id;

    @SerializedName("name")

    public String name;

    @SerializedName("username")

    public String username;

    @SerializedName("password")

    public String password;

}

/* 샘플코드(Controller 클래스) */

String jsonString = "[{\"id\":\"1\",\"name\":\"김일국\",\"username\":\"kimilguk1\",\"password\":\"kim1\"}]";

ArrayList<Users> users = 

            new JsonConverter<Users>().toArrayList(jsonString, User.class);

//test output result

String output = "";

for(Users u: users){

    output += "id: " + u.id;

    output += ", name: " + u.name;

    output += ", username: " + u.username;

    output += ", password: " + u.password;

}

Toast.makeText(this, output, Toast.LENGTH_LONG).show()

========================================================

* 프로젝트를 위한 기본설정-2(테이블 생성)

// 이전 프로젝트의 tbl_client 테이블을 공통으로 사용합니다.

========================================================

* 프로젝트를 위한 기본설정-3(PHP파일 생성)

파일명: 

user_list.php

<?php

header("Content-Type: text/html; charset=UTF-8");

include_once("connection.php");//이전 프로젝트와 공통으로 사용합니다.

mysqli_query($conn, "SET NAMES utf8");//Json출력 한글문제로 추가

if( isset($_GET['format']) && $_GET['format'] == "json" ) {

$query = "SELECT * FROM tbl_client ";

$result = mysqli_query($conn, $query);

$list = array();

while($row = $result->fetch_array(MYSQL_ASSOC) ) {

$list[] = 

array(

'id'=>$row['id']

,'name'=>urlencode($row['name'])//한글출력문제로 urlencode 추가

,'username'=>$row['username']

,'password'=>$row['password']

);

}

echo urldecode(json_encode($list));//한글출력문제로 urldecode 추가

$result->close();

exit;

}

echo "add <i>?format=json</i> the end of the URL";

?>

작업결과 확인URL: http://127.0.0.1/android/user_list.php?format=json

다음시간에는 안드로드이 스튜디오에서 이전프로젝트에서 생성한 서브액티비티에서 

* JSON 결과값을 안드로이드화면에 파싱하는 방법을 진행 하도록 하겠습니다.


user_list.php
0.0MB

관련글 더보기

댓글 영역