Computer/Java, Kotlin 10

Default FirebaseApp is not initialized 오류 발생시

Default FirebaseApp is not initialized 오류 발생 시 안드로이드에서 Firebase를 사용할 때, 종종 발생하는 오류입니다. 오류 메세지 자체에서는 FirebaseApp.initializeApp(context)를 호출하라고 보내는데, 이렇게 해도 오류가 해결되지 않는 경우가 많습니다. 해당 상황은 Firebase의 초기 설정에서 놓친 부분이 있는 경우가 대다수입니다. 일단 제 프로젝트에서 초기 설정을 살펴보면서 문제를 해결해보도록 하겠습니다. // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_versio..

[Kotlin] [Android] Global Application Context

[Kotlin] [Android] Global Application Context안드로이드 프로그래밍을 하다 보면 object 등에서 Context를 사용해야 할 경우가 있습니다.하지만 Context를 매개변수로 받아 구현하면, Android Studio에서 메모리 누수가 발생한다고 경고를 해줍니다.해당 사항을 해결하기 위해 Application을 상속 받아, App Class를 만들어 사용하도록 구현했습니다. 사용할 object, class에서 App.instance.context()를 통해 Context를 가져올 수 있습니다.

안드로이드 FCM 푸시 알림 사용하기

안드로이드 FCM 푸시 알림 사용하기 FCM (Firebase Cloud Messaging)은 이름답게 알림 메시지를 주고 받을 수 있게 해주는 서비스다.대표적인 푸시 알림 서비스로는 iOS의 APNS, 안드로이드의 FCM이 있는데.FCM은 APNS와 연동해서 iOS에서도 사용하거나, Unity, C++, 웹에서 사용이 가능하다.우선 안드로이드 스튜디오에서 코드를 작성하기 전 파이어베이스 콘솔 (https://console.firebase.google.com/) 에서 프로젝트를 생성해야한다. 프로젝트를 생성했다면, 안드로이드 스튜디오 Tools 메뉴의 Firebase를 클릭하면,위 사진과 같이 Firebase 설정 창이 나온다.Firebase 설정 창에서 Cloud Messaging -> Set up F..

JSP + Oracle DB를 통한 로그인 시스템 만들기

JSP + Oracle DB를 통한 로그인 시스템 만들기 안녕하세요, kentakang 입니다.오늘은 전공 과목 수행평가를 준비할 겸 JSP + Oracle DB를 통한 로그인 시스템 제작을 해보려고 합니다.우선 제 개발 환경은 이렇습니다. 개발 환경 Oracle Express Edition Express Edition 11g Release 2Java 10 + Java EE 8Apache Tomcat 9.0.7 데이터베이스 만들기 우선 로그인 시스템에 사용할 데이터베이스를 만들도록 하겠습니다. 우선 테이블을 생성하겠습니다.제 로그인 시스템에 들어갈 정보는 아이디, 비밀번호, 이름, 전화번호, 성별 입니다. CREATE TABLE MEMBER(name varchar2(20), id varchar2(20),..

Android에서 네이버 검색 API 사용하기

Android에서 네이버 검색 API 사용하기 본 글의 내용은 안드로이드에서 네이버 검색 API를 통해 XML을 받아온 뒤, 해당 내용을 가공해서 출력하는 과정입니다.본 글을 따라서 진행하기 전에 네이버 개발자 센터에서 애플리케이션을 등록하신 뒤, Client ID와 Client Secret을 준비해두셔야 합니다. XML 가져오기 네이버 개발자 센터에 나와있는 Java 예제 코드는 안드로이드에서는 사용이 불가능 한 코드입니다. 안드로이드에서 네트워크 연결을 위해서는 Thread를 별도 생성해서 처리해줘야 합니다.우선 검색어를 입력하면 해당 검색어를 통해 검색한 백과사전 데이터를 String 자료형으로 return 해주는 코드를 작성하겠습니다. public String getNaverSearch(Strin..

JDBC를 이용한 Java와 PostgreSQL 연동

JDBC를 이용한 Java와 PostgreSQL 연동 안녕하세요, kentakang 입니다. 오늘은 BananaAllergy와 Database를 연동하면서 공부했던, JDBC를 통해 PostgreSQL과 연동하는 방법에 대해 글을 작성해보려고 합니다. 본격적인 내용에 들어가기 전에 처음 보는 용어들부터 알려드리도록 하겠습니다. 용어 설명 JDBC : Java Database Connectivity의 줄임말. 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API PostgreSQL : DBMS(Database Management System)의 한 종류 DBMS : Database Management System의 줄임말로 데이터베이스라는 데이터의 집합을 만들고 저장 및 관리할 수 있는 기능을 제공하..

BananaAllergy 개발 일기 - Java 프로그래밍

프로그래밍은 자신이 가장 필요로 하는 것을 개발할 때, 가장 재미있는 것 같다.평소에도 프로그래밍을 좋아하는 편이지만, 이번엔 내가 원해서 제작하게 된거라 더 재미 있었다.이 서비스를 개발하게 된 계기는 네이버 TV의 검색 시스템이다. 나는 최근 올라온 바나나 알러지 원숭이 음악방송 무대가 보고 싶어 검색을 했는데, 내가 원하는 영상들은 잘 보이지 않는다.내 생각으로는 태그 기반의 검색 시스템을 갖고 있어 이런 결과가 나오는 것 같다.바나나 알러지 원숭이는 그 경우의 수가 한정적이라서 중간 중간 있는 음악방송 영상들을 쉽게 찾을 수 있지만 가수 이름으로 검색하면 그렇지 않다. 오마이걸로 검색 뒤 최신순으로 정렬하면 음악 방송 영상들은 하나도 안보인다.이외에도 어느 정도 페이지를 넘어가면 같은 영상들만 계..

Java Study 2일차 : 생성자, 객체 배열, 매개변수

Java Study 2일차 생성자, 객체 배열, 매개변수 벌써 Java Study 수업이 2일차에 들어왔네요. 이 수업은 총 3일차 수업으로 자바의 기초만 잡고 넘어가는 수업입니다. 저는 금요일에 이미 수업을 마친 상태인데, 어쩌다 보니 2일차 게시글을 지금 작성하게 되네요 ㅎㅎ 그럼 지금부터 2일차 시작하겠습니다. 우선 Java에서는 C언어와 다르게 문자열을 바로 선언해서 사용할 수 있습니다. String을 통해서 사용할 수 있는데요 위 사진과 같이 String s1 = "스트링을 선언합니다."; String s3 = new String("이렇게도 선언할 수 있습니다."); 이렇게 String을 선언할 수 있습니다. 근데 String 자료형은 다른 자료형들과 약간 다른 점이 있네요? int, doubl..

Java Study 1일차 : 개발환경 구성 및 메소드

Java Study : 1일차개발환경 구성 및 메소드 저도 수업을 들으면서 정리하는 내용들이라 놓치거나 부족한 점이 많습니다. 댓글 달아주시거나 연락 주시면 바로 바로 문제 있는 부분 수정하도록 하겠습니다.이 수업은 C언어를 통해 프로그래밍의 기초를 배우신 분을 타겟으로 하는 수업입니다.C언어를 배우신 적이 없어도 충분히 보실 수는 있지만, 약간의 어려운 점이 있을 수 있습니다.하다가 어려운 점은 댓글로 남겨주시거나 연락 주시면 제가 할 수 있는 선에서 도와 드리도록 하겠습니다. 자바는 Sun Microsystems에서 개발한 객체지향 프로그래밍 언어로, 현재 Sun Microsystems가 Oracle에 인수되어, 라이센스는 Oracle이 가지고 있습니다. 자바를 배우는 것은 인기 있는 언어인 것도 있..