[Serializable]
public class ContentsInfo
{
ย ย public int vc_id;
ย ย public string vc_content_title = string.Empty;
ย ย public string vc_hls_link = string.Empty;
ย ย public int vc_content_type;
ย ย public int vc_camera_num;
ย ย public string vc_start_time = string.Empty;
ย ย public string vc_end_time = string.Empty;
ย ย public string vc_content_desc = string.Empty;
ย ย public int vc_view_cnt;
ย ย public int vc_like_cnt;
ย ย public int vc_download_cnt;
ย ย public int ar_id;
ย ย public string ar_name = string.Empty;
ย ย public string ar_desc = string.Empty;
ย ย ย
ย ย public ContentsInfo(int _vi, string _vctt, string _vhl, int _vct, int _vcn,
ย ย ย ย string _vst, string _vet, string _vcd, int _vvc, int _vlc, int _vdc, int _ai, string _an, string _ad)
ย ย {
ย ย ย ย vc_id = _vi;
ย ย ย ย vc_content_title = _vctt;
ย ย ย ย vc_hls_link = _vhl;
ย ย ย ย vc_content_type = _vct;
ย ย ย ย vc_camera_num = _vcn;
ย ย ย ย vc_start_time = _vst;
ย ย ย ย vc_end_time = _vet;
ย ย ย ย vc_content_desc = _vcd;
ย ย ย ย vc_view_cnt = _vvc;
ย ย ย ย vc_like_cnt = _vlc;
ย ย ย ย vc_download_cnt = _vdc;
ย ย ย ย ar_id = _ai;
ย ย ย ย ar_name = _an;
ย ย ย ย ar_desc = _ad;
ย ย }
ย ย public string ToJson()
ย ย {
ย ย ย ย //ํ์ฌ ๊ฐ์ฒด๋ฅผ Json ๋ฌธ์์ด๋ก ๋ณํํจ
ย ย ย ย return JsonUtility.ToJson(this);
ย ย }
}
[Serializable]
public class ContentsInfoList
{
ย ย public string result_code = string.Empty;
ย ย public List<ContentsInfo> result_data = new List<ContentsInfo>();
}
[SerializeField]
public class ContentsInfoMessage
{
ย ย public string result_code = string.Empty;
ย ย public ContentsInfo result_data;
}
ํด๋ผ์์ ์ด๋ ๊ฒ ์ ์ ์ ๋ณด๋ฅผ ๋ฐ๋ ํด๋์ค๋ฅผ ์ง์ ํด๋๊ณ ์๋ฒ์์ ๋ฐ์ดํฐ ๊ฒํ๊ณ ํฌ์คํธํ๋ ๋ฐฉ์์ ์ด๋ฏธ ์ค๋น์ค์.
์ผ๋จ ๊ฒ ๋ฐฉ์์ผ๋
IEnumerator ContentsControllerGetMessageAll(int _index, int _count)
ย ย {
ย ย ย ย string url = "http://" + serverAddress + "์๋ฒ์ฃผ์" + _index + "/" + _count + "/";
ย ย ย ย // GET๋ฐฉ์ Request ์์ฒญ ๊ฐ์ฒด ์์ฑ
ย ย ย ย UnityWebRequest www = UnityWebRequest.Get(url);
ย ย ย ย // ์๋ฒ์ ์์ฒญ
ย ย ย ย yield return www.SendWebRequest();
ย ย ย ย // ๋ฉํฐ ๋ฉ์์ง ์ถ๋ ฅ
ย ย ย ย PrintContentsIndexMessage(www);
ย ย }
public void PrintContentsIndexMessage(UnityWebRequest www)
ย ย {
ย ย ย ย // www ์๋ฌ ๋ฐ์์
ย ย ย ย if (www.isNetworkError || www.isHttpError)
ย ย ย ย {
ย ย ย ย ย ย // ์๋ฌ ๋ฉ์์ง ์ถ๋ ฅ
ย ย ย ย ย ย errorMessageText.text = www.error;
ย ย ย ย }
ย ย ย ย else
ย ย ย ย {
ย ย ย ย ย ย // Http ์๋ต ์ฝ๋ ์ถ๋ ฅ
ย ย ย ย ย ย //httpStatusCodeText.text = www.responseCode.ToString();
ย ย ย ย ย ย //errorMessageText.text = "none";
ย ย ย ย ย ย // ์๋ต ๋ฐ์ดํ ๋ก๊ทธ ์ถ๋ ฅ : Json
ย ย ย ย ย ย Debug.Log(www.downloadHandler.text);
ย ย ย ย ย ย // ์๋ต ๋ฐ์ดํ ํ์ฑ
ย ย ย ย ย ย ContentsInfoList responseData = JsonUtility.FromJson<ContentsInfoList>(www.downloadHandler.text);
ย ย ย ย ย ย // ํ์ฑํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋งค๋์ ์ ๋ณ์์ ์ฝ์
ย ย ย ย ย ย dataManager.contentCount = responseData.result_data.Count; <<<<----------------- ์๋ถ๋ถ
foreach (ContentsInfo contentsInfo in responseData.result_data)
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย dataManager.contentTitle = contentsInfo.vc_content_title;
ย ย ย ย ย ย ย ย dataManager.arName = contentsInfo.ar_name;
ย ย ย ย ย ย ย ย dataManager.likeCount = contentsInfo.vc_like_cnt;
ย ย ย ย ย ย ย ย dataManager.viewCount = contentsInfo.vc_view_cnt;
ย ย ย ย ย ย ย ย landingPage.Initialized();
ย ย ย ย ย ย }ย ย
}
๋ฐ์ดํฐ๋งค๋์ ๋ผ๋ ์ฑ๊ธํคํ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์ค๋นํด๋๊ณ ํ๋ฒ ๋ฐ์์ ๋ ๊ฐ์ด ์ ๋ณํ๋ ๋ณ์๋ค์ ์ด๋ฐ์์ผ๋ก ์ ์ฅ ํ๋ฉด๋จ?
๋ง๋ ๋ฐฉ์์ธ์ง ๊ถ๊ธํด์ ์ง๋ฌธํ๋ฌ ์์..
์๋ฒ๋ ํต์ ํ ๋ ๋ง๋ค ๊ฐ์ด ๋ณ๋์ ์ธ ๋ฐ์ดํฐ๋ค์ ์ด๋ค์์ผ๋ก ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์. ๋์!
๊ตณ์ด ๊ณ์ ๋ฐ์์ฌ ํ์์์ผ๋ฉด ๋ณ๋๋๋ ๋ฐ์ดํฐ๋ ํ๋ฒ ๋ฐ์ผ๋ฉด ๋ณ๋ ์๋๋ ๋ฐ์ดํฐ๋ ๋ฐ๋ก ๋ถ๋ฆฌํ๋๊ฒ ๋์. ๊ทธ๋ฆฌ๊ณ ๊ณ ์ ํ ์์ด๋๊ฐ์๊ฑธ ํค๊ฐ์ผ๋ก ๋ฌถ์ด์ request๋ณด๋ผ๋ ์๋ฒ์ post๋ฐฉ์์ผ๋ก ๋ณด๋ด๋๊ฐ ๋ณด์์ด ์ค์ํ์ง ์์ผ๋ฉด get๋ฐฉ์์ผ๋ก ๋ณด๋ด๋๊ฐ, ์๋ฌดํผ ๋๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ง ์์ฒญํด์ ๋ฐ์์ค๋ ์์ผ๋ก ํ๋ฉด๋จ {key1 : [{..}, {..} ], key2: [{...}, {...}]} ๋์ ๋๋ฆฌ๋ก ๋ฌถ๋๊ฐ array๋ก ๋ฌถ๋๊ฐ ๊ฒฐ์ ์ ๋ง์๋๋ก
๋ณ๋๋๋ ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ๋งค๋์ ๋ง๊ณ ์ ์ด์ค๋๋ก ๋ฐ๋ก ์คํฌ๋ฆฝํธํ์ ๋์ ๋๋ฆฌ ๋ฐฉ์์ผ๋ก ํ๋๊ฑฐ์?
์ด๋ป๊ฒ ์ค๊ณํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋๋ผ๋ฉด mvcํจํด์ผ๋ก ์ค๊ณํด์ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ ๋ด๋ model์ class๋ก ๋ง๋ค์ด์ ๋๊ณ (๋๊ฐ ContentsInfo๋ก ๋ง๋ ๊ฑฐ) , DataManager์์ ์์์ ๋ง๋ Model์ List๋ Dictionary์ ์ฅํ ๋งด๋ฒ๋ณ์๋ก ์ ์ธํ ๊ฑฐ์ ๋ณ๋๋๋๋ฐ์ดํฐ, ๋ณ๋์๋๋ ๋ฐ์ดํฐ ๋ฐ๋ก๋ฐ๋ก. ๊ทธ๋ฆฌ๊ณ DataManagerํจ์๋ก WebRequest๋ก ํต์ ํด์ ์น์์ Json๋ฐ์ดํฐ ๋ฐ์์จ๋ค์์ ํ์ฑํด์ ๋งด๋ฒ๋ณ์์ ์ ์ฅํด๋๋ ์์ผ๋ก ๋ง๋ฌ. ๊ทธ๋ฆฌ๊ณ ๊ฒ์์์ ๋ฐ์ดํฐ๋งค๋์ ์ ์ ์ฅ๋์ด์๋ ๋งด๋ฒ๋ณ์์ ์ ๊ทผํด์ ๊ฐ์ ธ์ค๋ ์์ผ๋ก ํจ. ์น์ด๋ ํต์ ํด์ ๋งด๋ฒ๋ณ์ ๊ฐ์ด ๋ฐ๋์์ผ๋ฉด ๊ฒ์์์์ ๋ค์ ๊ทธ ๋ณ์์ ์ ๊ทผํ๋ฉด ๊ฐ์ด ๋ฐ๋๊ฑธ๋ก ๊ฐ์ ธ์ค๊ฒ๋จ
mvc ํจํด ๋ชจ๋ฅด๋ฉด ๊ตฌ๊ธ๋งํด์ ๋ฐฐ์๋ผ. ์ ๋ฌธ๊ฐ๋ค๋ ๋ค ์ดํจํด์ผ๋ก ๋ฐ์ดํฐ๊ด๋ฆฌํจ