android studio를 이용한 안드로이드 프로그래밍 7판에 나온 모든 내용이다.
팀 프로젝트를 위해 공부를 시작했고 내가 맡은 분야는 앱 개발이다.
사실상 해당 분야에 대한 지식이 전무하니 공부를 처음부터 시작해야 한다.
먼저 버튼을 만들어 준다.
잘 몰랐었는데 화면에 있는 Design으로 가면 버튼의 위치나 여러가지 설정을 코딩 없이(studio가 자동완성) 편하게 설정해줄 수 있다.
그런데 constraintlayout인지 linearlayout인지 정확하게 알고 넘어가야 했다.
별 생각없이 지나쳤다가 꽤 많은 시간을 낭비했다.
제 경우에는 Design에서 버튼을 이리저리 옮기다가
한 놈이 제멋대로 움직여서 고충을 겪었다.
계속 생각하고 구글링 하다가 저 둥그란 녀석을 드래그해서 다른 항목에 놓아주면 관계가 맺어진다는 어떤 블로그 글이 생각나서 해봤다.
어우 감사하게도 해결되었다!!! 그래서 임시로 디자인을 저렇게 했고 각 버튼에 맞는 기능을 구현했다.
안드로이드 스튜디오를 배워가면서 발견한 게 있다면 안드로이드 스튜디오는 화면 자체를 구현하는 .xml 파일이 있고 화면에 맞는 기능을 구현하는 .java파일이 있고 androidmanifest.xml라는 뭐 필수구성요소를 넣어주는 녀석이 있다는 것이다. 그래서 단계를 보면 먼저 xml 파일에서 화면을 디자인하고 그에 맞는 기능들을 java 파일에 넣어주는 것이다.
자 그럼 화면을 만들었으니 그에 맞는 기능을 구현해보자.
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
제일 처음 MainActivity[activity_main.xml(방금 디자인했던 화면의 xml 파일 이름)에 대한 기능을 구현하는 java 파일]은 이렇게 된다. onCreate 즉 처음 만들어지면 아래와 같이 해줘 라는 느낌. 참고로 java에서 xml을 참조하는 방법은 xml에서 각 구성요소에 부여한 고유의 id를 java로 받아주는 것이다. 코드를 보면 쉽게 이해할 수 있다.
**MainActivity.java**
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
}
}
**activity_main.xml**
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
android:text="@string/strBtn1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/guideline3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints" />
저렇게 id를 받아오고 그에 맞는 기능을 java에 주가해준다.
**MainActivity.java**
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent mIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com"));
startActivity(mIntent);
}
});
클릭하면 아래 있는 거 실행해줘. 라고 하는 거다. 무튼 이런 기본적인 내용들을 습득했고
다음은 이게 왜 안되지? 이게 왜 안돼?!?!?!? 시리즈로 찾아 오겠다.
p.s. 이 외에도 intent로 화면 전환, 대화상자 띄우기, 간단한 일기 쓰기, SQLite에 대한 공부와 에피소드가 있다!!!