AndroidManifest.xml dosyasında <application> tagı içerisinde <activity> tagı ile belirtilen java classlarıdır.
Her Activity mutlaka Activity classı extend edilerek yazılır.
Her activitynin üzerinde UI olan, belirli bir işlem yapılan tek bir ekranı vardır.
Bunlardan birisinin mutlaka ilk yüklenecek aktivite olduğu <intent-filter> tagı ile manifest dosyasina eklenmelidir (main function gibi).
Örneğin MainActivity classını belirtirken:
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
a. Application nasıl başlar?
Başlangıç activitysi olarak belirlenen activity, sistem tarafından onCreate metodu ile çağırılarak başlatılır.
onCreate metodu çağırılınca activity Created stateine geçer.
b. Activity life cycle nedir?
Application ın içinde bulunduğu durumlar döngüsüdür.
Created -> Started -> Resumed -> Paused -> Stopped -> Destroyed
c. Application life cycle daki geçişleri sağlayan callback metodları nelerdir?
onCreate : aktivite ilk yaratıldığında çağrılır.
onStart : aktivite kullanıcıya görünür olduğu her seferde çağrılır
onResume : Kullanıcı appi interaktif kullanmaya başladığında çağrılır
onPause : paused durumuna geçirir
onStop : kullanıcıya görünmez olduğunda çağrılır
onDestroy: sistem tarafından kill edilmeden önce çağrılır
onRestart: stopped olduktan sonra yeniden başladığında çağrılır
Örnek:
public class MainActivity extends Activity {
String msg = "Android : ";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(msg, "The onCreate() event");
}
/** Called when the activity is about to become visible. */
@Override
protected void onStart() {
super.onStart();
Log.d(msg, "The onStart() event");
}
/** Called when the activity has become visible. */
@Override
protected void onResume() {
super.onResume();
Log.d(msg, "The onResume() event");
}
/** Called when another activity is taking focus. */
@Override
protected void onPause() {
super.onPause();
Log.d(msg, "The onPause() event");
}
/** Called when the activity is no longer visible. */
@Override
protected void onStop() {
super.onStop();
Log.d(msg, "The onStop() event");
}
/** Called just before the activity is destroyed. */
@Override
public void onDestroy() {
super.onDestroy();
Log.d(msg, "The onDestroy() event");
}
}
d. Birden fazla aktivite olabilir mi?
Evet, sınırsız aktivite olabilir.
Bütün aktiviteler AndroidManifest.xml dosyasına eklenmelidir.
Ayrıca ilk yüklenecek aktivite de <intent-filter> ile belirtilmelidir.
Bunlar belirtilmezse kullanıcının ekranında app ikonu görünmez.
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
e. Activity nasıl başlatılır?
"startActivity()" metoduyla activity başlatırız.
"startActivityForResult()" metoduyla activity nin bir de sonuç dönmesini sağlayabiliriz.
Etiketler
abstraction
Accord Framework
ajax
android
architecture
Array
assets
async task
AsyncTask
authorization
avd
billy joel
button
Classification
collections
component
concurrency
container
data science
database
Decision Tree
Decision Trees
dhcp
distributed
donma
emülatör
encapsulation
exception
express
Feature extraction
Feature Selection
garbage collection
glassfish
google
grafik
güvenlik
hadoop
http
IDE
inheritance
j2ee
jade
java
java.lang
JDBC
jls
JNDI
JSF
jsp
kitap
lib
link
Machine Learning
Marmara Üniversitesi
material design
maven
mongodb
multiple inheritance
nested class
netbeans
network
node.js
NoSQL
oop
Oracle
ORM
pass-by-value
pattern
permission
polymorphism
PrimeFaces
primitive
Project Euler
protocol
R
response
REST
RMI
root
Scala
servlet
Set
sözlük
spring
sqlite
tasarım desenleri
tcp/ip
template
test
thread
tier
toast
tomcat
türk telekom
twitter
UI thread
virtual device
web application
web design
web service
WEKA
wireshark
Hiç yorum yok:
Yorum Gönder