일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 막내의막무가내 프로그래밍
- 막내의막무가내
- 막내의 막무가내
- 2022년 6월 일상
- 안드로이드 sunflower
- 안드로이드 Sunflower 스터디
- Fragment
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 코틀린 안드로이드
- 막무가내
- 막내의막무가내 안드로이드
- 막내의막무가내 일상
- flutter network call
- 막내의막무가내 플러터 flutter
- 막내의막무가내 목표 및 회고
- 막내의막무가내 rxjava
- 프로그래머스 알고리즘
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 SQL
- 주엽역 생활맥주
- 부스트코스
- 막내의막무가내 플러터
- 막내의막무가내 코틀린
- 막내의막무가내 안드로이드 에러 해결
- 부스트코스에이스
- 프래그먼트
- 안드로이드
- 주택가 잠실새내
- 막내의막무가내 알고리즘
- 막내의 막무가내 알고리즘
- Today
- Total
목록전체 글 (687)
막내의 막무가내 프로그래밍 & 일상
import numpy as np import cv2 # BGR(파랑색) color = [255, 0, 0] # cvtColor 함수의 입력으로 사용할 수 있도록 한 픽셀로 구성된 이미지로 변환한다. pixel = np.uint8([[color]]) # cvtColor를 사용하여 HSV 색공간으로 변환한다. hsv = cv2.cvtColor(pixel, cv2.COLOR_BGR2HSV) # HSV값을 출력하기위해 픽셀값만 갖고온다. hsv = hsv[0][0] # bgr과 hsv 값 출력 print("bgr: ", color) print("hsv: ", hsv) import cv2 # 이미지파일을 컬러로 읽어온다. img_color = cv2.imread('food.jpg') # 이미지의 높이와 너비를 ..
import cv2 def nothing(x): pass # THRE바 생성 # THRE바를 붙일 윈도우를 namedWindow함수로 생성해준다. (평소에는 생략가능한 함수였다.) cv2.namedWindow('Binary') # 조정가능한 값 범위 설정 cv2.createTrackbar('threshold', 'Binary', 0, 255, nothing) # 초깃값 설정 cv2.setTrackbarPos('threshold', 'Binary', 127) # 이미지 파일을 컬러로 읽어온다 img_color = cv2.imread('food.jpg', cv2.IMREAD_COLOR) # 컬러이미지를 화면에 보여준다. cv2.imshow('Color', img_color) # 컬러이미지를 그레이스케일 이미..
오늘부터 안드로이드 개발자문서를 처음부터 읽어보면서 간략하게 정리해볼려고한다. 안드로이드 개발자문서를 정독해서 읽고 익숙해지는 것은 큰 도움이 된다고한다. Activity클래스는 Android 앱의 중요한 구성 요소이며, 액티비티가 시작되고 결합되는 방식은 플랫폼의 애플리케이션 모델의 기본 요소이다. 액티비티는 앱에서 UI를 그리는 창을 제공한다 앱에서 액티비티를 사용하려면 앱의 매니페스트에 해당 액티비티에 대한 정보를 등록해야하며 액티비티 라이프 사이클을 적절하게 관리해야한다. [액티비티선언] ... ... 필수속성 은 활동의 클래스 이름을 지정하는 android:name 이다. [Manifest 구성] // Create the text message with a string Intent sendInt..
동영상 저장 import cv2 #비디오캡처객체 생성 cap = cv2.VideoCapture(0) #코덱설정(XCID는 사용할코덱의이름) fourcc = cv2.VideoWriter_fourcc(*'XVID') #카메라영상 저장하기(동영상이름, 동영상저장시 사용될 코덱, 카메라로부터 캡처되는 영상의 초당프레임 수 30이면 1초에 30장, 저장할 영상의크기) writer = cv2.VideoWriter('output.avi', fourcc, 30.0, (640,480)) #캡처를 반복시켜서 영상처럼보이게한다 while(True): #카메라로부터 이미지한장을 가져옴 ret,img_color = cap.read() #캡처가 되지않은 경우 다시 루프첫줄부터 실행하도록 함 if ret == False: cont..
먼저 pyCharm을 사용했습니다. pip install opencv-contrib-python 위 명령어를 터미널에 입력하여 openCV모듈을 설치해줍니다. 다음은 코드 및 주석 입니다.(프로젝트에 food.jpg를 넣어서 진행했습니다.) import cv2 #두번쨰 매개변수는 이미지를 읽을때 사용하는 플래그이다. 이 플래그는 투명도 정보를 가진 알파채널을 무시하고 이미지파일을 컬러로 읽는다. #이밖에 IMREAD_GRAYSCALE => 이미지 파일을 그레이스케일로 임시로 읽어온다. #IMREAD_UNCHANGED => 투명도 정보를 가진 알파채널을 포함하여 이미지파일을 컬러로 읽는다. img_color = cv2.imread("food.jpg", cv2.IMREAD_COLOR) cv2.namedWin..
데이터바인딩 많이 들어봤지만 실제 프로젝트에 써본적은 없었습니다. 이번기회에 한번 써보고 싶어서 간단하게 findViewById를 생략해주고 onClick리스너 관련 데이터바인딩만 사용해봤습니다. 프래그먼트와 액티비티에서 사용해봤습니다. android { ... dataBinding { enabled = true } } 이것을 앱수준 build.gradle에 추가해준다. 프래그먼트에 적용한 거부터 살펴보겠습니다. 먼저 xml입니다. layout태그를 밖에 감싸줍니다. 저같은 경우 layout에 있는 tools:context나 context를 그 바로 하단의 CoordinatorLayout에 넣어놨었더니(데이터바인딩을 나중에 넣은거여서 CoordinatorLayout가 최상다 레이아웃이여서 갖고 있었다.)..
public int[] solution(int[] array, int[][] commands) { ArrayList list = new ArrayList(); //실질적으로 데이터를 담고 사용할 리스트 List tmpList = new ArrayList(); int result[] = new int[commands.length]; //결과값은 commands의 첫번째 배열크기만큼이다. //초기 데이터 담기 for (int v : array) { list.add(v); } for (int i = 0; i < commands.length; i++) { //결과값의 총 개수만큼 반복 //규칙값 3개 받아옴 int firstIndex = commands[i][0]; int endIndex = commands[i..
1 public void showDialog(String title, String content, String positive, String negative) { AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle(title); dialog.setMessage(content); dialog.setPositiveButton(positive, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //positive 버튼이ㅏ 눌렸을 때 수행될 코드를 작성 } }); dialog.setNegativeButton..
1. 첫번째 방법 클릭리스너 안에 시간초를 재서 구현 private long mLastClickTime = 0; ... // inside onCreate or so: findViewById(R.id.button).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // mis-clicking prevention, using threshold of 1000 ms if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){ return; } mLastClickTime = SystemClock.elapsedRealtime(); // do your magic here }..
참고 및 출처: https://realm.io/kr/docs/java/latest/ Realm: 리액티브 모바일 애플리케이션을 손쉽고 빠르게 만드세요 Realm Java is the first database built for mobile. An alternative to SQLite and ORMs that's fast, easy to use, and open source. realm.io Realm에 대해 간략하게 정리해는 포스팅입니다. 개인적으로 적는거라 정보를 얻으러 오신분들은 다른 블로그 추천드립니당.. 처음 안드로이드를 시작할때는 Shared와 SQlite를 사용해봤었는데 Realm도 안드로이드에서 사용할 수 있는 데이터베이스 중 하나입니다. 장점으로는 타 데이터베이스에비해 빠르고 간편하고 O..
square사에서 만든 otto(오투) 라이브러리에 대해 포스팅을 해보겠습니다. https://github.com/square/otto square/otto An enhanced Guava-based event bus with emphasis on Android support. - square/otto github.com 참고 : https://gun0912.tistory.com/4 [안드로이드/Android]유용한 라이브러리 - Otto(Event Bus) Otto라이브러리는 Square에서 만든 event bus형태의 라이브러리 입니다. 홈페이지 GitHub 예를들어보겠습니다. 3개의 Activity A,B,C가 있습니다. 이 3개의 화면은 모두 같은 데이터를 가지고 다른형태로 화면에.. gun091..
Spanny 라이브러리에 대해 살펴보는 포스팅입니다. Spanny는 텍스트뷰와 같이 여러줄의 글이 올 수 있는 뷰의 스타일을 바꿔줄 수 있는 라이브러리입니다. 예를들어 안 녕 하 세 요. 또는 안 녕 하 세 요 이 각 한글자들을 다른 색상이나 스타일로 선언을 할려면 텍스트뷰를 5개를 만들어 각기 다른 스타일을 지정해줘야합니다. 그리고 유동적으로 바뀌는 글이라면은 하나하나 대응하기 더 복잡할 겁니다. 이럴때 Spanny라이브러리를 사용하면 단어 혹은 줄마다 자기가 원하는 글자 스타일을 지정해줄 수 있습니다. 사용법은 아래 사이트에 잘 나와있습니다. https://github.com/binaryfork/Spanny binaryfork/Spanny A helper class that extends Spanna..
체크박스 위젯 버튼을 투명색으로하고 background로 selector로 해줍니다. bookmark_selector.xml 북마크 이미지 => 눌르면 검은색채워집니다.
이번에는 레트로핏(Retrofit2)에 대해 정리해보는 포스팅을 가져보도록 하겠습니다. http://www.kobis.or.kr/kobisopenapi/homepg/main/main.do 영화진흥위원회 오픈API www.kobis.or.kr 레트로핏 실습을 위해 영화진흥위원회 오픈 API를 참고하여 통신하도록 하겠습니다. 그 중에서도 주간/주말 박스오피스 순위기준으로(http://www.kobis.or.kr/kobisopenapi/homepg/apiservice/searchServiceInfo.do) 영화의 제목과 순위 일일관객수 누적관객수를 리사이클러뷰 형태로 불러와보도록 하겠습니다. 먼저 시작하기전에 해당사이트에서 회원가입을하고 api접근 허용키를 받아야 데이터를 불러올 수 있습니다. 1. 먼저 매니..
예를들어 카톡알림처럼 내가 누군가에게 채팅을 했을때 상대방에게 알림을 주고싶을 때 즉 , 디바이스에서 디바이스로 알림을 주고 싶은데 하는방법에 대해 포스팅해볼려고합니다. 먼저 OkHttp3, 클라우드메세징 파이어베이스 관련된 것은 gradle에서 implementation 해줬다고 생각하고 진행해보도록 하겠습니다. //okHttp implementation 'com.squareup.okhttp3:okhttp:3.14.1' implementation 'com.google.firebase:firebase-messaging:17.3.4' FCM을 하기위해서는 먼저 상대방의 토큰 값을 알아야합니다. 그래서 전 저의 토큰값을 데이터베이스에 저장하여 상대방이 저의 토큰을 데이터베이스를 통해 알고 푸시메세지를 쏴줄 ..
프로그래머스에서 메인에서 처음보고 풀어본 간단한 문제이다. public class Solution { public static void main(String[] args) { System.out.println(solution(15)); } static public int solution(int n) { int answer = 0; int totalSum; int addNum; for (int i = 1; i
sw expert라는 사이트에서 처음으로 풀어본 알고리즘 문제이다. 입출력부분을 오랜만에 하여 익숙치않은 부분이 있었는데 알고리즘 풀이에는 필수적이므로 연습을 많이해야겠다고 생각했다. ///////////////////////////////////////////////////////////////////////////////////////////// // 기본 제공코드는 임의 수정해도 관계 없습니다. 단, 입출력 포맷 주의 // 아래 표준 입출력 예제 필요시 참고하세요. // 표준 입력 예제 // int a; // double b; // char g; // String var; // long AB; // a = sc.nextInt(); // int 변수 1개 입력받는 예제 // b = sc.nextDou..
리사이클러뷰에 패딩을 줄 경우 위아래에 패딩공간이 있을 것이다. 그런데 사람마다 다르겠지만 스크롤을 한 경우 패딩공간을 활용하면 좀더 뷰를 활용할수있고 자연스러운(?) 뷰를 보여줄 수 있을 것이다. 예를들어 패딩을 16dp를 준 경우, (내가 만든 예시라 극단적일 수 있다...) 16dp패딩 아이템1 아이템2 아이템3 16dp패딩 이렇게 뷰가 처음에 보여질 것이다. 그리고 스크롤을 해도 16dp패딩 아이템1(반쯤가림) 아이템2 아이템3 아이템4(반쯤가림) 16dp패딩 이런식이 될 것이다. 그런데 android:clipToPadding="false" 속성을 리사이클러뷰에 주면 패딩공간을 스크롤할 때 공간으로 활용할 수 있다. 아이템1(반쯤가림) 아이템2 아이템3 아이템4 아이템5(반쯤가림) 기본적으로 리사..
http://www.jsonschema2pojo.org/ 불러오는 중입니다... 몽고디비같은 경우는 맨 밑의 Property word delimiters를 공백으로 해줘야 에러가 안난다고한다.
제목과 같은 형식일때에 대한 포스팅을 해보겠습니다. 다른말로 하면 스크롤뷰안에 리사이클러뷰를 사용할 때 스크롤뷰가 하나있는 효과(?)를 내는 방법이라고도 볼 수 있겠습니다. 예시를 살펴보겠습니다. 일단 효과를 적용한 사진입니다. 저는 게시물의 내용이 양이 어느정도일지모르므로 바깥은 꼭 스크롤뷰를 해야하는 상황이였고 댓글들은 리사이클러뷰로 DB로부터 가져와서 저장해야하는 상황이였습니다. 그런데 그냥 스크롤뷰와 리사이클러뷰를 사용시 이중스크롤이 발생하는데 댓글 칸이 두세개밖에 안보이고 15개의 댓글을 두세개만한칸으로 스크롤을 해서 봐야하는 문제가 발생하였습니다. 만약 게시물이 전체화면을 넘어가면?? ㄷㄷ.. 그래서 다음과 같이 해결했습니다. 최상단 ScrollViews대신 NestedScrollView를 사..