selfcheckout app 안드로이드 스튜디오에서 zxing 이용, 구글 클라우드 vm instance 서버구축 mysql php 연동해서 만들기~







저번에는 MIT appinventor로 만들어 보았는데, 이번에는
안드로이드 스튜디오로 만들었습니다.

zxing 라이브러리를 이용해서 qr코드를 스캔한 다음
스캔 결과값을 ArrayList<String>에 넣어서 리스트 뷰에 보여주고,
각각 선택 할 수 있도록 만들고, Delete item 버튼을 누를 경우
선택된 index 값이 삭제 될 수 있도록 만들었습니다.
그리고 구글 클라우드에 서버 설치후 mysql에서 웹에 Json으로 정보를 뿌려준후
안드로이드에서 웹에 있는 Json을 파싱해서,
내가 새로 만든 Product라는 클래스를 이용하여 ArrayList<Product>에 Json을 넣어서
각각 객체 리스트를 만들고,
상품정보와 스캔한 결과의 제품이름이 같을 경우 제품의 가격들을 총 지불할 금액에
계속적으로 더해주는 방식으로, 총 값을 계산할 수 있도록 하였다.
Payment 버튼을 누르면 서버에 있는 mysql에 payment라는 테이블에
insert 되도록 구현해보았습니다.


소스코드는 생략하고 그냥 동영상만 일단 올리고 github 링크 첨부합니다.
https://github.com/ndgndg91/Selfcheck

NAS에 MariaDB 제품 정보들 Json
http://ndgndg91.iptime.org/~ndgndg91/selfcheck/cal.php




payment 버튼 클릭하면 payment 테이블에 pay_amount 컬럼에 insert
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);

$link=mysqli_connect("localhost","root","","selfcheck");
if (!$link)
{
   echo "MySQL 접속 에러 : ";
   echo mysqli_connect_error();
   exit();
}


mysqli_set_charset($link,"utf8");

//POST 값을 읽어온다.
$tp=isset($_POST['tp']) ? $_POST['tp'] : '';


if ($tp !=""){

    $sql="insert into payment(pay_amount) values('$tp')";
    $result=mysqli_query($link,$sql);

    if($result){
       echo "SQL문 처리 성공";
    }
    else{
       echo "SQL문 처리중 에러 발생 : ";
       echo mysqli_error($link);
    }

} else {
    echo "데이터를 입력하세요 ";
}


mysqli_close($link);
?>

<?php

$android = strpos($_SERVER['HTTP_USER_AGENT'], "Android");

if (!$android){
?>

<html>
   <body>
 
      <form action="<?php $_PHP_SELF ?>" method="POST">
         tp: <input type = "text" name = "tp" />
         <input type = "submit" />
      </form>
 
   </body>
</html>
<?php
}
?>


댓글

  1. QR코드에 어떻게 정보를 넣으셨나요?

    답글삭제
    답글
    1. https://www.qr-code-generator.com/a1/?ut_source=google_c&ut_medium=cpc&ut_campaign=allesprachen_foreign_terms&ut_content=allesprachen_foreign_terms_adgroups_other&ut_term=qr%20%EC%BD%94%EB%93%9C%20%EC%83%9D%EC%84%B1_e&gclid=CjwKCAjwxaXtBRBbEiwAPqPxcH9h-seHFBXQwHLpn2wZuBYQHGDxWhadL23Vtsjw8UpEef_fWKQAHBoCUbMQAvD_BwE

      생성기를 사용하시면 됩니다.

      삭제

댓글 쓰기

이 블로그의 인기 게시물

About Kafka Basic

About JVM Warm up

About ZGC

Spring Boot Actuator readiness, liveness probes on k8s

About G1 GC

sneak peek jitpack

About idempotent

C 언어 구조체의 포인터 멤버 변수

Synology NAS에 MariaDB 10에 Mysql workbench로 원격접속하기

About Websocket minimize data size and data transfer cost on cloud