이 시리즈는 오래된 자바 안드로이드 책의 내용을 정리하고 있습니다.
때문에 현 실정과 다른 부분이 있을 수 있습니다.
.java
파일이 자바 컴파일러에 의해서 .class
가 생성된다..class
가 달빅 또는 art 위해서 돌아가기 위해 dex에 의해서 .dex
가 생성된다..dex
+ 여러가지 써드파티가 합쳐져서 .apk
가 생성된다.<activity>
: 엑티비티 선언<service>
: 서비스 선언<receiver>
: 방송 수신자provider>
: 컨텐트 제공자setContentView()
라는 함수는 액티비티의 화면을 설정하는 함수R.java
안에 자동적으로 변수가 생성되고, 이를 통해서 해당 리소스를 참조할 수 있다.EditText eText;
이런식으로 선언하면 onCreate의 지역 변수로 선언되어 이벤트 처리 메소드안에서는 호출할 수 없다. 하지만 final을 붙이게 된다면 더 이상 변경할 수 없는 상수가 되므로 호출 할 수 있게 된다.public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = findViewById(R.id.button);
Listener lis = new Listener();
button.setOnClickListener(lis);
}
class Listener implements View.OnClickListener {
public void onClick(View v){
Toast.makeText(getApplicationContext(),"Clicked!",Toast.LENGTH_LONG).show();
}
}
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Clicked!",Toast.LENGTH_LONG).show();
}
});
}
}
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Clicked!",Toast.LENGTH_LONG).show();
}
}