imageView: 화면에 자신이 원하는 특정 이미지를 띄울 수 있게 한다.

 

그럼 시작!

 

지난시간에 했던 프로젝트의 activity_main.xml 에다가 ImageView를 삽입하고 크기를 지정해준다.

preview에 이미지가 띄울 곳이 보인다.

src는 자료의 링크를 보여주는 명령어이다.

 

이번에는 toast 메시지(팝업메시지)를 하단에 띄어보자.

ImageView 에다가 id를 주고,

 

.java와 연결해주기 위해서 변수선언을 해주고, 

 

액션을 취할 코드를 입력해준다.

 

아 그리고, 이미지가 잘려서 안보이길래

vertical로 변경해주고 실행을 해보았다.

 

기본 화면

 

이미지를 누르면 내가 지정한 텍스트가 팝업한다!!

 

이번에는 정렬을 배워보자.

이미지뷰를 가운데나 우측으로 정렬해보자.

 

activity_main.xml 에다가 LinearLayout을 적어주고,

 

적어두었던, ImageView를 LinearLayout 안에다가 적어주었다.

 

LinearLayout을 적어줌으로써, LinearLayout만의 공간이 생긴 것을 확인할 수 있다.

 

여기서 gravity를 설정해주었다. 이는 중력이라는 뜻으로, 여기서 왼쪽정렬, 가운데정렬, 오른쪽 정렬을 설정할 수 있다.

나는 가운데 정렬을 해주었다.

 

 이미지가 가운데 정렬이 된 것을 확인할 수 있다.

 

4강 실습도 끝!!

Intent 는, 기존의 A라는 액티비티에서 새로운 B로 이동할 때 사용한다.

쉽게 말해서 화면 전환이다.

 

Intent 예제를 다뤄보고 A에서 B 액티비티로 이동할 때, 텍스트 등의 데이터도 옮겨갈 수 있는 예제도 다뤄보자.

 

일단, New project 를 실행해서 Empty 를 선택하고, 이름을 설정해준다. 

 

java 를 누르면, 탭에 activity_main.xml 과 MainActivity.java 가 뜬다.

com.으로 시작하는 패키지 우클릭, New>Activity>Empty Activity 로 Empty Activity 를 새롭게 생성한다.

 

원하는 대로 이름을 설정해준다. 나는 SubActivity 라고 이름 붙였다. 

 

그러면 탭에 activity_sub.xml 과 SubActivity.java 가 생성된 것을 볼 수 있다.

 

 

1. activity_main.xml 에서 activity_sub.xml 로 이동하는 것 구현해보기.

우선 constraint layout 에서 LinearLayout으로 변경해주고, TextView 를 삭제한 뒤 간단히 버튼을 만들어 주었다.

 

그 다음, 버튼에 아이디 값을 부여해보자. 나는 id 값으로 btn_move 를 주었다. 이 아이디를 복사해서, MainActivity.java 에 붙여넣어서 버튼에 숨을 불어넣어주자.

 

우선, 변수 선언을 해준다.
그 다음, xml에서 아이디값을 이용해서 변수값을 찾는 코드를 적어준다.

우선 이렇게 java와 xml을 연결해 주었다.

 

이제, 버튼을 누르면, activity가 이동하는 코드를 짜주자. 위와 같이 setOnClickListener를 이용한다.

여기까지만 하면, 이제 버튼을 누르면 액티비티 간 이동이 일어날 수 있다! 

근데 이동했을 때, subActivity가 밋밋하니까 좀 꾸며주자.

 

activity_sub,xml

레이아웃을 LinearLayout으로 변경해주고

 

TextView도 하나 넣어줬다.

이제 빌드를 해보자.

 

빌드 직후 화면

이동 버튼을 눌러주면~

 

서브액티비티로 잘 도착했음을 알 수 있다!

 

2. 이번에는 A액티비티에서 받은 텍스트를, B액티비티 화면에 띄어주는 (즉, 데이터전송) 예제를 해보자.

우선 activity_main.xml로 이동한다.

 

사용자가 입력하는 데이터를 받기 위해 EditText를 만들어주고 id를 부여하였다.

 

MainActivity.java

mainActivity에 가서 xml과 java를 연결해주기 위해서 변수를 선언해주고,

 

id값을 연결해준다.

 

여기까지는 여태 했던 작업과 다를 바가 없다. 사용자가 입력한 값을 전달받기위한 코드를 작성해주어야 한다.

 

빈 문자열을 하나 만들어준다.

 

사용자가 입력한 문자열을 가져오기 위해서 getText()를 사용하고, 가져온 문자열을 str에 저장한다.

근데 오류가 난다. 왜냐하면 사용자에게 받은 데이터가 string인지 아닌지 모르기 때문이다. 

 

toString()

사용자에게 받은 데이터를 String 처리 하기 위해서 toString()을 사용하였다. (오류 처리됨)

 

화면전환이 되기 전에, putExtra를 사용해서 사용자에게 받은 문자열을 받는 함수를 실행한다.

쉽게 말해서, 사용자에게 데이터를 받아서 putExtra를 이용해서 SubActivity에다가 쐈다!

intent.putExtra("별명", 받아올문자열변수); 형태로 받아오면 된다. 나는 그냥 별명과 변수명 둘다 동일하게 설정해두었다.

데이터를 쐈으니까, SubActivity에서는 받는 작업도 해주어야한다.

 

subActivity에서 intent로 쏜 값을 받는 코드 두 줄을 써준다. 

별명을 일치시켜야 내가 원하는 값을 제대로 받을 수 있다.

 

이제, activity_sub.xml 의 TextView에다가 id값을 부여해주자.

id값으로 tv_sub을 지어주고,

 

.java 에다가 연결해주기 위해 변수선언을 해주고,

 

연결을 완료해준다!!

 

이제 빌드해보자.

이렇게 데이터를 입력하고 이동 버튼을 눌러보면,

 

아무것도 안뜬다ㅋㅋㅋㅋ

 

그 이유는, 코드 위치가 잘못되서라고 한다.

제대로 코드가 나오게 하기 위해서, 다음과 같이 코드이동을 해주었다.

mainActivity.java의

str = et_test.getText().toString();

의 위치를

 

public void onClick(View v) 함수 안으로 넣어주었다.

사용자로부터 받은 데이터를 전달하는 시점은,

앱을 오픈했을 때가 아니라 버튼을 클릭했을 때 이루어지는 것이기 때문에, 위치 설정을 제대로 해주어야한다.

이제 빌드를 다시 해보자.

 

성공적으로 데이터 전송이 이루어진것을 알 수 있다.

 

3강 끝!!!!

이번엔 EditText를 배워보기로 했다.

#1 강의에서와 동일하게, LinearLayout 설정까지 그대로 해준다.

 

++ 또, 오늘은 xml 파일과 java파일의 차이점을 알게 되었다.

.xml은 정적인 요소, 즉 화면 디자인같은 개념으로, 화면을 구성하기 위한 파일이고,

.java는 동적인 요소, 즉 어떤 버튼을 클릭했을 때, 어떤 액션을 취하도록 할 것인가를 정해주는 파일이다.

 

아무튼 맨 처음 시작 상태 화면은 다음과 같다.

LinearLayout으로 변경해주고, TextView를 삭제한 상태

 

이제 시작을 해보자! EditText와 Button을 만들기로 했다.

wrap_content는 내용에 맞춰서 길이가 출력된다는 뜻이다.

id는 이름을 지정해주는 역할이라고 했다.

그래서 Button에는 btn_id, EditText는 et_id라고 이름을 지어줬다. 

여기까지하면, 내가 굳이 EditText와 Button의 위치를 정해주지 않아도, 알아서 가로로 정렬이 되어있다.

 

만약 세로로 배치하고 싶다면, orientation을 적어주고 vertical이라고 쓰면 된다.

orientation을 이용해 세로로 정렬한 모습

여기까지는 그저 디자인에 불과했고, 버튼에다가 액션을 지정(기능부여)해주기로 했다. 액션을 지정해주기 위해서 mainActivity.java로 이동한다.

 

변수 설정하기

.java 로 들어와서 내가 기능을 부여하고 싶은 것에 위와 같이 변수를 설정해준다. 

 

xml에서 만들어 놓은 개체들과 연결해준다

그 다음, xml에서 만들어놓은 개체들에게 숨을 불어넣어주기 위해서 개체들과 .java 가 연결되도록 findViewByID를 이용해서 코드를 넣어준다.

 

button을 눌렀을 때 액션을 설정해 주었다.

코드가 길어보이지만 자동완성 기능이다. 버튼을 눌렀을 때의 액션을 설정해주기 위해 btn_test.setOnClickListener을 적어주었다.

버튼을 클릭하면, 설정해놓은 문자열이 나오도록 코드를 적어주었다. 여기까지 하고, 빌드해보았다.

 

이렇게 화면이 나타나고,

 

버튼을 클릭하면, 문자열이 EditText에 나타난다.

 

2강 끝!

안드로이드 스튜디오를 이용해서 어플을 하나 만들고 싶은데, 기본지식이 하나도 없어서 독학을 시작했다.

사실 현재 iOS 어플 개발도 진행하고 있어서,, 조금 무리하는 감이 있지만, 계속 미루다가는 아예 안할 것 같아서 하루에 1시간 정도만 투자하기로 했다.

참고한 독학 자료는 유튜브를 이용했다. 

https://www.youtube.com/watch?v=wZdImPoFjW8&list=PLC51MBz7PMyyyR2l4gGBMFMMUfYmBkZxm&index=2

안드로이드 스튜디오는 그냥 깔면된다. 튜토리얼 보고..(#0 에 있음)

그럼 1강부터 기록 시작!

유투브랑 내꺼랑 안스 버전이 달라서, 조금  헷갈리지만 그래도 금방 따라할 수 있는 수준이다.

맨 처음 일단 실행을 한다. 

 

맨 위의 start a new Android Studio project 클릭

 

Empty Activity 클릭

 

이름 지정해주고 finish 버튼 클릭

 

그럼 기본적으로 이렇게 두 개의 탭이 뜬다. xml 과 java 탭.

 

activity_main.xml

activity_main.xml의 <TextView> 부분은, 텍스트를 출력하는 부분이다. preview를 통해서 안드로이드 폰이 없어도, "Hello World"가 구현되는 것을 볼 수 있다.

 

기본 설정되어 있는 화면

기본으로 Constraint.ConstraintLayout 어쩌고 라는 것이 설정되어 있는데, 우리는 쓰기 편한 LinearLayout으로 변경을 해주기로 한다.

 

LinearLayout으로 변경

이렇게 변경을 해주면, 오른쪽의 프리뷰 화면구성도 달라지는 것을 볼 수 있다. 

TextView 수정

TextView 부분도 한 번 내가 직접 써봤다. 

 

TextView 두번 썼는데 preview 는 그대로

TextView 부분을 복붙해서 두 번 써봤다. 근데 두 번 썼는데도 불구하고 화면에는 여전히 하나밖에 나타나지 않는다.

왜냐하면, LinearLayout은 내가 orientation이라는 것을 지정해줘야 하기 때문이라고 한다.

 

orientation 지정한 모습

orientation을 지정해주었더니 내가 원하는 대로 두 개의 TextView가 나왔다. 이때, orientation에서는 horizontal과 vertical 둘 중에 하나 선택가능하다. vertical로 지정했더니, TextView가 세로로 하나씩 등장한다. 

 

그 다음 오른쪽 상단의 재생버튼을 눌러주면, 빌드되어서 위와 같이 화면을 볼 수 있다. 이대로 끝나면 심심하니까 글씨체 변화도 줘보기로 했다. 

 

textColor와 textSize변화

textColor와 textSize 변화를 줘봤다.

 

사이즈와 컬러 변경 후 빌드 화면

빌드하면 위와 같이 화면이 뜬다!

아주 아주 간단해서 어플이라 하기도 뭐한 앱을 한번 만들어봤다. 

 

이렇게 1강 끝!

+ Recent posts