APP 12

android firebase를 사용한 FCM push notification

처음은 firsbase 에 접속하여 fcm 서비스를 신청하는 것입니다. https://console.firebase.google.com 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com 시작하기 -> 프로젝트 만들기 를 선택합니다. 저는 일단 안드로이드만 사용할 것이므로 안드로이드를 선택해줍니다. 각 내용에 안드로이드 앱을 만들 때 적은 내용을 적어 넣습니다. 혹시 앱 패키지 이름을 모르시면 아래 사진에 표시된 곳에 가시면 나옵니다. 구글에서 설명해주는 것을 그대로 하시면 됩니다. 여기까지하시면 기본적인 firebase 설정이 끝났습니다. 이제 안드로이드에서 메시지를 받을 수 있게 소스를 추가해줍시다. androidmanifest.xml build.gradle(proj..

APP/안드로이드 2022.10.14

안드로이드 SQLite사용

안드로이드에서는 기본적으로 내부 파일 DB인 SQLite를 제공합니다. 이번에는 이 점을 활용해 외부 DB에서 내부에 있는 SQLite로 임포트하는 법을 알아보겠습니다. 저는 저번 글에서 하던 barcode를 인식하고, 그 결과값을 가져오기 위해 사용합니다. 처음으로는 DBHelper.java파일을 만듭니다. 이 파일은 DB가 없으면 생성하고, assets폴더에 있는 *.db파일을 복사해서 내부에 생성해주는 클래스 입니다. package example.zxing; import android.content.Context; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.data..

APP/안드로이드 2022.03.16

JAVA안드로이드로 바코드 스캐너 만들기

java안드로이드로 바코드 스캐너를 만들기 위해서는 구글에서 만들고 배포중인 zxing라이브러리가 필요합니다. https://github.com/zxing/zxing GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android ZXing ("Zebra Crossing") barcode scanning library for Java, Android - GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android github.com 저는 zxing라이브러리를 사용한 예제 코드를 활용했습니다. https://gi..

APP/안드로이드 2022.03.15

안드로이드 리사이클러뷰에서 화면 전환

안드로이드에서 사용하는 리사이클러뷰는 리스트 뷰보다 더 좋은 성능을 나타내기 때문에 많이 사용합니다. 여기서 문제는 리사이클러뷰가 생성되는 시점에는 이벤트가 먹지 않는다는 점입니다. 이 문제를 해결하기 위해서, 뷰가 만들어지기 전인 어뎁터를 생성할 때 이벤트를 넣어 줍니다. public class MainViewAdapter extends RecyclerView.Adapter{ ... @Override public void onBindViewHolder(Holder holder, int position) { ... holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int..

APP/안드로이드 2022.03.10

4. DB만들기

전편까지 DB 설계와 연결까지 하였다면, 이번에는 DB를 만들어볼 시간입니다. 일단 DB연결 프로그램을 엽니다. 일반적으로 php는 phpMyAdmin을 사용하지만, 저는 sql을 직접 날리기 위해 sequel연결툴을 씁니다.(윈도우는 hiedisql이 좋습니다.) 1. 테이블 만들기 저번편까지 외부에서 접근이 가능한 유저와 DB를 만들었으므로, 저번에 만든 유저와 DB로 접근하여 테이블을 만듭니다. 꼭 SQL을 사용하여 테이블을 안 만들고, heidisql을 사용하여 테이블을 생성하여도 됩니다. (이 방법이 더 쉽고 간편하므로 이 방법을 선호합니다.) 1) User table CREATE TABLE User ( idx int primary key, Id varchar(255) NOT NULL, Pass..

3. 앱에 필요한 DB설계

내가 만들고자 하는 앱은 회원가입, 로그인, 글 작성, 댓글 관리, 글 읽기 등의 활동을 할 수 있는 앱입니다. 회원가입, 로그인을 위해 유저 테이블 생성 글 목록을 위해 글 목록 테이블 생성 댓글 관리를 위한 댓글 테이블 생성 여기서 설계가 들어갑니다. 글 목록을 만들기 전에 글 테이블 3개를 한번에 묶어 사용할지,테이블 3개로 나누어 사용할지 생각해보아야 합니다. 한번에 묶어 사용하면 sql을 날리기 편하고, 관리할 테이블의 수가 줄어듭니다. 하지만 sql의 속도가 늦어지고, 테이블 내부의 관리가 힘듭니다. 3개로 나누어 설계하면 속도가 빠르고, 테이블 내부 관리는 쉬워집니다. 하지만 sql을 날리기 어려워지고, 관리할 테이블의 수가 늘어납니다. 저는 처음에 앱을 들어왔을 경우, 글 목록이 빠르게 떠..

2. AWS EC2 윈도우 서버 설정

서버는 aws의 ec2를 사용하여 간단히 구성할 것입니다. 서버는 리눅스, 윈도우 서버가 대표적입니다. 리눅스는 서버 세팅이 복잡하지만, 서버를 운영하는데 필요한 여러 가지 요소들을 제공해줍니다. 윈도우 서버는 평소에 쓰던 윈도우와 비슷하여 사용에 편리하지만, 서버 세팅 도구를 찾아서 다운로드하여야 합니다. 지금은 간단히 윈도우 서버를 사용하여 만들고, 나중에 리눅스(우분투)서버 세팅법도 올려보겠습니다. (평소에 사용하던 우분투와 너무 달라 centOS는 더 공부를 하고 사용할 겁니다.) 혹시 우분투로 만든 서버에 관심이 있으시면 아래 내용도 도움이 됩니다. 2022.02.27 - [개발일지/서버] - AWS EC2 ubuntu20.04 서버 설정 AWS EC2 ubuntu20.04 서버 설정 aws e..

안드로이드 volly사용

안드로이드에서 JSON으로 외부 데이터를 가져오고 싶으면 간단히 volly를 사용하면 된다. Volley를 사용하면 다음과 같은 이점이 있습니다. 네트워크 요청의 자동 예약. 여러 개의 동시 네트워크 연결 표준 HTTP 캐시 일관성을 갖춘 투명한 디스크 및 메모리 응답 캐싱 요청 우선순위 지정 지원 취소 요청 API. 단일 요청을 취소하거나 취소할 요청의 블록 또는 범위를 설정할 수 있습니다. 용이한 맞춤설정(예: 재시도, 백오프) 강력한 정렬 기능을 이용하여 네트워크에서 비동기식으로 가져온 데이터로 UI를 올바로 채우는 작업을 쉽게 실행할 수 있음. 디버깅 및 추적 도구. https://developer.android.com/training/volley?hl=ko volly를 사용하려면 요청 객체(Re..

APP/안드로이드 2022.02.16

파일을 이용해 안드로이드 웹뷰(webview) 만들기

저번엔 웹페이지를 기반으로 웹뷰를 만들어 보았다면 이번엔 내 컴퓨터 안의 파일을 이용해 웹뷰를 만드는 법을 적어보겠다. 1. main 폴더 아래에 assets폴더를 만들어 파일 넣기 안드로이드 스튜디오를 연 상태에서 왼쪽 맨 위의 'android' 로 되어있는 것을 'project'로 바꾼다 (상태를 바꾸면 안드로이드 상태에서 사용하지 않는 기본폴더를 사용할 수 있게 된다.) 바꾼 상태에서 main폴더를 찾아 그 아래에 assets 폴더를 만든다. 만들어진 assets폴더에 파일을 넣는다. 2. mainactivity 파일을 고친다. (안의 코드는 저번 글에서 한 내용이므로 전 글을 안 보고 오셨다면 https://jacorinne.tistory.com/4 에서 웹뷰를 만들고 오세요.) 맨 아래의 마지막..

APP/WebView 2021.10.17