일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 막내의 막무가내 알고리즘
- 막내의막무가내 플러터 flutter
- 부스트코스
- 주엽역 생활맥주
- 주택가 잠실새내
- 2022년 6월 일상
- 막내의 막무가내
- 막내의막무가내 코틀린 안드로이드
- 안드로이드 sunflower
- Fragment
- flutter network call
- 막내의막무가내 플러터
- 막내의막무가내 SQL
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 안드로이드 코틀린
- 부스트코스에이스
- 막내의막무가내 일상
- 막내의막무가내 목표 및 회고
- 프래그먼트
- 막무가내
- 안드로이드
- 막내의막무가내 rxjava
- 막내의막무가내 프로그래밍
- 막내의막무가내 안드로이드
- 막내의막무가내 알고리즘
- 막내의막무가내 코틀린
- 안드로이드 Sunflower 스터디
- 막내의막무가내
- 프로그래머스 알고리즘
- Today
- Total
목록막내의 막무가내 (34)
막내의 막무가내 프로그래밍 & 일상
클라이언트가 서버에 데이터를 요청을 하고 서버로부터 받은 데이터 즉 웹을 통해서 전달된 데이터를 브라우저를 통해 화면에 띄워주게 된다. 여기서 브라우저는 크롬, 익스플로어, 사파리, 파이어폭스 등 여러가지가 있다. 그럼 화면에 띄워주기위한 브라우저의 동작방식이 있을 것이다. 브라우저는 데이터를 해석해주는 파서와 해석한 데이터를 화면에 표현해주는 렌더링 엔진이 있는데 파서로 전달받은 데이터를 세부적으로 나눠서 해석하게되고 랜더링작업을 마친 후 화면을 띄워주게 된다. 다음 밑 그림을 참고하도록하자. 사파리 브라우저에서 처리되는 webkit렌더링엔진의 처리과정출처 https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ 이런식으로 HTML, CSS..
안드로이드 외부 라이브러리중 사진을 쉽게 확대 및 축소해서 드래그도 할 수 있게 해주는 것이 있다. 이 라이브러리의 사용법에 대해 포스팅할려고한다. 먼저 https://github.com/chrisbanes/PhotoView chrisbanes/PhotoView Implementation of ImageView for Android that supports zooming, by various touch gestures. - chrisbanes/PhotoView github.com 이 분이 만든 라이브러리고 해당 사이트에 사용법과 라이브러리를 구현해놓았다. 라이브러리를 사용하기 위해서는 1. gradle project에 maven url을 다음과 같이 추가해줘야한다. allprojects { reposit..
매번 해도 기억이 가물가물한 리스트뷰 기본 사용법을 기록해논다. 아이템-어뎁터-뷰 기억하자. 어댑터 package com.example.a82107.mylistview_adapter; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView;..
해당 클래스의 getActiveNetworkInfo()가 deprecated된 부분이 있어 2020.03.13 기준으로 추가로 업데이트 했습니다. (가장 마지막 참고해주세요) 안드로이드에서 인터넷이 연결되어 있는지 확인해야할 때가 있다. 예를들어 인터넷 연결이 되있어야하는 서비스인 경우 인터넷이 안되면 안된다고 알림메세지를 띄워준다거나 사용자에게 알려줘야 한다. 그리고 웹서버에서 데이터를 가져와서 일부 화면에 띄워주는 앱이 있다고하면 인터넷 연결이 안되는 경우는 인터넷이 필요없는 화면이나 기능은 동작하도록 할 수 있거나 메세지로 인터넷 연결이 안되었다고 알려줄 수 있을 것이다. 이렇게 인터넷 연결 유무에 따라 처리를 하기위해서는 인터넷이 연결되어 있는 상태인지 확인하는 기능이 필요하다. 우리는 안드로이드..
참고 : 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..
출처및 참고 : https://developer.android.com/guide/components/fragments?hl=ko 프래그먼트 관련 코딩을 하다가 프래그먼트는 액티비티와 다르게 onBackPressed()를 오버라이딩을 할 수 없어서 이 메소드에 뒤로가기 관련 이벤트를 처리할 수 없었다. 그래서 당시에 프래그먼트를 띄워줬을 때 뒤로가기를 누르면 현재 띄어진 프래그먼트를 참조하고 있는 Fragment 객체를 프래그먼트 관리자를 통해 remove를 해주고 null로 초기화해줬었다.밑에처럼 말이다. 참고로 moveinfo는 프래그먼트고 이미 액티비티에서 올라가있는 프래그먼트가 있는데 그 프래그먼트에서 버튼을 누르면 이 moveinfo가 담고있는 프래그먼트가 올라가는 상황이다.액티비티 내의 오버라이..
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을 클릭해준다. 그럼 다음과 같이 보기 좋게 바꿔준다. 복잡하고 보기힘들게 ..
자바에서 문자열의 대소문자에 상관없이 같은 알파벳이면 같다고 해주고싶을 때가 있을 수도 있다. 그럴 때 쓰는게 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("다른 문자입니다!!"); } ..
스레드는 동시작업을 할려면 필요한 하나의 작업단위라고 볼 수 있다. 예를들어, 코드에 따로 스레드를 생성 및 실행을 안하고 실행시킨 경우 메인스레드라고 하는 것만 작업을 하고 있는거다. (즉 스레드를 배우지 않았을 때의 안드로이드 프로그래밍은 메인스레드 하나만 돌아가고 있던거라고 보면된다.) 하지만 동시에 여러작업을 하기 위해서는 스레드를 생성하고 실행시켜야하고 이를 구현할 줄 알아야한다. 이러한 사용법을 예시코드로 남겨본다. 그러나 구현하는데있어서 주의해야할 점이 있다. xml즉 UI부분에 접근하는 것은 스레드 2개가 동시에 접근을 할 수 없다. 그래서 기본적으로는(초기) 메인스레드만 UI에 접근 할 수 있고 메인 외 다른 스레드들은 별도의 제어를 통해 UI부분을 다뤄야한다. 이러한 제어중에 핸들러라는..