Merhabalar ???? Thread mant\u0131\u011f\u0131n\u0131 kavramak ve uygulama a\u00e7\u0131ld\u0131\u011f\u0131nda kar\u015f\u0131m\u0131za gelen ilk ekran\u0131 \u00f6zelle\u015ftirmek ad\u0131na Splash Screen uygulamas\u0131 yapaca\u011f\u0131z.<\/p>\n\n\n\n
\u00d6ncelikle Splash Screen<\/a> nedir bunu \u00f6\u011frenelim.<\/p>\n\n\n\n
Thread : <\/strong>Ayn\u0131 anda birden fazla i\u015flem yap\u0131lmas\u0131n\u0131 sa\u011flar. Ve bu i\u015flemler e\u015f zamanl\u0131 ger\u00e7ekle\u015fir. Java’da en fazla kullan\u0131lan yap\u0131lardan biridir. Veri okuma\/yazma i\u015flemleri, veritaban\u0131 \u00fczerinde crud<\/a><\/em> i\u015flemleri, a\u011f ileti\u015fimi ve g\u00f6r\u00fcnt\u00fc i\u015fleme, metin ayr\u0131\u015ft\u0131rma gibi i\u015flemler thread ile yap\u0131lmal\u0131d\u0131r.<\/p>\n\n\n\n
<?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:background=\"@drawable\/tree\"
android:orientation=\"vertical\">
<\/LinearLayout><\/pre>\n\n\n\nSplash ekran\u0131ndan sonra y\u00f6nlendirece\u011fimiz yeni s\u0131n\u0131f\u0131n xml tasar\u0131m\u0131n\u0131 yapal\u0131m. <\/p>\n\n\n\n
activity_main.xml<\/font><\/h2><\/strong><\/p>\n\n\n\n
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<android.support.constraint.ConstraintLayout
xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"
xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\">
<TextView
android:id=\"@+id\/textView\"
android:layout_width=\"wrap_content\"
android:layout_height=\"28dp\"
android:text=\"\u0130kinci Ekran\"
android:textSize=\"24sp\"
app:layout_constraintBottom_toBottomOf=\"parent\"
app:layout_constraintEnd_toEndOf=\"parent\"
app:layout_constraintStart_toStartOf=\"parent\"
app:layout_constraintTop_toTopOf=\"parent\" \/>
<\/android.support.constraint.ConstraintLayout> <\/pre>\n\n\n\nBu k\u0131s\u0131mda \u00f6rnek olsun diye sadece TextView<\/em> ekledim. Siz istedi\u011finiz gibi d\u00fczenleyebilirsiniz.<\/p>\n\n\n\n
Geriye sadece s\u0131n\u0131flar\u0131 olu\u015fturmak kald\u0131. SplashScreen.java<\/em> ile ba\u015flayal\u0131m.<\/p>\n\n\n\n
SplashScreen.java<\/font><\/h2><\/strong><\/p>\n\n\n\n
public class SplashScreen extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash<\/em>);
Splash splash = new Splash();
splash.start();
}
class Splash extends Thread {
public void run() {
try {
sleep<\/em>(4000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
Intent intent = new Intent(SplashScreen.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK <\/em>| Intent.FLAG_ACTIVITY_NEW_TASK<\/em>);
startActivity(intent);
}
}
}
<\/pre>\n\n\n\nKod i\u00e7erisinde olu\u015fturulan ikinci s\u0131n\u0131f\u0131 a\u00e7\u0131klamakla ba\u015flayal\u0131m. Thread olu\u015fturmak i\u00e7in Thread s\u0131n\u0131f\u0131ndan yeni bir s\u0131n\u0131f olu\u015fturduk. Bu s\u0131n\u0131f i\u00e7erisindeki run() methodu splash ekran\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Try {} i\u00e7erisinde sleep(4000) yazarak 4 saniye beklemesini sa\u011flad\u0131k. Catch{} i\u00e7erisinde ise gerekti\u011finde hata yaz\u0131s\u0131n\u0131 g\u00f6steren bir yap\u0131 yazd\u0131k. <\/p>\n\n\n\n
Intent ile activityler aras\u0131 ge\u00e7i\u015fi sa\u011flad\u0131k. Ve Intent s\u0131n\u0131f\u0131ndan t\u00fcretti\u011fimiz intent nesnesi ile FLAG_ACTIVITY_CLEAR_TASK ve FLAG_ACTIVITY_NEW _TASK kullanarak ayn\u0131 task i\u00e7inde \u00e7al\u0131\u015fan ekranlar\u0131n tekrar g\u00f6sterilmemesi i\u00e7in bir \u00f6nceki task’\u0131 silip yeni bir task ba\u015flat\u0131yoruz.<\/p>\n\n\n\n
onCreate() metodu i\u00e7erisinde ise alt s\u0131n\u0131f\u0131n nesnesini kullanarak s\u0131n\u0131f i\u00e7erisindeki metodlar\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011fl\u0131yoruz.<\/p>\n\n\n\n
MainActivity.java<\/font><\/h2><\/strong><\/p>\n\n\n\n
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main<\/em>);
}
}
<\/pre>\n\n\n\nSon olarak e\u011fer eklenmemi\u015fse AndroidManifest.xml<\/em> dosyas\u0131na activityleri a\u015fa\u011f\u0131daki gibi ekliyoruz.<\/p>\n\n\n\n
<activity android:name=\".MainActivity\"><\/activity>
<\/pre>\n\n\n\nUygulaman\u0131n Son Hali : <\/font><\/h2><\/strong><\/p>\n\n\n\n
<\/figure>\n","protected":false},"excerpt":{"rendered":"
Merhabalar, Thread mant\u0131\u011f\u0131n\u0131 kavramak ve uygulama a\u00e7\u0131ld\u0131\u011f\u0131nda kar\u015f\u0131m\u0131za gelen ilk ekran\u0131 \u00f6zelle\u015ftirmek ad\u0131na Splash Screen uygulamas\u0131 yapaca\u011f\u0131z.<\/p>\n","protected":false},"author":6,"featured_media":1446,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[80,24],"tags":[59,96,95,94],"_links":{"self":[{"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/posts\/1424"}],"collection":[{"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/comments?post=1424"}],"version-history":[{"count":13,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/posts\/1424\/revisions"}],"predecessor-version":[{"id":1451,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/posts\/1424\/revisions\/1451"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/media\/1446"}],"wp:attachment":[{"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/media?parent=1424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/categories?post=1424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codewk.com\/wp-json\/wp\/v2\/tags?post=1424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}