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 JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째