라벨이 안드로이드(Android)인 게시물 표시

Native Android 개발할 때 PHP로 MySQL에 http 서버통신 하기

이미지
2017년 서울시 앱공모전에 참가하면서 안드로이드 앱을 개발하는 과정에서 php를 이용해서 서버통신을 하게 되었다. 이 과정에서 깔끔하게 정리된 코드를 유투브에서 찾아서 내가 개발하는 앱에 커스터마이징해서 사용했다. 괜찮은것 같아서 블로깅하려 한다. 본인은 안드로이드 개발할 때 서버를 구글 클라우드 플랫폼을 이용했다. VM 인스턴스를 이용해서 우분투 환경에서 APM으로 서버를 구축했다. 먼저 아래에 참고한 유투브 링크  https://www.youtube.com/watch?v=8Ou1ERM2MOw&index=4&list=PLk7v1Z2rk4hjQaV062aE_CW68xgXdYFpV 우선 php 폴더밑에 includes 폴더와 v1 폴더를 두고 includes폴더 밑에 mysql에 연결과 관련된 정보들 DBname, DBuser, DBpassword, DBhost을 관리하고 연결한다. 그리고 DbOperations에서는 Create, Update, Delete, Select DML을 처리하게끔 함수를 짜놓는 구성이다. v1밑에 php파일들은 DbOperations의 함수들을 불러서 각각 사용할수 있도록 구성한다. Constants.php <?php define('DB_NAME', '너의 디비이름'); define('DB_USER', '접속할 사용자 이름'); define('DB_PASSWORD', '비밀번호'); define('DB_HOST', '로컬접속? 혹은 원격접속?'); DbConnect.php <?php class DbConnect{ private $con; function __construct(){ } function connect(){ include_once dirnam...

AIbridge 라이브러리 간단한 적금앱, tinyDB 사용해서 간단하게 저장, 불러오기

이미지
라이브러리를 추가 해주기 http://www.appinventor.org/content/java-bridge/introduction/intro-android-studio <- 다운로드 위치 // you need the following imports in all Java Bridge apps //저의 깃헙 주소 : https://github.com/ndgndg91 import com.google.appinventor.components.runtime.Button; import com.google.appinventor.components.runtime.Component; import com.google.appinventor.components.runtime.EventDispatcher; import com.google.appinventor.components.runtime.Form; import com.google.appinventor.components.runtime.HandlesEventDispatching; import com.google.appinventor.components.runtime.HorizontalArrangement; import com.google.appinventor.components.runtime.Label; import com.google.appinventor.components.runtime.ListPicker; import com.google.appinventor.components.runtime.TextBox; import com.google.appinventor.components.runtime.TinyDB; import java.util.regex.*; // import any components you are going to use in your app. In this case, just Button // you can use the following header for all apps ...

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 mysql...

AIbridge로 간단한 계산기 만들기

이미지
먼저 실행 동영상 java 파일 package com.example.acer.aibridgeapp; // you need the following imports in all Java Bridge apps import com.google.appinventor.components.runtime.Button; import com.google.appinventor.components.runtime.Component; import com.google.appinventor.components.runtime.EventDispatcher; import com.google.appinventor.components.runtime.Form; import com.google.appinventor.components.runtime.HandlesEventDispatching; import com.google.appinventor.components.runtime.HorizontalArrangement; import com.google.appinventor.components.runtime.Label; import com.google.appinventor.components.runtime.TextBox; import java.util.regex.*; public class Screen1 extends Form implements HandlesEventDispatching { // declare all your components as instance variables private Label Totallable ; private HorizontalArrangement ha ; private HorizontalArrangement ha2 ; private HorizontalArrangement ha3 ; private HorizontalArrangement ha4 ; private HorizontalArrangement ha...

App inventor와 구글클라우드 vm instance에 서버구축후 selfcheckout 만들기

이미지
마트에서 계산줄을 기다릴필요 없이 말그대로 스스로 체크아웃할 수 있는 selfcheckout어플리케이션을 허접하게나마 구현해보았습니다. 그리고 바코드대신 qr코드를 사용하였습니다. 또한 qr코드 리더기는 app inventor말고 외부에서 제공해주는 앱을 따로 설치해서 구현하였습니다. 먼저 실행 동영상 우선 레이아웃은 아래와 같이 구성했습니다. 그리고 블럭들.. 그리고 아래는 구글 클라우드에 인스턴스 생성후 APM(apache + php + mysql)을 구축하여 mysql에 php를 사용하여 데이터를 주고 받을 수 있도록 하였다. 아래는 미리 등록해둔 제품명과 가격이다. 아래 테이블은 Payment버튼을 클릭하였을 경우 payment 테이블에 중간계산값이 pay_amount에 insert되도록 만들어 보았습니다. 아래는 php DB 개인정보는 캡쳐에서 생략하고 캡쳐 하였다. 이상 허접의 기록

집에 굴러다니는 안드로이드 스마트폰으로 CCTV 만들기

이미지
준비물 : 스마트폰(공기계) , iptime 공유기            당연히 지금 쓰고 있는 스마트폰 편의상 공기계를 phone1이라고 부르고, 현재 사용중인 스마트폰을 phone2라고 부르겠다. 1. 먼저 phone1에   ip webcam 설치      그리고 맨밑에 서버시작을 누르면 아래 사진과 같이 카메라 기능이 구동된다.       밑에 사진처럼 포트나 계정/패스워드 설정이 가능하다   2. phone2에  ip webcam Viewer Lite 설치 위에 사진에 호스트/ip는  iptime 공유기에서 ddns와 포트포워딩을 해주어야지 가능하다. User/Pswd는 phone1에서 설정가능하다. 설정하지 않으면 default값은 계정 자체가 없다. 하지만 설정해주는 것이 좋다.  만약 설정해 주지 않는다면 다른사람이 ___.iptime.org:8080 주소로 들어와 현재 phone1가 찍고있는 것을 볼 수 있기 때문이다. 포트번호도 default값은 8080이지만 변경이 가능하다.       3 . 이제는 iptime 공유기 설정            웹 브라우져열고 주소창에 192.168.0.1 치면 iptime공유기 설정으로 들어간다.  아래의 사진처럼 고급설정 -> 특수기능 -> DDNS 설정에서 DDNS를 정상등록 해준다. DDNS를 설정하는 이유는 고정ip가 아니라 동적ip이기 때문이다 즉 서버가 DHCP (Dynamic Host Configuration  Protocol) 방식이기 때문이다. 하지만 ip가 동적으로 할당되어도 고정된 주소로 접속하...