Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
BEST OF LANGUAGES ANDROİD UYGULAMASI
*Dr. Öğr. Üyesi Fatih ÖZKAYNAK
*Abdulkadir ŞEN
*Fırat Üniversitesi, Teknoloji Fakültesi Yazılım Mühendisliği –ELAZIĞ
*Fırat Üniversitesi, Teknoloji Fakültesi Yazılım Mühendisliği –ELAZIĞ
Özet: Günümüzde mobil cihazlar; haberleşme, bilgi paylaşımı, eğitim ve eğlence amaçlı kullanılmaktadır.
Android işletim sistemi mobil cihazlar için geliştirilmiş ve günümüz dünyasında en çok kullanıma sahip mobil
işletim sistemlerinden birisidir. Bu çalışmada öncelikle Fırat Üniversitesi Teknoloji Fakültesi Yazılım
Mühendisliği öğrencileri yönelik Android cihazlarda kullanılmak üzere birden fazla programlama dilini
kolaylıkla öğrenmeleri amacıyla bir uygulama geliştirilmiştir. Bu uygulama sadece Fırat Üniversitesi
öğrencilerini yönelik değil, bir programlama dilini kolay ve eğlenerek öğrenmek isteyen Android işletim
sistemi kullanıcılarına da yönelik olarak geliştirilmiştir.
Anahtar Kelimeler: Mobil Cihazlar, Android, Mobil Öğrenme, Mobil Platformlar,
Best Of Languages Android Application
Abstract: Today, mobile devices; communication, information sharing, education and entertainment. The
Android operating system was developed for mobile devices and is one of the most popular mobile operating
systems in the world today. In this study, firstly, an application has been developed in order to easily learn the
programming language of the phalanx to be used in the Android devices for students of Fırat University of
Technology Technology Software Engineering. This application was developed not only for Firat University
students, but also for users of Android operating system who want to learn a programming language with ease
and amusement.
Keywords: Mobile Devices, Android, Mobile Learning, Mobile Platforms
1.GİRİŞ
Hızla gelişen teknoloji ile zaman ve mekan
kavramı olmadan her zaman eğitim olanağı
sağlanmaktadır.
Mobil öğrenme, mobil uygulama ve e-öğrenme
alanlarını birleştiren güçlü bir ortamdır. Bu
nedenle gelecekte kullanılacak öğrenme
süreçlerinde önemli bir paya sahip olması
beklenmektedir. Ayrıca henüz yeni bir alan
olmasına rağmen, eğitim ve öğretim süreçleri
üzerine yapılan araştırmaların çok hızlı ilerlediği
görülmektedir. İnsanlar mobil cihazların daha iyi
bir eğitim sağlamak için nasıl kullanılacağını
anlamaya çalışmaktadırlar (hili Mohamed, 2016)
Vinci ve Cucchi’nin yaptıkları araştırmaya göre
mobil öğrenme ile öğrenciler günlük hayatın içinde
öğrenmeyi daha cazip, motive edici ve ilginç
şekilde gerçekleştirirler. Bilgisayar ve internet
destekli öğrenmeden mobil öğrenmeye geçişin
nedenlerini kavramak için dünyadaki mobil cihaz
kullanım rakamlarını incelemek fikir oluşturmada
yardımcı olacaktır. (Maria Luisa Vinci, 2011)
Bireyin istediği zaman ve istediği yerde öğrenme
sürecini başlatıp, istediği anda öğrenme sürecine
müdahale edebiliyor olması büyük bir ayrıcalıktır.
Yakın zaman önceye kadar sabit telefon hatlarıyla
sağlanan internet bağlantısı, yer ve zaman
bağımsızlığı anlamında bireye tam bir özgürlük
sağlamıyordu. Günümüz dünyasında bireyler
mobil cihazlardan 3G/4G/WİFİ teknolojileri
sayesinde yer ve zamandan bağımsız olarak
internete girerek mobil öğrenmeden
faydalanabilmektedirler.
Günümüzde en yaygın olarak kullanılan mobil
cihazlara yönelik işletim sistemleri, Google
tarafından geliştirilen Android, Apple tarafından
geliştirilen iOS ve Microsoft tarafından geliştirilen
Windows Mobile işletim sistemleridir. (Lee,
2011). Android projelerin açık kaynak kodlu
olması, uygulama geliştiricilerinin sayısının
oldukça fazla olması ve buna bağlı olarak Goole
Play’de yüz binlerce uygulamanın olması, Android
işletim sisteminin diğer mobil işletim sistemlerine
karşı öne geçmesini sağlamıştır. Android şu anda
dünya üzerinde 190 ülkede yüz milyonlarca mobil
cihaz üzerinde kurulu olan mobil bir işletim
sistemi olmakla beraber her gün binlerce yeni
Android uygulaması Google Play'a
yüklenmektedir.. Google Play'dan aylık ortalama
indirilen uygulama sayısı 1.5 milyar civarındadır.
(Developers, 2017)
Android, Linux'ın 2.6 versiyonunun güvenlik,
bellek yönetimi, proses yönetimi ve sürücü modeli
gibi çekirdek servislerini taban olarak alan,
Google, Open Handset Alliance ve özgür yazılım
topluluğu işbirliği ile geliştirilen açık kaynak kodlu
bir mobil işletim sistemidir. Ayrıca Android
sadece bir işletim sistemi değil, içinde ara
yazılımlar (middleware), anahtar uygulamalar (key
applications) ve işletim sistemi bulunduran bir
yazılım yığınıdır. Android SDK (Software
Development Kid), Java programlama dili ile
Android platformu üzerinde uygulama geliştirmek
için araçlar ve API' ler sunan bir geliştirme
aracıdır. (Bing, Hunan/China (2012))
Bu çalışmada “Best Of Languages” adı altında
mobil öğrenmeyi desteklemek amacıyla Android
uygulaması geliştirilmiştir. Bu uygulama sadece
Fırat Üniversitesi Teknoloji Fakültesi Yazılım
Mühendisliği öğrencilerine yönelik olarak
geliştirilmemiştir. Java, Python, C programlama
dilleri hakkında bilgi sahibi olmak isteyen Android
telefon kullanıcılarına da yöneliktir. Uygulamanın
içerisinde genel olarak üç programlama dili
bulunmaktadır. Her hangi bir programlama dilini
seçen kullanıcının karşısına o seviye için 1.
seviyesi açık geri kalan 14 seviye kapalı
gelmektedir. Kullanıcı soruları çözdükçe başarılı
oldukça kendisi diğer seviyeleri de aktif hale
getirmektedir.
2. GELİŞTİRME ORTAMI
Android uygulama Windows 10 64 Bit işletim
sistemine sahip bir bilgisayar üzerinde Android
Studio editörü kullanılarak Java programlama
dilinde geliştirilmiştir. Android sürümü olarak
Android 3.0.1 işletim sistemi ve API 21 seviyesi
kullanılmıştır. Ayrıca bu uygulama Android 4.3
işletim sistemi ve üzeri bütün işletim sistemi
sürümlerinde başarıyla çalışmaktadır. 4.3 sürümü
öncesi sürümlerde uygulama çalışmamaktadır.
Şubat 2018 verilerine göre piyasadaki Android
sürümlerinin %95.6'sı 4.3 ve üzeri sürümleri
kullanmaktadır (Ertunç, 2018).
Şekil 1. Nisan 2018 tarihine göre Android sürümlerinin kullanım oranları
Uygulamanın web servisleri Windows 10 64 Bit
işletim sistemine sahip bir bilgisayar üzerinde
Visual Studio editörü kullanılarak Asp.net
programlama dilinde geliştirilmiştir.
Uygulamanın veri tabanı Windows 10 64 Bit
işletim sistemine sahip bir bilgisayar üzerinde
Microsoft SQL Server Menagement Studio 2017
editörü kullanılarak MySql dilinde geliştirilmiştir.
3. UYGULAMA
Geliştirilen Best Of Languages uygulaması temel
olarak üç programlama dilinden meydana
gelmektedir.
Bu programlama dilleri:
Java Programlama Dili
Python Programlama Dili
C Programlama Dil
3.1 Kayıt Olma Sayfası
Şekil 2. Kullanıcı Kayıt Sayfası
Uygulamaya ilk defa giren ve kullanmak isteyen
kullanıcı Şekil 2 de bulunan sayfadan sisteme kayıt
olmalıdır. Kullanıcın parola bilgileri veri tabanında
‘Hash Fonksiyonu’ ile şifrelendikten sonra
kaydedilmektedir.
3.2 Giriş Sayfası
Şekil 3. Kullanıcı Giriş Sayfası
Sisteme başarılı bir şekilde kayıt olan kullanıcı
‘Giriş’ sayfasına yönlendirilir. Bu sayfada
kullanıcı sisteme kayıt olduğu mail adresi ve
parolasıyla sisteme giriş yapar. Eğer giriş
bilgilerinde bir hata varsa uyarı mesajıyla
karşılaşır. Kullanıcı ‘ Beni Hatırla ’ butonunu
aktif ederse kullanıcıya bir daha giriş bilgileri
sorulmaz.
3.3 Parolamı Unuttum Sayfası
Şekil 4. Parolamı Unuttum Sayfası
Sisteme daha önceden üye olmuş kullanıcı eğer
parolasını unutmuş ise bu saydan mail adresini
girerek parola talebinde bulunabilmektedir.
Kullanıcının parolası güvenli bir şekilde mail
adresine gönderilir.
3.4 Ana Ekran
Şekil 5. Ana Ekran
Kullanıcı sisteme başarı ile giriş yaptığı zaman bu
sayfa ile karşılaşmaktadır. Bu sayfada kullanıcıya
profil ayarları ve üç farklı programlama dili
sunulmaktadır. Kullanıcı çözmek istediği
programlama dilini seçerek soru çözümüne
başlamaktadır. Ekranda görünen ilerleme
çubuğundan kendisinin ne kadar soru çözdüğünü
takip edebilmektedir.
3.5 Profil Ekranı
Şekil 6. Kullanıcı Profil Ekranı
Sisteme kayıt olmuş kullanıcı bu sayfadan kayıt
bilgilerini güvenli bir şekilde değiştirebilmektedir.
3.6 Soru Seviye Sayfası
Şekil 7. Soru Seviye Sayfası
İstediği bir programlama dilini seçen kullanıcını bu
sayfayla karşılaşmaktadır. İlk defa giriş yapan
kullanıcı için sadece ‘Temel1’ seviyesi aktif
olmaktadır. Kullanıcı temel bir seviyesine girer ve
başarılı olursa ‘Temel2’ seviyesini aktif eder.
Toplamda 15 temel seviye bulunmaktadır. İsterse
kullanıcı ‘3 Seviyeyi Testle Atla’ butonuna
basarak karşısına karışık gelen soruları çözerek
seviyeleri hızlı bir şekilde geçebilmektedir. Bu
işlem 7 ve 15 seviye içinde yapılabilmektedir.
3.7 Soru Çözüm Sayfası
Uygulama içerisinde iki farklı soru tipi
bulunmaktadır. Bunlardan 1.si düz yazı biçiminde
olan ve programla dilinin mantığının sorulduğu
sorulardır.
Şekil 8. Soru Tipi 1
Diğer bir soru tipi olan resimli sorularda ise kod
yorumlama soruları bulunmaktadır.
Şekil 9. Soru Tipi 2
Kullanıcı karşısına çıkan bu iki soru tipindeki
soruları okuduktan sonra bir seçenek seçer ve şekil
8 deki gibi ‘Kontrol Et’ butonunu görür. Eğer
verdiği cevap doğru ise ‘Şekil 10’ da ki mesajla
karşılaşmaktadır. Eğer kullanıcının verdiği cevap
yanlış ise ‘Şekil 11’ ile karşılaşır.
Şekil 10. Doğru Cevap
Şekil 11. Yanlış Cevap
Kullanıcı eğer hatalı bir cevap verirse bu soru
kullanıcının bilgisiyle beraber veri tabanına kayıt
edilir. Kullanıcı bir sonraki seviyeye geçtiği zaman
hatalı cevap vermiş oluğu sorular kullanıcının
haberi olmadan tekrar kullanıcıya sorulmaktadır.
Tekrar sorulan soruya kullanıcı yeniden yanlış
cevap verirse bu sorunun ağırlığı arttırılır ve
kullanıcı bu soruyu daha fazla görmeye başlar.
Kullanıcı bu soruya doğru cevap verdikçe sorunun
ağırlığı azaltılır ve kullanıcının karşısına daha az
çıkar.
4. SONUÇ
Temel düzeyde java, python, c programlama dili
bilenler kendilerini geliştirmek için her seferinde
kitap veya bilgisayar imkânına sahip olmaya
bilirler. Bu durumda Android cihazlara sahip
mobil cihaz kullanıcıları mekân ve zamandan
bağımsız bir şekilde istedikleri zaman
programlama bilgilerini eğlenerek
geliştirebileceklerdir.
Geliştirilen bu uygulama başta Fırat
Üniversitesi’nin öğrencilerini ve diğer kullanıcıları
mobil öğrenme alanında bir adım ileriye
taşıyacaktır. Kullanıcılar eğlenerek ve araştırarak
yeni bir programlama dili öğrenebileceklerdir.
5.KAYNAKÇA
Bing. (Hunan/China (2012)). Analysis and
Research of System Security Based
on Android . Fifth International
Conference on Intelligent
Computation Technology and
Automation, 581-584.
Developers, A. (2017). Android Developers.
http:// developer.android.com
adresinden alındı
Ertunç, M. A. (2018, 04 17). En çok kullanılan
Android sürümü hangisi? Shift
Delete:
https://shiftdelete.net/android-
surumlerinin-kullanim-oranlari-
aciklandi adresinden alındı
hili Mohamed, M. C. (2016). Pervasive
Mobile Learning System in the New
Millennium. American Journal of
Educational Research, 4-18.
Lee, J. J. (2011). Android programming
techniques for improving
performance. Awareness Science
and Technology (iCAST) , 386-389 .
Maria Luisa Vinci, D. C. (2011, 10 20).
Possibilities of application of e-tools
in education: mobile learning.
leonardo: http://www.leonardo-
lets.net/ict/common/download/Mar
iaLuisaVinci.pdf adresinden alındı