일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 막내의막무가내 rxjava
- 막내의막무가내 코틀린 안드로이드
- 주택가 잠실새내
- 안드로이드 sunflower
- 막내의 막무가내 알고리즘
- 막내의 막무가내
- 막무가내
- flutter network call
- 부스트코스에이스
- 막내의막무가내 코틀린
- Fragment
- 프로그래머스 알고리즘
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 목표 및 회고
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 알고리즘
- 부스트코스
- 막내의막무가내 플러터
- 안드로이드
- 막내의막무가내 SQL
- 막내의막무가내 안드로이드
- 주엽역 생활맥주
- 막내의막무가내
- 막내의막무가내 프로그래밍
- 막내의막무가내 일상
- 2022년 6월 일상
- 프래그먼트
- 막내의막무가내 플러터 flutter
- 안드로이드 Sunflower 스터디
- Today
- Total
목록분류 전체보기 (688)
막내의 막무가내 프로그래밍 & 일상
참고 : https://www.youtube.com/watch?v=49N59HnCAxQ 안드로이드의 액티비티 생명주기에 대해 간단하게 정리해보겠다. 먼저 파란배경의 launched는 아이콘을 눌러 액티비티가 나오게되는 시점이다. OnCreate()는 생성자랑 비슷하다고 생각하면된다. 처음에 액티비티가 생성되었을 때 나온다. OnStart()는 말그대로 액티비티가 시작되기 직전이라 생각하면된다. OnCreate()와 OnResume() 사이의 순서에 있다. OnResume()은 OnStart와 비슷한데 이제 액티비티가 뜨고 동작하기 완전 직전에 실행 된다. OnStart보다 액티비티가 실행되기 더 직전에 가깝다. (onPause에서 sharedpreferences에 임시저장된 데이터를 불러오는데 주로 사용..
ArrayList나 사용자가 만든 객체를 액티비티끼로 서로 전달하고 받는 과정을 예제로 기록해본다.기본타입이 아닌 리스트 또는 객체를 받아올때 단순 get000Extra로 받아올 수 가 없다. *메인액티비티( ArrayList 값과 SimpleData라는 내가 만든 객체를 전달해준다. intent.putExtra로 기본타입과 보내는 방식은 똑같으나 받는 방식이 나중에 보면 다르다. )Intent intent = new Intent(getApplicationContext(), MenuActivity.class); ArrayList names = new ArrayList(); names.add("김진수"); names.add("황수연"); intent.putExtra("names", names); Simpl..
안드로이드 프로그래밍을 하다가 모든 R이 빨갛게 에러가 날 때가 있다. 원래 잘됬다가 갑자기 R이 다 빨게지면서 에러표시가 뜨는걸 처음 본 경우 당황 할 수 가 있다. ( 나도 처음에 JDK경로 잘못했나 싶었다. 바꾼적도없는데) 그럴때는 xml을 한번 보길 바란다. xml에서 실수를 하거나 잘못 쓴 경우 R에러가 뜨는 경우가 있다. xml 레이아웃을 열어 에러표시가 있나 확인하고 수정해주자. 그 후 안드로이드 스튜디오 툴바에서 Bulid -> Rebulid를 해주면 에러표시가 사라질 것이다. 만약 이경우가 아니라면, 상단탭 Build에서 Clean Project 후 Rebuild Project를 해보던가, File탭 Project Structure에서 JDK, SDK경로가 잘되있는지 확인해보도록 하자. ..
액티비티와 프래그먼트끼리 데이터를 전달해주기 위해 Bundle을 찾아보던 도중 딱 맞는 예제가 있어 기록해논다.밑의 사이트에서 예제를 볼 수 있다.참고 : https://stackoverflow.com/questions/7149802/how-to-transfer-some-data-to-another-fragment 난 위의 예제를 참고해 다음과 같이 Bundle을 사용해 액티비티에서 프래그먼트에 데이터를 전달해줬다. * 액티비티쪽에서 전달할 데이터 저장//프래그먼트(영화리스트) movies = new MoviesFragment(); Bundle bundle = new Bundle(); bundle.putString("title", movieInfo.title); bundle.putFloat("reserv..
이번에 이미지가 있는 URL을 파싱해와서 이 URL을 어떻게 이미지로 받아서 사용할 수 있을까 하다가 Glidle 라이브러리를 써서 이미지가 있는 URL을 이미지로 변환하여 사용할 수 있었다. Glide말고도 스퀘어사에서 만든 Picasso 라이브러리도 찾았지만 좀 더 대중적으로 사용하는 Glide를 사용하게 되었다. 둘이 비교하면 용량이적고 빠른건 Glide이고 용량과 상대적으로 조금더 느리지만 화질이 좋은건 Picasso라고한다. 잘 비교해서 더 필요한걸 사용하면 좋을 것 같다. https://github.com/bumptech/glideGlide 레포지토리고 구글에서 개발했다고 한다. Glide 사용방법에 대해 간단하게 정리해보았다.먼저 Glide를 사용하기위해 Gradle module에 추가해준다..
반복문을 배우고 예제로 가장 많이 하는 것 중 일명 별찍기라고 특정 모양을 반복문을 사용해 만드는 것이 있다. 별찍기로 했던 것들 중 마름모 모양, 별 모양, 원 모양을 소개해볼려한다. 개수를 입력을 받고 개수에 해당하는 3가지 모양을 그려주게 코딩을 하였다. 빠르게 완성시키기 위해 급하게 만든거라 완벽한 모양이거나 코드가 깔끔하다고는 말을 못하겠다.. import java.util.Scanner; import static java.lang.Math.sqrt; public class ShapeMake { public static void main(String[] args) { int n; Scanner sc = new Scanner(System.in); while (true) { System.out.pr..
주석설명 달아논거 이해 안까먹게 복습용 메인 package com.example.a82107.myrecycleview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.Toast; public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; SingerAdapter adapt..
이번에 정보처리기사 필기를 보기위해 무슨 책을 사야할지 고민하였는데 일단 시나공께 유명하고 기능사볼때 시나공을 봤었는데 괜찮았어서 시나공으로 택했다. 그런데 시나공도 그냥 필기책하고 summary(요약) 필기책이 있는데 가격차도 만원이상 났었다. 그래서 가격도 저렴하고 요약해놔서 빠르게 보기좋은 시나공 summary(서머리) 필기책을 선택했다. 이 책에 대해 설명을 하자면 시나공 summary 시리즈는 공부할 시간이 부족한 학생, 최대한 빨리 공부해서 빨리 합격하고 싶은 수험생을 위해 핵심요약과 기출문제 위주로 구성한 초단기 합격 전략집이다. 시나공 summary 정보처리기사 필기 책의 장점은 다음과 같다. 1. 먼저 1권 핵심요약과 2권 기출문제로 이루어져있는데 1권 핵심요약이 기존의 시나공 책을 간략..
출처및 참고 : https://developer.android.com/guide/components/fragments?hl=ko 프래그먼트 관련 코딩을 하다가 프래그먼트는 액티비티와 다르게 onBackPressed()를 오버라이딩을 할 수 없어서 이 메소드에 뒤로가기 관련 이벤트를 처리할 수 없었다. 그래서 당시에 프래그먼트를 띄워줬을 때 뒤로가기를 누르면 현재 띄어진 프래그먼트를 참조하고 있는 Fragment 객체를 프래그먼트 관리자를 통해 remove를 해주고 null로 초기화해줬었다.밑에처럼 말이다. 참고로 moveinfo는 프래그먼트고 이미 액티비티에서 올라가있는 프래그먼트가 있는데 그 프래그먼트에서 버튼을 누르면 이 moveinfo가 담고있는 프래그먼트가 올라가는 상황이다.액티비티 내의 오버라이..
처음에 안드로이드 스튜디오를 사용할때 깃허브에다가 따로 백업을 안해두고 그냥 프로젝트를 복사 붙여넣기로 다른 폴더에 백업파일을 만드는 경우가 있다. 그런데 이런 경우 백업파일을 실행했을 때 이와 같이 install falied invald apks라는 에러가 난다. 이 경고문을 Ok눌러도 계속 에러가나고 무한반복적으로 에뮬레이터가 실행이 안된다. 그 에러를 해결하기 위한 방법은 다음과 같다. 프로젝트 상단툴바에 Build->Clean project를 하고 Rebuild project후에 실행을 하는것이다. 처음 안드로이드를 프로젝트를 복사해서 했다가 이러한 에러때문에 시간을 많이 날린적이 있다. 댓글과 공감은 큰 힘이됩니다!!
네트워킹 http 프로토콜에 접속하는 작업을 할 경우 Cleartext Http Traffic이라는 에러가 뜨는 경우가 있다. 이것은 안드로이드 API 28레벨부터 네트워크 보안정책때문에 생기는 오류이다. 위 그림은 버튼을 누르면 해당 url로 접속을 해서 파싱을 해오는 거였는데 이와 같은 오류가 뜸을 볼 수 있었다. 난 이러한 문제를 위 그림과 같이 해결하였는다. manifest에 aplication태그에 android:usesCleartextTraffic="true"를 추가하였다. 이것을 true로 해놈으로써 cleartext트래픽이 허용되게 된다.
https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa/related?hl=ko 위 사이트에 들어가서 밑과 같은 크롬 확장프로그램을 다운받으면 크롬 브라우저로 json포맷을 볼때 자동으로 정렬하여 볼 수 있다.
json 포맷이 다음과 같이 일렬로 쭉 늘어져있는 경우 가독성이 떨어진다. 이런 포맷을 보기좋게 바꿔주는 사이트가 있다.JSON VIEWER라는 사이트이다.주소 : http://jsonviewer.stack.hu/#http://www.kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchDailyBoxOfficeList.json?key=430156241533f1d058c603178cc3ca0e&targetDt=20120101 사용방법(심플하게!) 1. 먼저 위에 사이트에 접속한다음 TEXT에 JSON포맷의 문자를 복사 붙여넣기 해준다. 2. 그 다음 2번째 줄 탭에 있는 FORMAT을 클릭해준다. 그럼 다음과 같이 보기 좋게 바꿔준다. 복잡하고 보기힘들게 ..
출처 및 참고:https://www.edwith.org/boostcourse-android/lecture/17091/ Volley 라이브러리는 안드로이드 애플리케이션을 위한 네트워킹을 보다 쉽고 빠르게 만들어주는 HTTP 라이브러리입니다. build.gradle(Module)에 implementation 'com.android.volley:volley:1.1.0' 추가해야합니다. 또한 manifests에 도 추가해줘야 기능을 사용할 수 있습니다. Volley는 웹 요청과 응답을 단순화 시키기 위해 만들어진 라이브러리들 중 하나로서 그중에서도 가장 많이 사용되는 라이브러리 중 하나입니다. 장점은 앞서 말한것처럼 사용자가 직접 스레드 핸들러를 사용해서 네트워킹을 구현하지 않아도 되므로 훨씬 편하고 코드 양도..
자바에서 문자열의 대소문자에 상관없이 같은 알파벳이면 같다고 해주고싶을 때가 있을 수도 있다. 그럴 때 쓰는게 equalsIgnoreCase 이다. String에서 사용이 가능하다. 대소문자 구분없이 같은지 다른지 판단하는지 예제로 살펴보자. public class dd { public static void main(String[] args) { String tmpStr = "Y"; String tmpStr2 ="ThiSisSamPle"; System.out.println("------equals 사용------"); if (tmpStr.equals("y")) { System.out.println("같은 문자입니다!!"); } else { System.out.println("다른 문자입니다!!"); } ..