Model-View-Controller (MVC), yazılım mühendisliği'nde kullanılan bir "mimari desen"dir.
Model: Uygulamanın iş mantığı (Business Logic) diye bilinen bölümüdür. Uygulama da kullanılan veri tabanı işlemleri gibi arka planda destek sağlayan bölümler model kısmında tanımlanır.Controller den gelen değerler bu katmanda işlenir.
View:Uygulamanın görsel kısmını içeren kodların bulunduğu bölümdür.(Html,Css,Javascrpit)
Controller: View ve Model arasında bir köprüdür.Modelden gelen verileri işleyerek view e aktarır.
MVC ,PHP özel bir kavram değildir.Diğer bir çok platformda da aynı mantık kullanılır. MVC kullanılmasının avantajlarından biri kod karışıklığının yaşanmaması php için örnek verilirse php tagları arasında html kullanılması kod kalabalıklığının ortadan kalkmasına yarar.Böylelikle daha sağlıklı bir çalışma ortamı sunulur.
ANDROİD
GÖKÇE SARSILMAZ // Android Dersleri
11 Ağustos 2013 Pazar
31 Mayıs 2013 Cuma
Avrupa'nın En Büyük Geliştirici Organizasyonlarından Birine Katılmak için Son Şans
Avrupa'nın En Büyük Geliştirici Organizasyonlarından Birine Katılmak için Son Şans
Android Dünyasının Tanınmış İsimleri Android Geliştirici Günleri 2013 için Türkiye'de
Sponsorlar: Turkcell, Qualcomm, Blackberry, Paypal, Alcatel, İş Bank, Pozitron, STM, Netmera, Texas Instruments, ShiftDelete.net, Webrazzi, Tivilog, Btnet.com.tr, BThaber, Radyo ODTÜ, indir.com, Pusula Yayıncılık, Koza Yayıncılık, Seçkin Yayıncılık, paylas.com, PeakGames, ODTÜ Teknokent, Jetbrains
Ülkemizden ve dünyanın farklı kentlerinden Google Geliştirici Grupları ve Teknoloji topluluklarının birlikte hazırladığı etkinlikte, 7 farklı ülkeden 15 organizatör topluluk bulunuyor. Toplam 60 konuşmacının olduğu, 20 konuşmacının yurt dışından geldiği etkinliğin programı web sitesinden inceleyebilirsiniz. 1500 katılımcının beklendiği Android Geliştirici Günleri etkinliği ODTÜ KKM'de 14-15 Haziran tarihlerinde gerçekleştirilecek. Eğer siz de hala bu etkinliğe kayıt yaptırmadıysanız bu adresten kaydınızı yaptırabilirsiniz.
Android Geliştirici Günleri, katılımın ücretsiz olduğu, gönüllüler tarafından organize edilen ve Türkiye’de teknoloji geliştiriciliğini küresel seviyeye çıkarmak için bir kıvılcım olmayı hedefleyen, Android teknolojileri ve mobil dünya üzerine seminerler ve yarışmalar içeren bir teknoloji konferansıdır. Etkinlikte Lars Vogel, Eric Lafortune, Bernd Schulze, Mark Allison gibi Android dünyasının tanınmış isimleri konuşmacı olarak yer alıyor.
Etkinlikte ayrıca, 14 Haziran Cuma günü 13.30'da başlayacak ve 15 Haziran Cumartesi günü 13.30'da son bulacak olan EcaHack Hackathon adlı yarışmada, Android geliştiricileri 24 saat aralıksız kod yazarak yarışacaklar. Yarışmada dereceye girenlere Turkcell tarafından çeşitli hediyeler verecek.
Android Geliştirici Günleri’ne katılanlara Dubai'de iş kurma fırsatı sunan, pazara çıkabilecek yaratıcı ve yenilikçi fikirlerin arandığı Innov-a-thon'Lite girişimcilik yarışmasının Ankara ayağı da etkinlik kapsamında gerçekleşiyor. 3 saatlik maraton sonunda kazanan gruplara Dubai'de fikirlerini gerçekleştirme imkanı için ulaşım, konaklama ve danışmanlık gibi kaynaklar Turn8 tarafından sunuluyor.
3 Nisan 2013 Çarşamba
Android Tasarım Konusunda İpuçları
Merhaba Arkadaşlar bu yazıda arayüz tasarlama konusunda zorlanıyorsanız veya xml dosyalarıyla uğraşmak istemiyorsanız işinizi kolaylaştıracak bi siteden bahsetmek istiyorum.
Bu siteyi kullanarak kolaylıkla istediğiniz tasarımları yapabilirsiniz .
İyi Çalışmalar :)
Android Basit TODO List Yapımı
Bu uygulamamızda bir önceki dersimizde gördüğümüz options menü ve listview kullanarak basit bir şekilde ekleme,silme ,güncelleme ve çıkış işlemlerinin yapmını görücez. Oluşturduğumuz projemizin tasarımıza göz atalım :
Uygulamamızın ekran görüntüsü :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/arka"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="14dp"
android:ems="10"
android:hint="Buraya Yazınız..." >
<requestFocus />
</EditText>
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_below="@+id/editText1" >
</ListView>
</RelativeLayout>
Şimdi de Java kodlarımıza bakalım:
package com.example.android2;
import java.util.ArrayList;
import java.util.Locale;
import android.os.Bundle;
import android.app.Activity;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnInitListener {
EditText editText;
ListView listView;
ArrayList<String> arrayList;
ArrayAdapter<String> arrayAdapter;
TextToSpeech texttoSpeech;
Integer a=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText=(EditText)findViewById(R.id.editText1);
listView=(ListView)findViewById(R.id.listView1);
texttoSpeech= new TextToSpeech (this,this);
texttoSpeech.setLanguage(Locale.ENGLISH);
arrayList = new ArrayList<String>();
arrayAdapter= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arrayList);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
editText.setText( arrayList.get(arg2).toString());
a=(int) arrayAdapter.getItemId(arg2);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.menuKaydet:
if(!editText.getText().equals(null)){
arrayList.add(editText.getText().toString());
listView.setAdapter(arrayAdapter);
editText.setText("");
Toast.makeText(getApplicationContext(), "Kaydedildi.", Toast.LENGTH_LONG).show();
}
break;
case R.id.menuGuncelle:
arrayList.remove(a-1);
arrayList.add(editText.getText().toString());
listView.setAdapter(arrayAdapter);
arrayAdapter.notifyDataSetChanged();
editText.setText("");
a=a+1;
Toast.makeText(getApplicationContext(), "Güncellendi.", Toast.LENGTH_LONG).show();
break;
case R.id.menuSil:
arrayList.remove(editText.getText().toString());
listView.setAdapter(arrayAdapter);
editText.setText("");
Toast.makeText(getApplicationContext(), "Silindi", Toast.LENGTH_LONG).show();
break;
case R.id.menuCikis:
finish();
Toast.makeText(getApplicationContext(), "Çıkış yapıldı.", Toast.LENGTH_LONG).show();
texttoSpeech.speak("closing", TextToSpeech.QUEUE_ADD,null);
break;
default:
break;
}
return false;
}
@Override
public void onInit(int arg0) {
// TODO Auto-generated method stub
}
}
Texttospeech özelligini kullanarak texttoSpeech.speak("closing", TextToSpeech.QUEUE_ADD,null); bu komutta görüldüğü gibi closing yazısının okunmasını sağlıyoruz. Uygulamamızın ekran görüntüsü :
Etiketler:
ArrayAdapter,
ArrayList,
edittext,
ListView,
Options Menu,
Texttospeech,
toast,
TODO List
11 Mart 2013 Pazartesi
Android Options Menü Yapımı
Merhaba Arkadaşlar , bu dersimizde options menu yapımını anlatacağım. Yeni bir proje oluşturalım. Oluşturduğumuz projemizde public boolean onCreateOptionsMenu(Menu menu) fonksiyonunu kulanacağız . Options Menümüzü oluşturmak için res klasörünün altındaki menu kalsörüne yeni bir xml dosyası açmalıyız.
Ekran görüntüsüne bakalım ;

Oluşturduğunuz yeni .xml dosyasına istediğiniz ismi verebilirsinz.Ben altmenu dedim. Böylelilkle res->menu-> altmenu oluştu. Şimdi oluşturduğumuz altmenu.xml dosyamızı açıp içini dolduralım.
Add butonuna tıklayıp istediğimiz kadar options menü ekliyebiliriz. Ben görüldüğü gibi üç tane ekledim. Kırmızı ile kutu içine aldığım yerlerden id ve title istediğiniz gibi değiştirebilirsiniz. Add butonuna tıkladıktan sonra şu şekilde seçerek istediğiniz seçenegi ilave edebilirsiniz.
Tasarımda hiçbir şey yapmıyoruz. Java kodlarımıza bi bakalım.
package com.example.optionsmenu;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.altmenu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.item1:
Toast.makeText(getApplicationContext(), "İşlem1'e tıklandı.", Toast.LENGTH_LONG).show();
break;
case R.id.item2:
Toast.makeText(getApplicationContext(), "İşlem2'e tıklandı.", Toast.LENGTH_LONG).show();
break;
case R.id.item3:
Toast.makeText(getApplicationContext(), "İşlem3'e tıklandı.", Toast.LENGTH_LONG).show();
break;
}
return false;
}
}
Oluşturduğumuz Options menülere de tıkladığımızda Toast vermesi için şu kodu ekledim .Toast.makeText(getApplicationContext(), "İşlem1'e tıklandı.", Toast.LENGTH_LONG).show();
Ekran görüntüsüne bakalım ;

8 Mart 2013 Cuma
Sıcaklık Birimi Dönüştürücü
Merhaba arkadaşlar ,bu uygulamamızda sıcaklık birim dönüştürücüsü yapıcaz.Yeni uyguluma açıp istediğiniz ismi verebilirsiniz. Tasarıma gelince ben Edittext,Radiobuton,Textview,Button kullandım,tasarımın şekli size kalmış istediğiniz gibi yapabilirsiniz. Burada yapmak istediğimiz celsius değerini diğer radiobutonda seçili olanlara dönüştürmektir. Uygulamamızın xml kodlarımız şu şeklidedir:
F = C × 1.8 + 32
K = C + 273.15
Re = C × 0.8

Kolay Gelsin .
Soru ve Görüşleriniz için yorum yapabilirsiniz.
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget32"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
android:id="@+id/edit1"
android:layout_width="318dp"
android:layout_height="wrap_content"
android:layout_x="0dp"
android:layout_y="4dp"
android:textSize="18sp" />
<RadioGroup
android:id="@+id/widget65"
android:layout_width="136dp"
android:layout_height="142dp"
android:layout_x="2dp"
android:layout_y="52dp" >
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="Celsius" />
</RadioGroup>
<Button
android:id="@+id/buton1"
android:layout_width="62dp"
android:layout_height="32dp"
android:layout_x="126dp"
android:layout_y="97dp"
android:background="@drawable/arrow_leftright" />
<Button
android:id="@+id/buton2"
android:layout_width="139dp"
android:layout_height="wrap_content"
android:layout_x="8dp"
android:layout_y="284dp"
android:text="Hesapla" />
<Button
android:id="@+id/buton3"
android:layout_width="134dp"
android:layout_height="wrap_content"
android:layout_x="170dp"
android:layout_y="283dp"
android:text="Temizle" />
<RadioGroup
android:id="@+id/widget66"
android:layout_width="136dp"
android:layout_height="174dp"
android:layout_x="190dp"
android:layout_y="43dp" >
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Celsius" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fahrenhayt" />
<RadioButton
android:id="@+id/radio4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kelvin" />
<RadioButton
android:id="@+id/radio5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reaumur" />
</RadioGroup>
<EditText
android:id="@+id/edit2"
android:layout_width="242dp"
android:layout_height="wrap_content"
android:layout_x="54dp"
android:layout_y="241dp"
android:ems="10"
android:textSize="18sp" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/widget85"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="2dp"
android:layout_y="256dp"
android:text="Sonuç:"
android:textSize="15sp" />
</AbsoluteLayout>
Uygulamada Celsius'u ,Fahrenhayt,Kelvin ve Reaumur dönüştürme formüllerini bilmek gerekir .Formüller söyledir.F = C × 1.8 + 32
K = C + 273.15
Re = C × 0.8
Şimdi Java kodlarımıza göz atalım .
package com.example.sicaklikdonusturcu;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class Donusturucu extends Activity {
Button buton,temizle;
EditText edittext1,edittext2;
RadioButton radio1,radio2,radio3,radio4,radio5,radio6,radio7,radio8;
Integer deger,F,C,K,Re;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_donusturucu);
buton=(Button)findViewById(R.id.buton2);
temizle=(Button)findViewById(R.id.buton3);
edittext1=(EditText)findViewById(R.id.edit1);
edittext2=(EditText)findViewById(R.id.edit2);
radio1= (RadioButton)findViewById(R.id.radio1);
radio2= (RadioButton)findViewById(R.id.radio2);
radio3= (RadioButton)findViewById(R.id.radio3);
radio4= (RadioButton)findViewById(R.id.radio4);
radio5= (RadioButton)findViewById(R.id.radio5);
buton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
deger=Integer.parseInt(edittext1.getText().toString());
//celsius-fahrenhayt dönüşümü
if(radio1.isChecked()&&radio3.isChecked())
{
F=(int) (deger*(1.8)+32);
edittext2.setText(F.toString());
//celsius-kelvin
}else if(radio1.isChecked()&&radio4.isChecked())
{
K=deger+273;
edittext2.setText(K.toString());
//celsius-reaumur
}else if(radio1.isChecked()&&radio5.isChecked())
{
Re=(int) (deger*(0.8));
edittext2.setText(Re.toString());
//celsius-celsius
}else if(radio1.isChecked()&&radio2.isChecked())
{
Toast.makeText(getApplicationContext(), "Aynı değerleri seçtiniz.", Toast.LENGTH_LONG);
edittext2.setText(deger.toString());
}
}
});
temizle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edittext1.setText("");
edittext2.setText("");
radio2.setChecked(false);
radio3.setChecked(false);
radio4.setChecked(false);
radio5.setChecked(false);
}
});
}
}
Uygulamamızın ekran görüntüsü ise şu şekildedir:
Kolay Gelsin .
Soru ve Görüşleriniz için yorum yapabilirsiniz.
Etiketler:
android,
Button,
celsius,
edittext,
fahrenhayt,
kelvin,
RadioButton,
reaumur,
textview
24 Şubat 2013 Pazar
Vücut Kitle Endeksi Hesaplama
Merhaba arkadaşlar , bu uygulamamızda basit bir şekilde vücut kitle endeksini hesaplayan bir program yazacağız. Öncelikle yeni bir android projesi açıp tasarımı şu şekilde yapıyoruz:
Tasarım için 3 TextView ,3 EditTex,1 Button ayrıca 2 tane daha TextView kullandım ama bu TextViewlerin text özelliklerini sildim çünkü oralara hesapladığım değerleri yazdıracağım.Tasarımın xml kodları da şu şeklidedir:
vücut kitle endeksi(BKİ)=kilo/(boy*boy) şeklinde hesaplanıyor. Yani biz projemizde EditText1 den gelen değer ve EditText2 den gelen değerlerle işlem yapıcağız.Java kodlarımıza bir göz atalım.
Öncelikle kullandığımız TextView,EditText,Buton larımızı projemize tanıttık. Daha sonra butona click olayını vererek içine butona tıklandığı zaman yapmak istediklerimizi yazdık.
kilotext=Float.parseFloat(kilo.getText().toString()) ; bu satırın amacı EditText2 den gelen string ifadeyi float değişken tipine dönüştürmektir.
yuvarlama=(int) Math.ceil(bki); bu satırda da hesapladığımız vücüt kitle endeksi(bki) ni matematiksel olarak en yakın tam sayıya yuvarlamasını sağladık.
En son olarakta if -else yapısını kullanarak bulduğumuz değerin aralığına göre kilomuzun nasıl olduğunu text2 ye yazdırmış olduk.
Uygulamamızın ekran görüntüsü:
Kaydol:
Kayıtlar (Atom)















