Aslında yıllardır hakkında konuşulan bir konu bu. Muhtemelen Youtube’da ya da diğer sosyal platformlarda görmüşsünüzdür “10 dakikada İngilizce Öğren” başlıklarını. Ben bunun aksine size bir ömür sürecek öğrenme metotlarından bahsedeceğim. Öncelikle İngilizcenin bir dil olduğunu ve dillerin sürekli gelişmekte olduğunu unutmayalım. Hadi daha fazla uzatmadan İngilizcemizi kendi kendimize nasıl geliştirebiliriz ona bakalım.
1) Voscreen
Öncelikle Voscreen benim favorilerimden biri. Voscreen, dizi/film sahnelerini kısa parçalar halinde dinletip, doğru çevirisini şıklar arasından seçmenizi istiyor. Voscreen’ı web sitesinden ya da telefonunuza uygulamasını yükleyerek (App Store/Google Play) kullanmaya başlayabilirsiniz.
2) Rong-Chang
Rong-Chang kısa kısa İngilizce hikayelerinin bulunduğu bir web sitesi. Eğer uzun makaleler ya da kitaplar okumak sizi sıkıyorsa, buradan istediğiniz konuda, istediğiniz seviyede kısa hikayeler bulabilirsiniz. Ayrıca bazı hikayelerin seslendirmeleri de mevcut. Bu hikayeleri dinleyerek kulak aşinalığı sağlamanız da mümkün.
3) Ororo.tv
Bu sitede dizi ya da animasyonları İngilizce altyazılı olarak izleyebiliyorsunuz. Peki güzelliği ne diyorsanız eğer, İngilizce altyazıda bilmediğiniz kelime çıktığında fareyi kelimenin üzerine getirirseniz size Türkçe çevirisini söylüyor.
4) YouGlish
Malumunuz Türkçe yazıldığı gibi okunan bir dil fakat İngilizce için aynı şeyi söylememiz pek mümkün değil. Youglish.com sayesinde telaffuzunu merak ettiğiniz kelimeyi aratıyorsunuz ve karşınıza arattığınız kelimenin geçtiği YouTube videoları geliyor. Videolar arasında ilerleyerek farklı kişilerden, aynı kelimenin telaffuzunu dinleyebilirsiniz.
5) BrainyQuote
Dünyanın her yerinden, müzisyenlerin, bilim insanlarının, siyasetçilerin, yazarların vb. önemli kişilerin sözlerini BrainyQuote sitesinde bulmak mümkün. Ayrıca bu sözler sayesinde pek çok deyim de öğrenilebilir.
6) Yabancı Siteler (Genel)
Günümüzde telefonlarımızın da akıllanmasından sonra günlük hayatımızda haberler için ya da araştırdığımız herhangi bir konu için bin bir çeşit sitede vakit harcıyoruz. Benim tavsiyem bu vaktinizin bir kısmını yabancı sitelerde harcamak. İngilizce haberler ve içerikler okuyun. Böylece günlük hayattaki İngilizce kalıplara da aşinalık kazanmış olursunuz. Örneğin: www.buzzfeed.com
7) Google Translate Eklentisi
Eğer bilgisayar başında yabancı sitelerde geziniyorsanız mutlaka tavsiye ediyorum. Okuduğunuz metinde bilmediğiniz bir kelime varsa fareyle kelimeyi seçiyorsunuz ve anında Türkçe karışılığını görüyorsunuz. Tabii bunun için Google Chrome tarayıcısını kullanmanız gerekiyor. Eklentiye bu bağlantıdan ulaşabilirsiniz: Google Translate Eklentisi
8) Elektronik Cihazlar
Bir diğer etkili yöntem ise kullandığınız elektronik cihazlarınızın dilini İngilizce yapmak. Eğer telefonunuzun ve bilgisayarınızın dilini İngilizce yaparsanız işinizi halletmek için ister istemez yeni kelimeler öğrenmek zorunda kalacaksınız.
9) Kitaplar
Okumak kelime bilgisini fazlasıyla geliştiren bir eylem. Kitapçılardan hem ucuz hem de seviyenize uygun ince kitaplar bulabilirsiniz. Kendi seviyenizin üstünde kitaplar seçmemeye özen gösterin çünkü okurken sürekli sözlüğe bakmak okuma isteğinizin kaybolmasına neden olabilir. Ayrıca mutlaka kitabın ilgi duyacağınız bir konuda olmasına da dikkat edin.
10) Yabancı Arkadaşlar
Eğer sosyal bir kişiyseniz, sosyal medya platformlarından ya da gerçek yaşantınızdan (üniversite, iş yaşantısı vb.) yabancı arkadaşlar edinin. Yabancı arkadaşlarınızla konuşurken hem İngilizcenizi canlı tutmuş olacak hem de yeni şeyler öğrenmiş olacaksınız. Eğer yabancı birini bulamıyorsanız sizin gibi İngilizcesini geliştirmek isteyen bir arkadaşınızla anlaşıp onunla İngilizce konuşmaya başlayın.
11) Sosyal Medya
Artık boş vakitlerimizi sosyal medyada geçirir olduk. Twitter, Instagram ve Facebook gibi platformlardan ünlü yabancı sayfaları takip etmeniz hem gündemi takip etmenize olanak sağlayacak hem de İngilizcenizi geliştirmenizde size yardımcı olacaktır.
12) Dizi/Film ya da Video
Aslında dizi ya da film izlemek hepimiz için en iyi ve en keyifli seçenek. Tabi Türkçe altyazılı olarak izlerseniz kendinizi senaryoya kaptırıp İngilizce’ye odaklanamayabilirsiniz. Bunun için her ne kadar zor olsada İngilizce altyazılı olarak izlemenizi tavsiye ediyorum.
13) Müzik
Eve, işe, okula giderken yolculuk sırasında, herhangi bir iş yaparken arka planda çalan ya da çeşitli sebeplerden ötürü her zaman hayatımızın bir parçası “müzik”. Müzik dinleyerek kulak aşinalığı sağlayabilir, müziklerin sözlerine bakarak yeni kelimeler öğrenebiliriz.
14) Ted Talks
Ted, dünyanın her yerinden alanında profesyonel konuşmacıları toplamış ve bunu bizler için yayınladığı bir platform oluşturmuş. Bu konuşmaları altyazılı bir şekilde izleyerek İngilizcenizi geliştireceğiniz gibi kendinizi diğer bilimsel alanlarda da geliştirebilirsiniz.
15) Oyun
Dünya üzerinde neredeyse tüm oyunlar İngilizce dil seçeneğine sahip. Eğer oyun tutkunuysan, oyunlarda geçen kelimeler ve konuşmalarla bile İngilizceni geliştirmen mümkün. Böylece hem eğlenirsin hem öğrenirsin.
16) Bonus
Ayrıca bir yazılımcı olarak bir proje geliştirdim. Projenin detaylarını kendi web sitemde paylaştım. Projeye bu bağlantıdan ulaşabilirsiniz: www.hcengiz.com/verb
Umarım faydalı olmuştur. Aklıma geldikçe ve yeni şeyler keşfettikçe buraya ekleyeceğim. Sizlerden ricam, siz de kendinizi geliştirin ve kendinizi nasıl geliştirdiğinizi, tecrübelerinizi ve bilgilerinizi diğer insanlarla paylaşın, paylaşın ki hep birlikte gelişelim.
Merhabalar, aslında bu makalede bir eğitim konusundan ziyade hazırladığım bir projeden bahsedeceğim.
Artık hangi meslek grubu olursa olsun İngilizce'nin öneminden bahsetmeye gerek yok sanırım, bu gayet klişe bir konu. Özellikle de biz yazılımcılar için.
Bende bu bağlamda birkaç araştırma yaparken bir şey farkettim ve soruşturmaya başladım. İngilizce'nin olmazsa olmazları ve insanların ezberlemekte zorlandıkları Verb1, Verb2, Verb3 ve onların anlamlarından bahsediyorum.
Eğer herhangi bir fiilin dönüşümünü hatırlamıyorsanız ya da bir okuma parçasında üçüncü halini gördüğünüz fiilin ikinci hali aklınıza takılıyorsa, o meşhur uzun listeyi açıp ya da diğer sözlükleri kullanıp fiilinizi aramaya koyuluyorsunuz. Ki bu bana göre ciddi zaman kaybı olmasının yanı sıra can sıkıcı bir durum.
Bu sebepten ben de hem kendim için hem de benim gibi düşünenler için bir proje geliştirdim. Sistemde yaklaşık 250 adet fiil bulunuyor. Bir fiilin hem ikinci hali, hem üçüncü hali hem de anlamını hesaba katarsak yaklaşık olarak 1000 adet veri demek. Bu da neredeyse tüm irregular verb'lerin sistemde bulunduğu anlamına geliyor.
Lafı daha fazla uzatmadan projenin kendisine geçelim. Aşağıdaki bağlantıya tıklayarak, hem masaüstü bilgisayarlarınızdan hem de responsive tasarımı sayesinde mobil telefonlarınızdan rahatlıkla kullanabilirsiniz.
Özellikle akıllı telefonlar hayatımızdaki yerini arttırdığından beri web servis işleri artık olmazsa olmaz bir hale gelmiş durumda. Çünkü hazırladığımız bir web sitesini kullanıcı sayısını arttırmak adına bir mobil uygulamaya dahil etmek istiyoruz. Durum böyle olunca uzak sunucudaki verilere ulaşmak için web servis yazmak zorunda kalıyoruz.
Biz son yılların en önemli ve iddialı web servis aracı JSON'ı kullanacağız.
Ben minibusyollari.com'un uygulamasını yapmak istediğim için burada onun üzerinden gideceğim.
Sol tarafta gördüğünüz gibi JSON dili bu şekilde kolay, anlaşılabilir ve basit bir dil.
Bu sayfa böyle aşağıya doğru uzayıp gidiyor. Yaklaşık 300 küsür tane hat bilgisi mevcut.
Biz buradaki hat isimlerini çekerek uygulamamızda listelemek istiyoruz.
Bu uygulamadaki sayfalarımız MainActiviy.java, mainactivity.xml, ServiceHandler.java ve list_item.xml şeklinde.
ServiceHandler.java sayfamızı yabancı bir abimiz yazmış ve bizde direkt olarak bu sayfayı urlden verileri almak için kopyalayacağız.
Madem öyle ilk olarak ServiceHandler.java dosyamızın kodlarını yazalım.
<!-- Mobile number label --> <TextView android:id="@+id/mobile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="Mobile: " android:textColor="#5d5d5d" android:textStyle="bold"/>
</LinearLayout>
Tabi burada email label, mobile label falan yazıyor çok takılmayın yabancı kaynaktan araştırma yapmak zorunda kaldığımız için böyle oluyor. Amacına uygun, işimi görecek kadar düzenleme yaptım faso fisosuna karışmadım.
Neyse biz devam edelim. Şimdi mainactivity.xml dosyamızın içerine bir ListView ekliyoruz.
mainactivity.xml dosyası:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <!-- Main ListView Always give id value as list(@android:id/list) --> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
</LinearLayout>
Daha sonra hemen MainActivity.java kodlarımıza geçelim.
Evet burada da JsonArray ve JsonObject ayrıştırmalarını yapıp ListView'imizde listeliyoruz. Bu kısmı anlayabilmek için JSON diline hakim olmak gerek.
Onun haricinde kodlarımızı kullanıcıya JSON çekme ve işleme sırasında bir dialog gösterebilmek için AsynTask içerinde yazıyoruz.
onPreExecute() kısmında dialog'u oluşturuyoruz, doInBackground kısmında JSON ayrıştırma kodlarımızı yazıyoruz, son olarak onPostExecute kısmında ise dialogu kapatıp listeleme işlemini yapıyoruz.
Daha detaylı bilgi için önceki makalemizi inceleyebilirsiniz. ScrollTab örneğinde yukarıdaki tab'lara tıklandığında fragmentleri değiştiremiyor, sadece parmak kaydırma hareketiyle fragmentler arasında geçiş yapabiliyorduk.
Bu uygulamamızda bu sorunu çözeceğiz. ActionBar kullanarak yukarıdaki tablara bastığımızda istediğimiz fragmente geçiş yapacağız.
Fragment kısmında diğer uygulamadan farklı olacak hiçbir şey yok, değişiklikler yine MainActivity kısmında olacak.
Hemen FragmenA.java, FragmentB.java, FragmentC.java, fragmena.xml, fragmentb.xml ve fragmentc.xml dosyalarımızı oluşturuyoruz.
fragmenta.xml dosyası:
<?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="#ffcc00"android:orientation="vertical"><TextView
android:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Bu Fragment A"android:textAppearance="?android:attr/textAppearanceLarge"/></LinearLayout>
fragmentb.xml dosyası:
<?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="#245"android:orientation="vertical"><TextView
android:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Bu Fragment B"android:textAppearance="?android:attr/textAppearanceLarge"/></LinearLayout>
fragmentc.xml dosyası:
<?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="#931334"android:orientation="vertical"><TextView
android:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Bu Fragment C"android:textAppearance="?android:attr/textAppearanceLarge"/></LinearLayout>
.XML uzantılı dosyalarımızı hazırladık şimdi .JAVA uzantılı dosyalarımızı oluşturup bu Layoutlarımızı orada tanıtıyoruz.
Evet bu uygulamamızda MainActivity içerisinde PagerTitleStrip kullanmak yerine ActionBar kullanarak tabların üzerine basıldığında fragment değiştirme olayını da yapmış olduk.
Androidde bin bir çeşit activity oluşturup kullanıcıyı oradan oraya yönlendirerek uygulamalar yazabiliriz ancak bunun çok daha pratik bir yolu var. Bu yol fragment kullanmaktan geçiyor.
Fragment kullanarak oluştuğumuz tüm -halk değimiyle- sayfaları MainActivity'de göstereceğiz ve kullanıcı parmağını sağa sola kaydırdığında fragmentler arasında geçiş yapacağız.
Twitter, Facebook, Instagram, Snapchat vs. vs. diye devam eder yani neredeyse ileri düzey tüm uygulamalar bu yapıyı kullanıyor.
Şimdi hemen işe koyulalım. Öncelikle derli toplu olması adına bize gerekecek sayfaları yazmakta fayda var. Yeni bir proje oluşturduğumuzda MainActivity otomatik olarak geliyor zaten. Biz FragmentA.java, FragmentB.java, FragmentC.java, fragmenta.xml, fragmentb.javavefragmentc.java dosyalarını oluşturacağız.
Üç adet fragment oluşturmamızın özel hiçbir nedeni yok sadece örnek olsun diye yapıyoruz siz daha fazla ya da daha az oluşturabilirsiniz.
Bizim yapacağımız tüm işler MainActivity'de biteceği için oluşturduğumuz fragment sayfalarının üzerinden hızlıca bir geçelim. .xml uzantılı dosyalarımızda örneğin: "Bu Fragment A sayfası." yazılı bir TextView var bir de diğerlerinden ayırt edilmesi için üç fragmentin LinearLayout'una farklı backgroundlar atadık.
Evet artık fragmentlerimiz hazır. Şimdi bu fragmentleri MainActivity'de çağıracağız ve parmak kaydırma hareketiyle ekranda gösterilmesini sağlayacağız.
mainactivity.xml'de çok dikkat edilmesi gereken bir nokta var. Burada bir Layout değil ViewPager kullanacağız. IDE (Eclipse) bunu bize otomatik olarak getirmiyor bu nedenle elle yazmak zorundayız.
@Override publicintgetCount(){ return3;//Kaç tane ekrana geçiş yapılacağının bilgisini tutar. }
//Ekrana başlık gelmesi için bu metodu oluşturuyoruz. @Override public CharSequence getPageTitle(int i) { if(i ==0){ return"Birinci Tab"; }elseif(i ==1){ return"Ikinci Tab"; }elseif(i ==2){ return"Üçüncü Tab"; } returnnull; } }
}
Evet artık uygulamamız hazır. Kod bloklarında zaten açıklama satırıyla neyin ne olduğunu belirttiğim için burada açıklamıyorum.
Son olarak bundan önceki her makalemizde activity'mizi AndroidManifest.xml dosyasında tanıtmayı unutmayalım yazmıştım. Burada fragment kullandığımız için böyle bir derdimiz yok.