본문 바로가기

java90

[Java][Android] Gmail를 이용하여 메일 송신 하기 이번에는 Gmail 을 이용하여 메일을 송신해보도록 하겠습니다. 사용 전) import activation.jar additionnal.jar mail.jar 위의 파일을 다운로드를 받아 아래의 경로에 저장합니다. 그 후 우클릭을 통해 "Add As Library"를 클릭해서 import 를 합니다. 모든 .jar 파일을 import 시킵니다. 사용 전) 구글 계정 보안 수준 하향 구글 계정 보안 수준을 아래 사진과 같이 사용 안함 -> 사용 으로 변경해야 정상적인 메일 송신이 가능합니다. https://stickode.com/detail.html?no=2617 스틱코드 stickode.com 그 후 위의 포스트를 즐겨찾기 하셔서 GmailSender.java , MainActivity 를 불러오시면 G.. 2021. 12. 2.
[Java][Android] 이미지 드래그앤 드롭 기능 구현 이번에는 이미지를 안드로이드 화면에서 드래그 앤 드롭하는 기능을 구현해 보겠습니다. 우리가 자주 사용하지만 구현해본 경험은 많지 않을텐데요 시작해볼까요? 이미지 개체를 두개의 이미지 뷰 사이로 이동할 수 있는 기능입니다. 일단 이미지를 이동할 것인지 여부를 판단해야 합니다. 이것을 판단하는 기준은 오랫동안 클릭하는 것입니다. OnLongClickListener 인터페이스를 구현하기 위해 클래스를 하나 만듭니다. OnLongClickListener 는 화면에서 이미지 개체를 일정 시간 동안 누르게 되면 클릭 이벤트를 받을 수 있습니다. onLongClick 함수의 인수로 넘어온 View 객체에 값을 채우는데 startDrag() 함수를 이용합니다. startDrag() 함수에 필요한 값들을 채우게 되면 드.. 2021. 12. 1.
[JAVA][Android] 안드로이드 - 알림 만들기 및 알림 탭하여 액티비티로 이동 알림은 사용 중이 아닌 앱의 이벤트에 관한 짧고 시기적절한 정보를 제공하는 기능입니다. 이번 게시글에서는 버튼을 클릭했을 때 알림이 생성되고, 알림을 탭하면 원하는 액티비티로 이동하는 기능을 구현해 보겠습니다. 먼저 기본 알림을 만드는 법부터 알아보겠습니다. 가장 기본적이고 간단한 형태(축소된 형태라고도 함)의 알림에는 아이콘, 제목 및 소량의 콘텐츠 텍스트가 표시됩니다. 알림 콘텐츠 설정 시작하려면 NotificationCompat.Builder 객체를 사용하여 알림 콘텐츠를 생성해야 합니다. NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID) .setSmallIcon(R.drawable.notific.. 2021. 10. 21.
[JAVA][Android] registerForActivityResult() 사용하기 기존에 안드로이드에서 사용하던 startActivityForResult() onActivityResult() 기억 나시나요? 근데 지금 그 메소드가 Deprecated가 되었습니다. 그러면 어떤 방법을 이용해야 할까요? http:// developer.android.com/training/basics/intents/result https://stickode.com/mainlogin.html STICKODE stickode.com 먼저 최신 버전으로 dependencies를 체크해 줍니다. implementation 'androidx.appcompat:appcompat:1.3.0-alpha02' 기본적인 구현 방법은 기존의 startActivityForResult(), onAcitivityResult() .. 2021. 8. 4.
[Kotlin][Android] 툴바(toolbar) 및 메뉴버튼 만들기 오늘은 코틀린을 이용해서 툴바와 메뉴 버튼을 구현해보도록 하겠습니다. 툴바란? 애플리케이션 콘텐츠 내에서 사용하기위한 표준 도구 모음입니다. 아래 사진 처럼 모바일 앱에서 상단에 구성되어 있는 것이 툴바라고 보시면 됩니다. 안드로이드 Toolbar 공식 문서 developer.android.com/reference/kotlin/android/widget/Toolbar Toolbar | Android 개발자 | Android Developers developer.android.com 개발 순서는 다음과 같습니다. 개발 순서 1. Resource파일 수정 및 추가 1-1) 기존의 ActionBar 제거하기 1-2) menu Resource 생성하기 1-3) activity_toolbar.xml 생성하기 2... 2021. 7. 25.
[Java][Android] 리사이클러뷰 뷰형태 구분하기 이번 포스팅에서는 안드로이드 리사이클러뷰 뷰형태를 구분하는 것을 자바로 구현해보겠습니다. 보통의 리사이클러뷰는 하나의 뷰홀더를 지정해 놓고, 스크롤이 있는 리스트 형식의 뷰를 데이터만 갈아끼우면서 보여주는데요, 예를들면, 이런 식으로 데이터를 보여주는 뷰의 형식은 일정한데, 안에 들어가는 데이터만 다르게 표시가 되죠. 만약 어플에서 하나의 화면에서 하나의 정보만 보여주는 상황만 있다면, 하나의 뷰 형태만으로 충분할지 모릅니다. ​ 하지만, 우리가 겪는 상황은 더 복잡한 상황이 될 가능성이 높습니다. 예를들어, 채팅 화면을 보면 유저가 채팅방에 입장할 때, 내가 채팅을 입력했을 때, 상대가 채팅을 입력했을 때 보여지는 뷰 형태가 다 같다면, 유저가 채팅을 읽을 때 불편함을 느낄 수 있습니다. 또 다른 예시.. 2021. 7. 21.
[Kotlin][Android] 수평 측정기 앱을 만들어 보자 안녕하세요 '~' / 오늘은 스틱 코드와 안드로이드 센서를 이용해서 아래와 같은 순서로 수평 측정기를 만들어 보겠습니다. 1. 수평을 측정하는 화면 구현 2. 수평을 측정하는 기능 구현 3. 테스트 스틱코드? https://stickode.com/mainlogin.html STICKODE stickode.com 1. 수평 측정 화면 구현 ▶ 수평 측정을 시각적으로 보여주는 뷰를 만들기 위해 TiltView.kt라는 코틀린 클래스 파일을 만들어줍니다. # TiltView.kt 전체 코드 package com.example.accelerometersensor import android.content.Context import android.graphics.Canvas import android.graphic.. 2021. 7. 16.
[Java][Android] OpenCV 를 사용해서 이미지 외곽선을 따는 기능을 만들어 보자 안녕하세요 ^~^/ 오늘은 openCV를 사용해서 이미지의 외곽선을 따는 기능을 만들어 보겠습니다. 자 그럼 바로 시작해보겠습니다. 스틱코드? https://stickode.com/mainlogin.html STICKODE stickode.com 1. 환경 세팅 ▶ OpenCV 라이브러리 추가 - 아래 링크에서 자신이 사용할 버전을 다운로드하여줍니다. 이 프로젝트에서 사용할 버전은 opencv-4.5.2-android-sdk입니다. https://github.com/opencv/opencv/releases Releases · opencv/opencv Open Source Computer Vision Library. Contribute to opencv/opencv development by creatin.. 2021. 7. 9.
[C#][JAVA]C# 클라이언트 JAVA 서버 간 TCP/IP Socket 데이터 통신 안녕하세요. 이번에는 C# 클라이언트 JAVA 서버를 이용해서 서로 TCP 데이터 TCP/IP Socket 통신을 하는 것에 대해 알아보겠습니다. 통신 방법을 알아보기 전에 TCP TCP/IP Socket 통신이란 무엇인지부터 알아봐야겠죠? TCP/IP Socket TCP/IP Networking Basics (The Java™ Tutorials > Custom Networking > Overview of Networking) The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releas.. 2021. 6. 21.