데이터베이스에 데이터를 입력하고 JSON 형식으로 데이터를 가져오는 예제입니다. Show 검색 결과를 가져올 수도 있습니다. 다음 세 개의 포스팅에 있는 코드를 하나의 앱에서 동작하도록 수정한 결과입니다. 나라만 검색하다록 query.php를 수정하였고 안드로이드 코드는 RecyclerView를 사용합니다. 최초 작성 - 2018. 6. 17 2018. 6. 27 - ListVIew를 RecyclerView로 변경. 2019. 11. 17 - androidx 사용하도록 변경
Amazon AWS를 사용하여 구현한 예제입니다. AWS Rest API를 Android와 연동해보기( Lambda + API Gateway + DynamoDB ) https://webnautes.tistory.com/1590 1. 동작 설명이름, 나라 항목에 데이터를 입력하고 입력 버튼을 터치하면 데이터베이스에 데이터가 저장됩니다. 전체 버튼을 클릭하면 입력되어 있는 모든 데이터를 보여줍니다. 검색할 나라를 입력하고 검색 버튼을 클릭하면 해당 데이터만 보여줍니다. 2. 전체 소스코드 및 사용방법RecyclerView를 사용하려면 build.gradle에 다음 노란줄을 추가해야 합니다.
2-1. 데이터베이스 및 테이블 생성MySQL에서 데이터베이스 및 테이블을 생성합니다.
2-2. PHP 코드php 파일은 우분투라면 /var/www/html 위치에, 윈도우에서 wamp를 사용한다면 C:\wamp\www 위치에 파일들을 생성합니다. dbcon.php
insert.php안드로이드 앱에서 POST 방식으로 전송한 데이터를 받아서 데이터베이스의 테이블에 저장합니다.
getjson.php데이터베이스의 테이블에 있는 모든 데이터를 안드로이드 앱으로 가져오기 위해서 사용됩니다.
query.php안드로이드 앱에서 입력한 나라 이름에 대응하는 레코드만 조회하여 안드로이드앱으로 리턴하기 위해서 사용됩니다.
2-3. 안드로이드 XML 코드AndroidManifest.xml인터넷 사용 권한을 추가합니다. android 9.0 이상에서 동작하게 하려면 usesCleartextTraffic 옵션도 추가해야 합니다. 해주지 않으면 “cleartext http traffic to not permitted” 라는 에러가 발생합니다.
styles.xml다음 두 줄을 추가하여 타이틀 바를 보이지않게 합니다.
activity_main.xml디폴트 액티비티인 MainActivity의 사용자 인터페이스(UI)로 사용되는 레이아웃 파일입니다.
데이터 입력, 데이터 조회, 디버깅용 정보 출력으로 구성됩니다. item_list.xmllayout 폴더에 추가합니다. RecyclerView의 한 줄에 세 개의 컬럼을 만들기 위해 사용됩니다.
2-4. 안드로이드 앱 자바코드자바코드들은 똑같은 패키지 이름이 첫줄에 명시되어 있어야 합니다. 포스팅에서는 다음과 같은 패키지 이름을 사용합니다. package com.tistory.webnautes.phpexample; PersonalData.java
UsersAdapter.javaArrayList에 있는 PersonalData 타입의 데이터를 RecyclerView에 보여주는 작업을 합니다.
MainActivity.java다음 줄에 있는 IP 주소를 MySQL 서버가 설치된 컴퓨터의 IP로 수정하세요. private static String IP_ADDRESS = "IP_ADDRESS";
3. 관련 포스팅
4. 참고[1] https://developer.android.com/guide/topics/ui/layout/recyclerview [2] http://stacktips.com/tutorials/android/android-recyclerview-example 진행해본 결과물을 기록 및 공유하는 공간입니다. |