본문 바로가기
▶대학생활/IT동아리 CADI

[CADI 1주차 미션] 앱실습과제-자기소개

by 브라더 준 2018. 5. 16.

<CADI 1주차 미션>

1. 자바와 코틀린의 차이


http://markim94.tistory.com/86  따로 포스팅.



2. 정기모임 내용 복습


- 인텐트 : 액티비티를 띄우거나 기능을 동작시키기 위한 수단, 일종의 명령 또는 데이터 전달수단이 된다.

Intent intent = new Intent(getApplicationContext(), SecondActivity.class); // 액티비티 전환에 관한 인텐트 생성
startActivity(intent); // 인텐트 실행(액티비티 전환)


- 토스트 : 토스트 메시지를 출력시킴

Toast.makeText(getApplicationContext(),"안녕하세요", Toast.LENGTH_LONG).show();


- 텍스트뷰 : 텍스트를 보여주는 뷰

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="안녕하세요"/>


- 이미지뷰 : 이미지를 보여주는 뷰

이미지를 넣는 방법으로 background 속성에 drawable폴더에 미리 저장해둔 mdm.png파일을 설정한다.

<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/mdm"/>


- 버튼 : 버튼

<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="26dp"
android:text="button"
android:layout_alignParentLeft="true" />

wrap_content는 내용물의 크기에 맞추어 크기조정, match_parent는 부모의 크기에 맞추어 조정.

위는 버튼 생성 xml 코드, 버튼을 클릭시 동작을 지정하기 위해서는 onClick을 설정하거나, 자바코드에서 SetOnClickListener를 설정해주어야 함. 


Button button = (Button) findViewById(R.id.button); // 버튼에 대한 객체 생성
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"안녕하세요", Toast.LENGTH_LONG).show(); // 버튼 클릭시 토스트 메시지 출력
Intent intent = new Intent(getApplicationContext(), SecondActivity.class); // 액티비티 전환에 관한 인텐트 생성
startActivity(intent); // 인텐트 실행(액티비티 전환)
}
});




3.앱실습과제-자기소개


<조건>

- 두 개의 액티비티를 생성함

- 첫 번째 액티비티는 사진, 글, 버튼이 포함된 자기소개 글 작성

- 첫 번째 액티비티에 있는 버튼을 누르면 두번째 액티비티로 넘어감

- 두 번째 액티비티는 학교 사진과 버튼을 포함함

- 두 번째 액티비티에 있는 버튼을 누르면 본인의 학교 사이트로 이동하도록 함

- 각 액티비티, xml 파일코드를 복사하고, 동영상으로 결과 동작화면을 찍어 포스팅 한 후 미션제출방에 업로드



activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">

<ImageView
android:id="@+id/imageView"
android:layout_width="220dp"
android:layout_height="300dp"
android:background="@drawable/image"/>

<TextView
android:id="@+id/textView"
android:layout_marginTop="20dp"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:text="안녕하세요, 김준형입니다."
android:textSize="20dp"
android:gravity="center"
android:background="#E6E6E6"/>

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="다음"/>


</LinearLayout>


MainActivity.java

package org.techtown.cadiproject01;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
public static final int REQUEST_CODE_SECOND = 101; //요청코드 101로 정의

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button button = (Button) findViewById(R.id.button); //버튼 객체 참조

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), SecondActivity.class); //context객체 참조후 전달
startActivityForResult(intent, REQUEST_CODE_SECOND); //ForResult의 경우는 새로 띄운 액티비티로 부터 응답 받을 수 있다.
Toast.makeText(getApplicationContext(),"request_code: " + REQUEST_CODE_SECOND,Toast.LENGTH_SHORT).show(); //요청코드 토스트 메시지
}
});

}
}


activity_second.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="240dp"
android:layout_alignParentTop="true"
android:layout_marginTop="90dp"
android:background="@drawable/sahmyook" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="38dp"
android:text="삼육대학교"
android:textColor="#ff000000"
android:textSize="20dp" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="104dp"
android:text="학교사이트로 이동" />

</RelativeLayout>


SecondActivity.java

package org.techtown.cadiproject01;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

Button button = (Button) findViewById(R.id.button2); //버튼 객체 참조
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.syu.ac.kr"));
startActivity(intent);
}
});

}
}


동작영상


반응형