일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 막내의 막무가내
- 주택가 잠실새내
- 안드로이드
- 막내의막무가내 알고리즘
- 막내의막무가내 프로그래밍
- 막내의막무가내 안드로이드
- 막내의막무가내 일상
- 막내의막무가내 플러터 flutter
- 막내의막무가내 SQL
- 막내의막무가내
- flutter network call
- 막무가내
- 막내의 막무가내 알고리즘
- 막내의막무가내 rxjava
- 막내의막무가내 목표 및 회고
- 막내의막무가내 플러터
- 주엽역 생활맥주
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 코틀린
- Fragment
- 막내의막무가내 안드로이드 에러 해결
- 부스트코스
- 안드로이드 Sunflower 스터디
- 막내의막무가내 코틀린 안드로이드
- 부스트코스에이스
- 프로그래머스 알고리즘
- 2022년 6월 일상
- 안드로이드 sunflower
- 막내의막무가내 안드로이드 코틀린
- 프래그먼트
- Today
- Total
목록막내의막무가내 (99)
막내의 막무가내 프로그래밍 & 일상
오늘부터 안드로이드 개발자문서를 처음부터 읽어보면서 간략하게 정리해볼려고한다. 안드로이드 개발자문서를 정독해서 읽고 익숙해지는 것은 큰 도움이 된다고한다. 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..
데이터바인딩 많이 들어봤지만 실제 프로젝트에 써본적은 없었습니다. 이번기회에 한번 써보고 싶어서 간단하게 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..
참고 및 출처: 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..
이번에는 레트로핏(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을 하기위해서는 먼저 상대방의 토큰 값을 알아야합니다. 그래서 전 저의 토큰값을 데이터베이스에 저장하여 상대방이 저의 토큰을 데이터베이스를 통해 알고 푸시메세지를 쏴줄 ..
리사이클러뷰에 패딩을 줄 경우 위아래에 패딩공간이 있을 것이다. 그런데 사람마다 다르겠지만 스크롤을 한 경우 패딩공간을 활용하면 좀더 뷰를 활용할수있고 자연스러운(?) 뷰를 보여줄 수 있을 것이다. 예를들어 패딩을 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를 공백으로 해줘야 에러가 안난다고한다.
애드몹을 가입하고 광고 아이디를 받았다는 가정하에 포스팅하겠습니다. 먼저 이것들을 추가해준다. (strings.xml) (build.grade 앱) 17버전으로했습니다. (builde.gradle 프로젝트) (manifest) application 태그에 다음 메타데이터를 추가해주고 애드몹이 띄울 액티비티 사이에 똑같이 메타데이터를 추가해준다. 구글 문서로는 애플리케이션사이에 메타데이터 넣으라했는데 안돼서 띄워질 액티비티 사이에도 메타데이터를 넣어주니깐 됬다. 1. 애플리케이션태그안에 하나 2. 광고를 띄워줄 액티비티 태그안에도 똑같이 메타데이터 추가 (띄워질 액티비티에 다음 자바코드들 추가) 전역변수 //애드몹 private InterstitialAd mInterstitialAd; onCreate()내..
깃허브를 사용해서 협업 또는 개인 프로젝트를 진행할 때 해야할 작업들을 이슈에 작성해 놓는 경우가 많다. 깃허브 이슈를 생성하고 해당 이슈를 완료하면 닫는 법을 git bash를 통해서 실습해본것을 포스팅해볼려고한다. 먼저 이슈를 생성하고 제목에 #2 같이 이슈번호를 달아준다. (참고로 자동 번호생성을할거면 #번호를 안달아줘도 알아서 번호가 생긴다.) 그리고 해당 프로젝트를 git bash에서 commit을 하면서 커멧메세지에 "fixes #이슈번호" 키워드를 적어주면된다. 그럼 해당 이슈는 closed가 되어있다. git bash를 사용하지않고 깃허브 UI에서 직접할려면 그냥 코멘트 쓰고 close and comment를 해주면된다. 옛날에 resolve #4인가 이런식으로 comment부분에 쳐도 닫..
프로젝트에 파이어베이스 리얼타임데이터베이스를 사용중인데 나중에 또 사용될떄 까먹을 수 있어서 정리포스팅을 하겠습니다. 저를 위한 정리이므로 타인분들이 얻을 정보는 거의 없으실거라고봅니다... 디비는 다음과 같이 되있습니다. 데이터베이스 참조 및 자식생성 예제 DatabaseReference mRootDatabaseReference = FirebaseDatabase.getInstance().getReference(); DatabaseReference mProfieDatabaseReference = mRootDatabaseReference.child("profile"); //profile이란 이름의 하위 데이터베이스 DatabaseReference mNickNameDatabaseReference = mRoo..
FIrebase RecyclerView를 써봤고 해당코드들을 정리한 포스팅을 하겠습니다. query를 사용해 DB값을 가져온다는거 외에는 리사이클러 뷰와 동일하다고 볼 수 있으므로 리사이클러뷰 참조할때 보셔도 될것 같습니다. 그냥 리사이클러뷰의 경우에는 밑의 생성자부분과 클래스 extends를 다음과 같이 바꿔주면 될것입니다. 파이어베이스 리사이클러뷰 어댑터 public MessageAdapter(@NonNull FirebaseRecyclerOptions options, Context context) { super(options); //options는 파이어베이스 리사이클러뷰에 DB의 쿼리문옵션을 넣어 해당 쿼리문에 맞는 데이터들을 자동 세팅해주기 위해서 사용합니다. this.context = conte..