<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);
}
});
}
}
동작영상
'▶대학생활 > IT동아리 CADI' 카테고리의 다른 글
[CADI 7주차 미션] LayoutInflater, dialog message (0) | 2018.07.13 |
---|---|
[CADI 5,6주차 미션] Gradle 개념정리, 카카오톡 외형구현하기 (0) | 2018.06.29 |
[CADI 2주차 미션] JAVA 오버라이딩, 오버로딩과 접근제어자 (0) | 2018.05.21 |
[CADI]IT동아리 카디 합격후기&활동계획 (0) | 2018.04.23 |
[CADI]컨버전스형 IT 연합동아리 카디 일반회원 모집 (0) | 2018.04.05 |