2015 - Zühal Calayoğlu - BSEU Şikayet Android Uygulamasi

45
T.C. B ˙ ILEC ˙ IK ¸ SEYH EDEBAL ˙ I ÜN ˙ IVERS ˙ ITES ˙ I MÜHEND ˙ ISL ˙ IK FAKÜLTES ˙ I B ˙ ILG ˙ ISAYAR MÜHEND ˙ ISL ˙ I ˘ G ˙ I ANDRO ˙ ID TABANLI ¸ S ˙ IKAYET/ÖNER ˙ I PLATFORMU Zühal CALAYO ˘ GLU Ögr.Gör. Murat ÖZALP B ˙ IT ˙ IRME ÇALI ¸ SMASI HAZ ˙ IRAN-2015 B ˙ ILEC ˙ IK

description

proje raporu

Transcript of 2015 - Zühal Calayoğlu - BSEU Şikayet Android Uygulamasi

  • T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    ANDROID TABANLI SIKAYET/NERI PLATFORMU

    Zhal CALAYOGLU

    gr.Gr. Murat ZALP

    BITIRME ALISMASI

    HAZIRAN-2015

    BILECIK

  • T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    ANDROID TABANLI SIKAYET/NERI PLATFORMU

    Zhal CALAYOGLU

    gr.Gr. Murat ZALP

    BITIRME ALISMASI

    HAZIRAN-2015

    BILECIK

  • BILDIRIM

    Bu bitirme alsmasndaki btn bilgilerin etik davrans ve akademik kurallar ereve-sinde elde edildiginine yazm kurallarna uygun olarak hazrlanan bu alsmada bana aitolmayan her trl ifade ve bilginin kaynagna eksiksiz atf yapldgn bildiririm.

    DECLARATION

    I hereby declare that all information in this finishing work has been obtained and presentedin accordance with academic rules and ethical conduct. I also declare that, as required bythese rules and conduct, I have fully cited and referenced all materials and results that arenot original to this work.

    Imza

    grencinin Ad SOYADI

    tarih:

    ii

  • ZET

    BITIRME ALISMASI

    ANDROID TABANLI SIKAYET/NERI PLATFORMU

    Zhal CALAYOGLU

    BILECIK SEYH EDEBALI NIVERSITESIMHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI BLM

    Dansman: gr.Gr. Murat ZALP

    2015, 44 Sayfa

    Jri yeleri Imza

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Bilecik Seyh Edebali niversitesi iin android tabanl sikayet/neri platformu mobil uygulamas

    gereklenmesi amalanmstr.Kullanclarn kayt olup neri ve sikayetlerini paylasabilecekleri bir

    ortam olusturulmustur.Bu sayade kullanclara evrimii bir platform saglanmstr.

    Anahtar Kelimeler: android; sikayet; neri; platform; web servis; jsonparser;

    iii

  • ABSTRACT

    THESIS

    ANDROID-BASED COMPLAINT / SUGGESTION PLATFORM

    Zhal CALAYOGLU

    BILECIK SHEIK EDEBALI UNIVERSITYENGINEERING FACULTY

    DEPARTMENT OF COMPUTER ENGINEERING

    Advisor: Lecturer Murat ZALP

    2015, 44 Pages

    Jury Sign

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    It is intended to be implemented android-based for University of Bilecik Sheikh Edebali complaint

    / suggestion platform mobile application.The user has tried to create an environment where they

    can share the record of suggestions and complaints.This is provided for counting users online

    platform.

    Keywords: android; suggestions; complaint; platform; web service; jsonparser

    iv

  • NSZ

    blmden meydana gelen bu raporun birinci blmnde, projenin genel tanm ve amacn-

    dan, proje asamasnda kullanlan programlar ve programlama dillerinden bahsedilmektedir. Ikinci

    blmde ise yaplmas planlanan Bilecik Seyh Edebali niverstesi Sikayet/neri Platformuna

    benzer projeler hakknda bilgi verilmistir. nc blmde ise projenin tasarm, kodlama ve test

    edilmesi hakknda bilgiler yer almaktadr. Bu projenin yazmnn basndan sonuna kadar emegi

    geen ve beni bu konuya ynlendiren sayg deger hocam ve dansmanm Sayn Murat ZALPa

    tm katklarndan ve hi eksiltmedigi desteginden dolay tesekkr ederim.

    grenci Ad Soyad

    Zhal CALAYOGLU

    v

  • Iindekiler

    NSZ v

    SEKILLER TABLOSU vii

    1 GIRIS 1

    1.1 Projenin Tanm ve Amac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 Kullanlan Programlar ve Programlama Dilleri . . . . . . . . . . . . . . . . . . 1

    2 BSE SIKAYET/NERI PLATFORMU 2

    2.1 alsma Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2.2 Android Isletim Sistemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2.3 Benzer Projelerin Arastrlp Incelenmesi . . . . . . . . . . . . . . . . . . . . . 3

    3 BSE SIKAYET/NERI PLATFORMU TASARIM VE KODLAMA ASAMASI 5

    3.1 Androidde Veritabanna Veri Ekleme-Veri ekme Islemleri . . . . . . . . . . . 5

    3.1.1 JsonParser Ile Veri Ekleme-Veri ekme Islemleri . . . . . . . . . . . . 5

    3.1.2 CustomHttpClient Ile Veri Ekleme-Veri ekme Islemleri . . . . . . . . 6

    3.2 Ekranlarn Tasarm ve Kodlanmas . . . . . . . . . . . . . . . . . . . . . . . . 8

    3.2.1 Splash Ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3.2.2 Kullanc Giris ve Kayt Ekranlar . . . . . . . . . . . . . . . . . . . . 10

    3.2.3 Anasayfa,Detay ve Sikayet Ekleme Ekranlar . . . . . . . . . . . . . . 14

    3.2.4 Navigation Drawer Kullanarak Kayan Men Olusturulmas . . . . . . . 18

    3.3 Veritaban ve Tablolarn Olusturulmas . . . . . . . . . . . . . . . . . . . . . . 21

    3.3.1 Veritaban Olusturulmas . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.3.2 Login Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.3.3 Sikayet Tablosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.3.4 Sikayet ve Login Tablolarnn Iliskilendirilmesi . . . . . . . . . . . . . 24

    3.4 Web Servis Yazm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.4.1 Kullanc Kayt Servisi . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.4.2 Login Servisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.4.3 Tm Sikayet/nerilerin Listelendigi Servis . . . . . . . . . . . . . . . 27

    3.4.4 Veritabanna Sikayet/neri Eklenmesini Saglayan Servis . . . . . . . . 28

    3.5 Sistemin evrimii Ortamda Denenmesi . . . . . . . . . . . . . . . . . . . . . 30

    vi

  • SONULAR VE NERILER 33

    ZGEMIS 36

    vii

  • SEKILLER TABLOSU

    1 Haftalk alsma plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 OM sikayet/neri sitesi giris ekran [1] . . . . . . . . . . . . . . . . . . . . . 3

    3 OM sikayet/neri sitesi anasayfa ekran [1] . . . . . . . . . . . . . . . . . . . 4

    4 OM sikayet/neri sitesi detay sayfas [1] . . . . . . . . . . . . . . . . . . . . 4

    5 JsonParser kullanm [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    6 Json yntemi ile veri ekme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    7 CustomHttpClient [9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    8 Splash ekran grnts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    9 Kayt veya girise ynledirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    10 Kullanc giris ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    11 Kullanc kayt ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    12 Anasayfa ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    13 Sikayet detay ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    14 Sikayet/neri ekleme ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    15 Kayan men grnm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    16 Kullanc profil ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    17 ks ekran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    18 "bseu" isimli veritaban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    19 Login tablosu grnm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    20 Sikayet tablosu grnm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    21 Resimlerin string biiminde kaydedilmesi . . . . . . . . . . . . . . . . . . . . . 23

    22 Tablolarn iliskilendirilmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    23 Php Web Servis alsma prensibi . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    24 Servislerin evrimii ortama aktarlmas . . . . . . . . . . . . . . . . . . . . . . 30

    25 Olusturulan veritaban ve tablolar . . . . . . . . . . . . . . . . . . . . . . . . . 31

    26 Olusturulan veritaban tablo ierikleri . . . . . . . . . . . . . . . . . . . . . . . 31

    27 Servislerin evrimii ortamda denenmesi . . . . . . . . . . . . . . . . . . . . . 32

    viii

  • 1 GIRIS

    1.1 Projenin Tanm ve Amac

    Bilecik Seyh Edebali Sikayet/neri Platformu adndanda anlaslacag gibi niversitemizin Si-

    kayet ve neri platformudur. Bu platform zerinden rahatsz olunan konuyu veya syle birsey olsa

    cok gzel olur dediginiz konuyu paylasarak yetkililerin veya diger kullanclarn grmesini sag-

    layabilecek neri veya sikayeti iletebilecek bir platform olusturulmas amalanmstr.Bu projenin

    Bilecik Seyh Edebali niversitesine ait android isletim sistemine sahip cihazlarda gereklenmesi

    amalanmstr.

    1.2 Kullanlan Programlar ve Programlama Dilleri

    Projede android yazlm gelistirme ksmnda Eclipse program kullanlmstr.Tercihe gre And-

    roid Studioda kullanlabilir ancak alsma performans bakmndan Eclipse daha hzl oldugu iin

    Eclipse tercih edilmistir.Eclipsede kullanlan dil ise Javadr.Java nesne ynelimli bir program-

    lama dilidir. Sunucu ve android cihaz arasndaki baglant iin web servis olusturulmas gerek-

    mektedir.Web servis yazm Php ile gereklestirilmistir.Ayn sekilde tercihe gre Microsoft Visual

    Studioda kullanlabilir.Daha effektif kullanldgndan bu projede Php tercih edilmistir.Web servis

    olusturmak iin kullanlan Php, Notepad++ zerinden yazlmstr.Ancak istege gre Dreamwe-

    aver gibi benzer programlarda kullanlabilir.Veritaban iin MYSQL veritaban ynetim sistemi

    kullanlmstr.Proje denemeleri ilk nce localhost zerinden gereklestirildiginden, local zerin-

    den denemeler USB Web Server kullanlarak gereklenmistir.Daha sonra evrimii denemelerin

    yaplmas iin FileZilla zerinden Php dosyalar gerek internet sitesine aktarlmstr.Sonrasnda

    ise android cihaz zerinde denemeler gereklenmistir

    1

  • 2 BSE SIKAYET/NERI PLATFORMU

    2.1 alsma Plan

    Sekil 1: Haftalk alsma plan

    2.2 Android Isletim Sistemi

    Gnmzde mobil cihazlarn nemi gittike artmaktadr. Insanlarn sanal ortamdaki ihtiyala-

    rn zaman ve mekan kstlamas olmadan gidermelerini saglayan bu cihazlar, gn getike daha

    da gelismektedir. Bu gelisim dogal olarak; donanm tarafnda oldugu kadar yazlm tarafnda da

    gereklesmektedir. Hi sphesiz donanma hayat veren, kullanmn saglayan ve kolaylastran ya-

    zlm; mobil platformlar iin de her geen gn nemini arttrmaktadr. Bunlardan birisi de Google

    tarafndan gelistirilen ve su an dnyada en yaygn mobil isletim sistemlerinden biri olan, And-

    roiddir. En byk avantaj ak kaynak kodlu olmas ve bunu desteklemesi olan Android, bu

    ynyle mobil platformlara uygulama gelistirmek isteyen insanlar iin de nemli bir yol gste-

    rici olmus ve genis bir alan yaratmstr.Gnmzde, mobil cihazlarn nemi gittike artmaktadr.

    Insanlarn sanal ortamdaki ihtiyalarn zaman ve mekan kstlamas olmadan gidermelerini sag-

    layan bu cihazlar, gn getike daha da gelismektedir. Bu gelisim dogal olarak; donanm tarafnda

    oldugu kadar yazlm tarafnda da gereklesmektedir. Android; Linux tabanl, mobil cihaz ve cep

    telefonlar iin gelistirilmekte olan, ak kaynak kodlu bir mobil cretsiz bir isletim sistemidir.

    Desteklenen uygulama uzants ".apk"dir. Google tarafndan cretsiz olmasnn sebebi, sistemin

    2

  • daha hzl ve abuk gelismesi, birok popler marka tarafndan kullanlmas ve bu sayede reklam-

    larn daha fazla kisiye ulasmasn saglamaktr. Androidde yazlm gelistirirken kullanlan plat-

    formlar;Android Studio ve Eclipsedir.Ancak Android Eclipseden destegini ektigi iin gncelle-

    meler olmamakta ve gelecekte tamamen Android Studio kullanlmas amalanmaktadr.Kullanlan

    programlama dili ise Javadr. Android, aygtlarn fonksiyonelligini genisleten uygulamalar yazan

    genis bir gelistirici grubuna sahiptir. Google Play Store ise, Android isletim sistemi uygulamala-

    rnn esitli sitelerden indirilebilmesinin yan sra, Google tarafndan isletilen kurumsal uygulama

    magazasdr. Gelistiriciler, uygulamalarn burada paylasmaktadr.[2]

    2.3 Benzer Projelerin Arastrlp Incelenmesi

    Bilecik Seyh Edebali niversitesi iin planlanp olusturulmaya alslan mobil tabanl Sika-

    yet/neri Platformuna benzer bir mobil rnek uygulama bulunamamstr.Sadece uygulamaya ben-

    zer bir web projesi 19 Mays niversitesi iin yaplmstr.Bu web projesi olduka sade bir sablon

    zerine olusturulmustur.Uygulamay aar amaz sitenin ne ise yaradgn aklayan bir aklama

    bulunmaktadr.Anasayfada ise sikayet ve nerilerin listelendigi yine sade bir yap gze arpmak-

    tadr.

    Sekil 2: OM sikayet/neri sitesi giris ekran [1]

    Resimlerde de grldg gibi yaplmaya alslan sikayet/neri platformu bir taslak gibi kalms-

    tr.Pek ok zelligin yer almasna ragmen kullancya effektif kullanm olanag vermemistir.[1]

    3

  • Sekil 3: OM sikayet/neri sitesi anasayfa ekran [1]

    Sekil 4: OM sikayet/neri sitesi detay sayfas [1]

    4

  • 3 BSE SIKAYET/NERI PLATFORMU TASARIM VE

    KODLAMA ASAMASI

    3.1 Androidde Veritabanna Veri Ekleme-Veri ekme Islemleri

    3.1.1 JsonParser Ile Veri Ekleme-Veri ekme Islemleri

    Uygulamada ncelikle android cihazdan veritabanna veri eklemek ve veri ekmek iin kul-

    lanlacak verileri belli bir formata dnstrmek gerekmektedir.Bu yntem Jsonparser olarak ad-

    landrlan verileri paralayarak iletilmesini saglayan bir formattr.JSON XML e alternatif olan

    en iyi veri saklama yapsdr. JSON format basit ve kullansldr. Insanlarn okuyup yazabilmesi

    kolaydr. Makinalarn tarayp, yaratabilmesi kolaydr.[5]

    Sekil 5: JsonParser kullanm [6]

    JSON iki yap zerine kurulmustur:

    Bir nesne (object), isim/deger iftlerinin srasz birlesiminden olusur. Nesne tanmlamas, (k-

    vrck parantez a) ile baslar ve (kvrck parantez kapa) ile biter. Her "isim"den sonra : (iki nokta

    stste) gelir ve isim/deger iftleri , (virgl) ile ayrlr.

    Diziler, sral deger listesidir. Bir dizi [ (kseli parantez a) ile baslar ve ] (kseli parantez

    kapa) ile biter. Degerler , (virgl) ile ayrlr.[6] Asagda rnek projede ekilen sikayet bilgilerini

    Json format gsterilmistir.

    5

  • Sekildeki rnekte projeye ait sikayet/neri detay sayfasna veriler web servisle paralanarak

    gelir.Bunu JsonParser gereklerstirmektedir.

    Sekil 6: Json yntemi ile veri ekme

    3.1.2 CustomHttpClient Ile Veri Ekleme-Veri ekme Islemleri

    Uygulamada web servise veya baska bir saglaycya, bilgi gndermesi(veri tabannda sorgu

    iin id, parola, isim vb) veya bilgi almas(veri tabannda yaplms sorgunun cevabnn alnmas)

    gibi ihtiyalarda kolaylk saglamaktadr.JsonParserdan fark ise json getirilen bilgiyi paralayarak

    stringe evirir.Ancak http de ise serverde yaplms olan sorgunun cevab alnr.[9] CustomHttpye

    Sekil 7: CustomHttpClient [9]

    kullanmna iliskin rnek vermek gerekirse; Uygulamada kullanc kayt ekrannda kayt yap-

    lrken baz kontrollerin yaplmas gerekmektedir.Bu kontroller projenin android tarafnda Cus-

    tumHttpClientn web servisten dndrecegi cevaba gre yaplmaktadr.rnegin kullancnn ka-

    yt etmek istedigi kullanc adndan veritabannda kaytl olarak varsa Http, serviste olusturulan

    sorguya gre "Bu kullanc zaten kaytl" seklinde cevap dndrmektedir.

    6

  • A)CustomHttp ile Kullanc Kayt Ekrannda Kullanlmas

    @Override

    protected String doInBackground(String... params) {

    // TODO Auto-generated method stub

    //Kullanc ad ve parola deerleri php ye gnderilir

    //cevap alnr

    ArrayList gonderilenler = new ArrayList();

    gonderilenler.add(new BasicNameValuePair("username", params[0]));

    gonderilenler.add(new BasicNameValuePair("password", params[1]));

    String res = null;

    try{

    cevap = CustomHttpClient.

    executeHttpPost("http://prosetstudio.com/bilcomb/kullaniciKayit.php",

    gonderilenler);

    res = cevap.toString();

    res= res.replaceAll("\\s+","");

    }catch (Exception e) {

    Toast.makeText(getApplicationContext(), e.toString(),

    Toast.LENGTH_SHORT).show();

    }

    return res;

    }

    //gelen cevapa gre ilem yaplr.

    @Override

    protected void onPostExecute(String result) {

    pd.dismiss();

    if(result.equals("1")){

    Toast.makeText(getApplicationContext(),

    "Kullanc Ad veya Parola Bo Braklamaz.",

    Toast.LENGTH_SHORT).show();

    }

    if(result.equals("2")){

    7

  • Toast.makeText(getApplicationContext(),

    "Bu Kullanc Zaten Kaytl",

    Toast.LENGTH_SHORT).show();

    }

    if(result.equals("3")){

    Toast.makeText(getApplicationContext(),

    "Kayt lemi Baarl",

    Toast.LENGTH_SHORT).show();

    }

    super.onPostExecute(result);

    }

    3.2 Ekranlarn Tasarm ve Kodlanmas

    Projede kullanlacak ekranlar ve isleyisi taslak seklinde olusturuldu.Tasarm asamasnda ni-

    verisitenin logo renkleri baz alnms bu renkler dogrultusunda bir tasarm olusturulmustur.

    3.2.1 Splash Ekran

    Uygulama alstrldgnda ilk gelmesi dsnlen ekran splash dedigimiz tantm ekrandr.Bu

    ekran kullancnn belirleyecegi sre zarfnda ekrana gelerek, uygulama arka planda yklenip ha-

    zrlanrken n planda alstrlr ve kullanc bilgilendirir.Bu ekranda Bilecik Seyh Edebali niver-

    sitesi logosu kullanlarak uygulamay tantmas saglanmstr.Ekran sadece logo ve isim tasmasna

    ragmen uygulamaya ait baz zelliklerde bu ekranda tutulmaktadr.rnegin kullanc uygulamaya

    giris yapms ise ve uygulamadan ks yaparak kmams yani cihazla kms ise kullanc tekrar

    uygulamaya girdiginde giris yapmas istenmez anasayfaya ynlendirilir.Bu "Shared Preferences"

    denilen yapyla saglanr.Kullanc giris yaptgnda id degeri Sharedla alnr ve ks yaplmadg

    srece silinmez.

    8

  • Sekil 8: Splash ekran grnts

    A)Splash Ekrannda Shared Preferences ile id Alnmas

    SharedPreferences sp;

    sp = getSharedPreferences("login", MODE_PRIVATE);

    //eer cihaz uygulamadan ckarsa

    //id sharedda tutulur.

    if(sp.getString("id", "").equals("")){

    Intent i = new

    Intent(MainActivity.this,IlkEkran.class);

    startActivity(i);

    finish();

    }

    else{

    Intent j = new

    Intent(MainActivity.this,Anasayfa.class);

    startActivity(j);

    9

  • finish();

    }}}

    3.2.2 Kullanc Giris ve Kayt Ekranlar

    Splash ekran alsmas bittikten sonra kullanc kayt veya giris iin diger sayfalara ynlendi-

    rilir.Eger kullanc kaytl ise kullanc ad ve sifre bilgileri istenir.Eger kaytl degilse diger Acti-

    vitye ynlendirilerek kullanc kaydedilir.

    Sekil 9: Kayt veya girise ynledirme

    Bu ekranda iki buton eklenerek kullancnn durumuna gre ynlendirilecegi ekranlar belirlen-

    mektedir.Bu ekranda kullancnn ynlendirildigi ekranlar dsnda kontrol edilen nemli bir zellik

    daha bulunmaktadr.Uygulamann alstg cihaz internete bagl degilse burada bir uyar olusturul-

    maktadr.

    A)Internet Baglantsnn Kontrol

    @Override

    public void onClick(View v) {

    // TODO Auto-generated method stub

    switch (v.getId()) {

    case R.id.btnSignUp:

    if(isOnline())

    {

    10

  • Intent i=new Intent(IlkEkran.this,Login.class);

    startActivity(i);

    finish();

    }

    else

    Toast.makeText(getApplicationContext(),

    "Ltfen internet balantnz kontrol ediniz.",

    Toast.LENGTH_SHORT).show();

    break;

    case R.id.btnSingIn:

    if(isOnline())

    {

    Intent k=new Intent(IlkEkran.this,Kayit.class);

    startActivity(k);

    finish();

    }

    else

    Toast.makeText(getApplicationContext(),

    "Ltfen internet balantnz kontrol ediniz.",

    Toast.LENGTH_SHORT).show();

    break;

    default:

    break;

    }

    }

    //nternete bal olup olmad boolen deerle kontrol eder.

    //Sonuc olarak true yada false dner

    public boolean isOnline() {

    ConnectivityManager cm =

    (ConnectivityManager)

    getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo netInfo = cm.getActiveNetworkInfo();

    return netInfo != null && netInfo.isConnectedOrConnecting();}}

    11

  • Sekil 10: Kullanc giris ekran

    Eger kullanc daha nceden kaytl ise Giris ekranna ynlendirilir.Burada kullancdan kullanc

    ad ve parola bilgileri istenmektedir.Kullanc bu bilgileri dogru ve eksiksiz girdigi takdirde di-

    ger Actvitye ynlendirilir.Eger kullanc bilgileri veritabanyla uyusmuyorsa "Kullanc Ad veya

    Parola Yanls" diye mesaj verilmektedir.bu mesaja Toast mesaj denmektedir.Toast mesajlar be-

    lirlenen sorgu ve kosula gre ekranda yine istege bagl sre zarfnda verilen mesajlardr.Burada

    Json denilen yap kullanlmaktadr.Kullancnn girdigi parametreler stringe evrilerek web ser-

    vise gnderilir.Eger girilen parola ve kullanc ad degerleri uyusursa id ve username Sharede

    eklenir. B)Kullanc Giriste Json ile Veri Ekleyip ekme

    protected String doInBackground(String... args) {

    //edit texten ald parametreleri stringe evirir.

    kullaniciAdimStr= kullaniciAdi.getText().toString();

    parolamStr = parola.getText().toString();

    List params = new

    ArrayList();

    params.add(new BasicNameValuePair("username",

    kullaniciAdimStr));

    params.add(new BasicNameValuePair("password", parolamStr));

    //Kullnc ad ve parola json ile gnderilir.

    JSONObject json = jParser.makeHttpRequest(url_id,

    "POST", params);

    try {

    int success = json.getInt(TAG_SUCCESS);

    12

  • if (success == 1) {

    //jsondan dnen id ve username deerleri

    //shared'a eklenir

    editor.putString("id", json.getString("id"));

    editor.putString("ad", json.getString("username"));

    editor.commit();

    durum="1";

    } else{

    durum="0";

    }

    } catch (JSONException e) {

    e.printStackTrace();

    }

    return null;

    Sekil 11: Kullanc kayt ekran

    Eger kullanc kaytl degilse Kayt sayfasna ynlendirilir.Burada da kullanc kayd iin pa-

    rola ve kullanc ad bilgileri istenir.Bu Activityde eger kullanc daha nce kayt olmus veya

    ayn kullanc adnda baska kullanc varsa "Bu Kullanc Zaten Kaytl" seklinde Toast mesaj

    verilmektedir.Eger sartlar uyusuyorsa "Kayt Islemi Basarl " mesaj ile kullanc veritabanna

    kaydedilir.

    13

  • 3.2.3 Anasayfa,Detay ve Sikayet Ekleme Ekranlar

    Anasayfa btn kullanclarn uygulamaya ekledikleri sikayetleri ve kullanc adnn tutuldugu

    ekrandan olusmaktadr.Bu ekranda Listview olarak adlandrlan listeleme yntemi kullanlmstr.[10]

    Her bir Listviewde kullanc ad, yaplan sikayet veya neri grntlenmektedir.Ayrca bu sayfada

    kullanclarn ekledikleri sikayet/neri bilgisine gre degisebilen soru isareti ve nlem resimleri

    bulunmaktadr.Eger yaplan bir istek ise soru isareti ikonu, sikayet ise nlem ikonu getirilmekte-

    dir.Bu sorgu veritabanna eklenen sikayet/neri ana baslgna gre belirlenmektedir.

    Sekil 12: Anasayfa ekran

    Ikon resmi ayarlama asagdaki kod paras kullanlarak yaplmstr.Json yardmyla "sikayetIstek"

    verisi veritabanndan jason ile ekilmistir.ekilen bu veri if bloguna gnderilerek ikon belirlen-

    mekredir.

    A)Sikayet/Istek Ikonlar Ayarlanr

    //listviewdeki ikonlar ayarlanr.

    if(sikayetIstek.equals("Sikayet")){

    map.put(TAG_SIKAYETISTEK, Integer.toString(R.drawable.unlem));

    }

    if(sikayetIstek.equals("Oneri")){

    map.put(TAG_SIKAYETISTEK, Integer.toString(R.drawable.soru));

    }

    14

  • Ansayfada her Listviewe tklanma olay verilerek diger Actvitye geis saglanmstr.Bu ekran ise

    Detay ekrandr.Yani Lisviewde grntlenen her bir sikayetin ayrntlarna ulasabilecegimiz bir

    ekrana geis yaplmaktadr.Bu ekranda sikayet ad, kullanc adnn yan sra sikayet ierigi, resmi

    , konum ve baslk gibi bilgiler grntlenmektedir.Bu veriler Json ile paraladgmz verilerdir.Bu

    veriler Anasayfadan alnmaktadr.String olarak alnan veriler ilgili birimlerine yazdrlr.Burada

    alnan degerler indirilmis olan font degerleri belirlenerek eklenir.Yaz fontu herbir birim iin ayr

    belirlenmistir.

    B)Yaz Fontlar Ayarlanr

    //yaz fontlar ayarlanr

    txtName.setTypeface(Typeface.createFromAsset(getAssets(),

    "fonts/orange.ttf"));

    txtName.setText(baslik);

    txtIcerik.setTypeface(Typeface.createFromAsset(getAssets(),

    "fonts/girlshave.ttf"));

    //Ald string deerlerini yazdrr.

    txtIcerik.setText(icerik);

    txtIstek.setTypeface(Typeface.createFromAsset(getAssets(),

    "fonts/fromcartoon.ttf"));

    txtIstek.setText(istek);

    Sekil 13: Sikayet detay ekran

    15

  • Ayrca bu ekranda veritabanndan resim ekme olaylarda gereklestirilmektedir.Sikayet ekleme

    ekrannda veritabanna Stringe evrilerek eklenen resim degeri Jsonla ekilerek Bitmap degerine

    dnstrlr.Bu ekranda ActionBar zerinde kullancnn anasayfaya dnebilecegi geri butonu da

    yer almaktadr.

    C)String Olarak ekilen Resim Degerinin Bitmap Formatna Dnstrlmesi

    //Ald resmin string deerini bitmepe evirerek

    //imageviewde gsterir.

    sikayetResmi.setImageBitmap(decodeBase64(resimYazi));

    Bu ekranda yer alan bir baska ayrnt ise igne ikonlu butondur.Bu butona tklama olay gerek-

    lestirilince sikayeti yapan kisinin isim,profil resmi ,konum degerleri ve sikayet/nerinin eklendigi

    zaman dilimi gsterilmektedir.Bu Alert Dialog yapsyla yaplr.Dialog kullancya ekranda me-

    sajlar gsteren Activity zerinde alan bir ekrandr.

    Anasayfada sag st ksede yer alan mavi "+" simgeli butona tklandgnda ise sikayet/neri ek-

    ranna ulaslmaktadr.Bu ekran kullanclarn anasayfada listenecek olan sikayet/neri ekleyebi-

    lecekleri bir alan olarak olusturulmustur.Kullanc ilk olarak sikayet/neri trn belirlemekte-

    dir.Daha sonra eklecegi konunun ana baslg ve ierigi girilmektedir.Ayrca Spinner menu olustu-

    rularak kullanclarn bulundugu konum alnmak istenmektedir.Mavi kamera ikonlu butona tklan-

    dgnda ise cihaz kameras almakta ve resim ekilmektedir.

    Sekil 14: Sikayet/neri ekleme ekran

    16

  • ekilen resim ve diger ierikler kayt butonuna basldg anda veritabanna kaydedilmekte-

    dir.Kullanclarn sikayet ierigi olmadan direk resim ekip eklemeside engellenmistir.Bu ekranda

    veritabanna kaydedilen ancak gzkmeyen zaman dilimi degeri bulunmaktadr.Kullanc sikayeti

    ekledigi anda zaman dilimi kaydedilir daha sonra ilgili sikayetin zaman detay ekrannda ekil-

    mektedir.

    D)Tarih ve Saatin Alnarak Veritabanna Kaydedilmesi

    Calendar c;

    SimpleDateFormat sdf,sdfSaat;

    String tarih,saat,zaman;

    //Tarih ve saat alnr.

    c = Calendar.getInstance();

    sdf = new SimpleDateFormat("dd.MM.yyyy");

    tarih = sdf.format(new Date());

    sdfSaat = new SimpleDateFormat("HH:mm:ss");

    saat = sdfSaat.format(c.getTime());

    //tarih ve saat tek stringte birletirilir.

    zaman = tarih+" "+saat;

    //ikayet kaydediliyor

    sKayit gorev = new sKayit();

    gorev.execute(new String[]

    {sikayetadi,sicerik,image_str,k_id,istek,konum_str,zaman});

    E)Kamera Almas ve Resmin Stringe evrilerek Kaydedilmesi

    @Override

    public void onClick(View v) {

    switch (v.getId()) {

    case R.id.bResim:

    Intent cameraIntent = new Intent(android.provider.MediaStore.

    ACTION_IMAGE_CAPTURE);

    startActivityForResult(cameraIntent, CAMERA_REQUEST);

    break;

    17

  • case R.id.bKayit:

    String sikayetadi = sadi.getText().toString();

    String sicerik = saciklama.getText().toString();

    Bitmap bitmap = ((BitmapDrawable)resimekle.getDrawable()).getBitmap();

    ByteArrayOutputStream stream = new ByteArrayOutputStream();

    bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);

    byte [] byte_arr = stream.toByteArray();

    String image_str = Base64.encodeToString(byte_arr,

    Base64.DEFAULT);

    String istek = secim.getSelectedItem().toString();

    String konum_str = konum.getSelectedItem().toString();

    //login ekrannda eklenen id deerini alr.

    String k_id = sp.getString("id", "");

    //tarih ve saat tek stringte birletirilir.

    zaman = tarih+" "+saat;

    //ikayet kaydediliyor

    sKayit gorev = new sKayit();

    gorev.execute(new String[]

    {sikayetadi,sicerik,image_str,k_id,istek,konum_str,zaman});

    break;

    3.2.4 Navigation Drawer Kullanarak Kayan Men Olusturulmas

    Navigation Drawer Anasayfa ekrannda sol tarafta bulunan kullancnn birden ok ekrana gi-

    debilmesi iin yntem saglar.Uygulama alstrldgnda gizli olarak grnr.Kullanc parmagn

    soldan saga dogru kaydrmas veya ActionBar zerinde bulunan butona tklamas halinde gr-

    nr.Navigation Drawer tasarlanrken Actvity olusturulmaz.Bu men iin mutlaka Fragment ola-

    rak adlandrlan yapnn kullanlmas sarttr.Fragmentler yaps itibariyle Activitylere benzer an-

    cak arayz ve baz komutlarn kullanm bakmndan farkllk gstermektedir.Slider men olarak

    Anasayfa, profil, ks seklinde adet seenek sunulmustur.Kullanc bunlardan birine tkladg

    takdirde ilgili ekrana ynlendirilir.[3]

    18

  • Sekil 15: Kayan men grnm

    Profil ekranna tkladgnda kullancnn kendi profil ekranna ynlendirilir.Bu ekranda ilgili

    kullancya ait bilgiler yer almaktadr.Bu bilgiler kullanc ad ve profil resmidir.Splash ekra-

    nnda Shared ile alnan kullanc id kullanlarak kullanc ad ve profil resmi bilgileri ekilmek-

    tedir.Ayrca kullanc istedigi takdirde profil resmini degistirebilmektedir.Dzenle ikonlu butona

    tklandgnda resim ek ve ykle olmak zeri iki buton gzkmektedir.Resim ek butonuna ba-

    sldg anda resim ekilir, ykle butonuna tklandg anda ise resim string formata evrilerek ve-

    ritabanna kaydedilir.Kullancnn profil ekranna her girisinde kaydedilen resim gzkmektedir.

    Sekil 16: Kullanc profil ekran

    19

  • ks yap ikonuna tklandgnda ise kullancya "ks yapmak istediginizden emin misiniz?"

    seklinde bir diyalog ekran sunulmaktadr.Kullanc "Evet" dedigi takdirde uygulamadan kl-

    maktadr.Hayr derse uygulamada kalnmaktadr.Ayrca kullanc ks yapmadan cihaz yardmyla

    uygulamadan karsa, tekrar uygulamaya girildiginde tekrar giris yapmasna gerek yoktur.nk

    kullanc ks yapmadg iin kullanc bilgileri Shared ile tutulmaktadr. A)Alert Dialog ks

    Sekil 17: ks ekran

    private void displayView(int position) {

    //gelen positiona gre ilgili fragment aryor

    Fragment fragment = null;

    switch (position) {

    case 0:

    fragment = new Ana();

    break;

    case 1:

    fragment = new Profil();

    break;

    case 2:

    AlertDialog.Builder alertDialogBuilder = new

    AlertDialog.Builder(Anasayfa.this);

    alertDialogBuilder.setTitle(this.getTitle());

    alertDialogBuilder.setMessage("k Yap?");

    20

  • alertDialogBuilder.setPositiveButton("Evet",new

    DialogInterface.OnClickListener() {

    @Override

    public void onClick(DialogInterface dialog, int which) {

    // TODO Auto-generated method stub

    editor.remove("id");

    editor.commit();

    Intent i=new Intent(Anasayfa.this,Login.class);

    startActivity(i);

    finish();

    }}); alertDialogBuilder.setNegativeButton("Hayr",new

    DialogInterface.OnClickListener()

    3.3 Veritaban ve Tablolarn Olusturulmas

    3.3.1 Veritaban Olusturulmas

    Projede USB Web Server kullanlarak localhost zerinden Mysql zerinden veritaban ve tab-

    lolar olusturulmustur.Usb web server kendi bilgisayarnzda olusturacagnz sanal web sunucusu-

    dur.Apache, MySQL, Php ve PhpMyAdmini iinde barndran ve bunlara kolayca erisebileceginiz

    bir programdr.[8] phpMyAdminde Veritaban ve tablolarn olusturulmas;

    21

  • Sekil 18: "bseu" isimli veritaban

    3.3.2 Login Tablosu

    Veritaban olusturulduktan sonra id,username,password ve profilresim olmak zere 4 alana sa-

    hip login tablosu olusturulmustur.Kullanc kayd, profil resmi eklenmesi ve kullanc girisin de-

    netlenmesi bu tablo zerinden yaplmaktadr.

    Sekil 19: Login tablosu grnm

    22

  • 3.3.3 Sikayet Tablosu

    Uygulamada yer alan diger tablo ise "sikayet" olarak isimlendirilen tablodur.Bu tabloda sid

    ,sikayetadi, sicerik , resimadi, kid , istek ,konumstr alanlar bulunmaktadr.Bu tablo ile kullan-

    clar sikayet ekler eklenen sikayetler veritabanndan ekilerek gsterilmektedir.Burada kid olarak

    isimlendirilen alan ise login tablosundan alnan kullanc id dir.Bu id sayesinde hangi kullanc-

    nn hangi sikayet/neriyi ekledigi bilgisine ulaslabilmektedir. Kullancnn ekmis oldugu sika-

    Sekil 20: Sikayet tablosu grnm

    yet/neri resmi ise resimadi olarak bulunan alana eklenmektedir.Ancak resim format veritabanna

    text seklinde kaydedilmektedir.Bu ekleme islemi bitmap-string formuna dnstrlerek yaplmak-

    tadr.Bu sekilde ekilen .jpg veya .png uzantl resim string halinde veritabanna kaydedilebilmek-

    tedir.

    Sekil 21: Resimlerin string biiminde kaydedilmesi

    23

  • 3.3.4 Sikayet ve Login Tablolarnn Iliskilendirilmesi

    Sikayet listelenmesi esnasnda hangi sikayet/neri kim tarafndan yapld, profil resmi gibi bil-

    gilerin alnabilmesi iin iki tablonun iliskilendirilmesi gerekmektedir.Iliskilendirme hem Mysql

    tarafnda hemde Php tarafnda yaplmaktadr.Sekilde Mysqlde sikayet tablosundaki "kid" ile lo-

    gin tablosundaki "id" ikiskilendirilmektedir. Web serviste ise tm sikayetlerin listelenebilmesi iin

    Sekil 22: Tablolarn iliskilendirilmesi

    Php ile iliskilendirme yaplmstr.

    A)Web Serviste Tablo Iliskilendirmesi

    $con=mysql_connect('localhost','pdsprose','L16ngedH');

    mysql_select_db("pdsprose_bilcomb",$con);

    //login ile sikayet tablolarndaki id'ler ilikilendirilir

    $result = mysql_query("SELECT *FROM sikayet s,login l where

    s.k_id=l.id") or die(mysql_error());

    3.4 Web Servis Yazm

    Php Web Servis Android cihaz ile veritaban arasnda baglant kurmamz saglayan bir XML

    formatdr.Bu sayede veritabanna gnderilen veriler json olarak veritabanna kaydedilip ekilebi-

    lir.

    24

  • Uygulamada veritabanna veri eklemek ve veri ekmek iin Notepad++ yardmyla baz web ser-

    visler yazlmstr.[7]

    Sekil 23: Php Web Servis alsma prensibi

    3.4.1 Kullanc Kayt Servisi

    Kaytl olmayan kullanclarn veritabanna kayt olmasn saglayan kullaniciKayit.php asagda

    gsterilmistir.Burada post metodu ile kullanc adi ve parola bilgileri gnderilmektedir.Sonuc me-

    saj olarak ise kullancnn kaytl olup olmadg veya bilgilerin bos girilip girilmedigi kontrol

    edilmektedir.Eger hata yoksa kullanc kayd yaplmaktadr.

    A)Kayt Php Web Servisi

    //Post metodu daha hassas bilgilerin rnein

    // kullanc adnn ve ifresinin gnderilmesi iin kullanlr.

    if(isset($_POST['username'])){

    $username = $_POST['username'];

    }

    if(isset($_POST['password'])){

    $password = $_POST['password'];

    }

    //isset ile deiken olup olmad kontol edilir.

    //varsa true yoksa false deeri dndrlr.

    25

  • $hata = false;

    $sonucmesaji = "";

    if($username=="" || $password==""){

    $hata = true;

    $sonucmesaji = "1";

    //bosa

    //Kullanc ad veya parola bo braklamaz

    }

    //sorguyu mysql'e gnderir

    $sql ="SELECT * FROM login WHERE username='".$username."'";

    $sonuc = mysql_query($sql);

    //php ile ekilen verinin ka adet olduunu gsterir.

    if(mysql_num_rows($sonuc)>0){//0 dan fazla veri varsa

    $hata =true;

    $sonucmesaji = "2";

    //eer ayn isimli baka kullanc varsa

    //Bu kullanc zaten kaytl mesajn dndrr

    }

    if(!$hata){//eer hata yoksa

    mysql_query("insert into login(username,password)

    values('{$username}','{$password}')");

    $sonucmesaji="3";

    //Kayt ilemi baarl

    }

    echo $sonucmesaji;

    26

  • mysql_close();?>

    3.4.2 Login Servisi

    Login servisinde kullancnn girisi iin gerekli sorgulamalar yaplr.Eger post ile gnderilen

    kullanc ve parola veritaban ile uyusuyorsa anasayfaya gidilir yoksa mesaj verilir.

    B)Login Php Web Servisi

    if (isset($_POST['username']) && isset($_POST['password'])) {

    $username = $_POST['username'];

    $password = $_POST['password'];

    $result = mysql_query("select * from login where

    username='$username' and password='$password'");

    if (mysql_num_rows($result)>0) {

    while ($row = mysql_fetch_array($result)){

    $response["success"] = 1;

    $response["id"] = $row['id'];

    }

    3.4.3 Tm Sikayet/nerilerin Listelendigi Servis

    Bu web servis anasayfa ekran iin kullanlan web servistir.Syleki veritabannda bulunan tm

    sikayetleri json ile ekerek anasayfada listenmesini saglar.

    A)Anasayfa Php Web Servisi

    27

  • //login ile sikayet tablolarndaki id'ler ilikilendirilir

    $result = mysql_query("SELECT *FROM sikayet s,login l where

    s.k_id=l.id") or die(mysql_error());

    if (mysql_num_rows($result) > 0) {

    $response["sikayet"] = array();

    //gelen bilgiyi paralar

    while ($row = mysql_fetch_array($result)) {

    $sikayet = array();

    $sikayet["sid"] = $row["sid"];

    $sikayet["k_id"] = $row["k_id"];

    $sikayet["username"] = $row["username"];

    $sikayet["sikayetadi"] = $row["sikayetadi"];

    $sikayet["sicerik"] = $row["sicerik"];

    $sikayet["resimadi"] = $row["resimadi"];

    array_push($response["sikayet"], $sikayet);

    }

    $response["success"] = 1;

    echo json_encode($response);

    3.4.4 Veritabanna Sikayet/neri Eklenmesini Saglayan Servis

    Uygulamada kullancnn herhangi bir konuda sikayet/neri eklemesini saglayan Actvitye ge-

    lindiginde verileri kaydeden web servis olusturulmustur.Bu serviste kullancdan aldg bilgileri

    id yi kullanarak tabloya eklemektedir.Burada eger eksik bilgi girilmisse bunu kontrol edip sonuc

    mesaj dndrlmektedir.Eger bilgiler eksiksiz ise veritabanna kayt yaplmaktadr.

    Sikayet/neri Eklenmesini Sagayan Php Web Servisi

    28

  • 3.5 Sistemin evrimii Ortamda Denenmesi

    Uygulama denemeleri yaplrken Usb Web Server kullanlarak localhost zerinden deneme a-

    lsmalar gereklestirilip ve Genymotion ekrannda gsteriliyordu.Daha sonra uygulama gerek bir

    host adresi kullanlarak evrimii ortamda denenmeye basland.Php servislerin evrimii ortama

    aktarlmas iin FileZilla program kullanld.Bu program ile hosting hesaplarna dosya aktarm

    yapan , hesaptan dosyalar ekilebilmesini saglayan bir programdr. Servisler localden evrimii

    Sekil 24: Servislerin evrimii ortama aktarlmas

    ortama aktarlrken dikkat edilmesi gereken bir husu vardr.Php servislerinde veritabanyla olustu-

    rulan baglant ayarlarnn degistirilmesi gerekmektedir.[11] Localde denemeler yaplrken servis

    baglantlar su sekilde yaplmstr:

    $con=mysql_connect('localhost','root','');

    mysql_select_db("database ad",$con);

    Servis gerek bir host adresi zerinde alstrlacag zaman baglant ayarlar bu host adresinin

    bilgilerini iermek durumundadadr.

    $con=mysql_connect('localhost','pdsprose','sifregirilir');

    30

  • mysql_select_db("pdsprose_bilcomb",$con);

    FileZilla program alstrlrken ncelikle baglanlan sitenin bilgileri girilir ve siteye baglanl-

    maya alslr.Siteye baglant gerekletirldiyse artk veritabanna ulaslabilir.Ekranda sol ksmda

    yer alan .php dosyalar srklenip braklarak sag ksma tasnr.Bu sekilde servisler aktarlms olur.

    Servisler evrimii ortama aktarldktan sonra gerek hosting zerinde Phpmyadmin zerinde lo-

    calhostta oldugu gibi tablolar olusturuldu.

    Tablolar yine Mysqlde fakat adres ubugunda gsterildigi gibi gerek bir host adresinde olustu-

    rulmustur. Ousturulan tablolara rnek degerler kaydedilmistir.

    Sekil 25: Olusturulan veritaban ve tablolar

    Sekil 26: Olusturulan veritaban tablo ierikleri

    31

  • Servisler sekilde grldg gibi evrimii ortamda denenmektedir.Ok ile gsterilen ksm ger-

    ek bir adresten baglanlan servistir.

    Sekil 27: Servislerin evrimii ortamda denenmesi

    32

  • SONULAR VE NERILER

    Yaplmas planlanan proje ncesinde benzer olan projeler incelendi ve o projelerde bulunan

    eksikler tespit edilerek projeye eklenmeye alsld.Proje tasarmnda ve ieriginde neler olacag

    belirlendi.Tasarm olarak Bilecik Seyh Edebali niversitesi logo renkleri baz alnarak bir tasarm

    olusturmas planland.Proje ierigi olarak kullanclarn istek ve sikayetlerini duyurabilecegi diger

    kullanclarnda haberdar olmasnn saglanabilecegi bir ortam olusturulmaya alslmstr.Android

    cihaz ile olusturulan veritaban tablolar arasndaki baglantnn saglanabilmesi iin Php web ser-

    visleri yazlmstr.Baslangta local zerinden denemeleri yaplan ve Genymotion zerinden test

    edilen uygulama daha sonra evrimii ortama aktarlarak android telefonda test edilmistir.

    Proje ierigi itibariyle tek tnl bir paylasm ortam sunmaktadr.Yani paylaslan ierige geri dns

    yaplamamaktadr.Projenin daha da gelistirilmesi dsnlrse kullnclarn geri dns alabilecek-

    leri ierik hakkknda yorum yazlabilmes ve begeni olaynn yaplabilmesi saglanabilir. Bu proje

    kapsamnda android tabanl mobil programlama hakknda daha derin bilgi sahibi olundu.Ayrca

    android yannda web servis olusrurularak iki farkl ortamn birbiriyle iliskili bir biimde nasl

    alsmas gerektigi grenildi.Projenin evrimii ortama aktarlmas sayesinde evrim ii ortamda

    uygulama alstrlarak ilk kez gerek bir host adresi zerine veri eklenip ekilmesi islemleri ger-

    eklestirildi.

    33

  • KAYNAKLAR

    Kaynaklar

    [1] OMU Sikayet/Oneri Platformu(2015),(Erisim:1-07-2015).

    http://www.ademturker.com.tr/index.php?sayfa=nedir

    [2] Wikipedia(tarihsiz),(Erisim:29-06-2015) .

    http://tr.wikipedia.org/wiki/Android.

    [3] Navigation Drawer(tarihsiz).

    https://developer.android.com/design/patterns/navigation-drawer.html.

    [4] REST webservice with symfony(2011),(Erisim:1-07-2015).

    http://di-side.com/di-side/services/web-solutions/rest-webservice-symfony/

    [5] Android ile JSON Dosyadan Parse (2010),(Erisim:1-07-2015).

    http://trandroid.com/2010/05/18/android-ile-json-dosyadan-parse-ornegi-2/

    [6] Android Http Post ve JSON Parse Etme(2013),(Erisim:1-07-2015).

    http://www.mobilhanem.com/android-http-post-ve-json-parse-etme/

    [7] Develop a Complete Android Login Registration System with PHP,

    MySQL(2013),(Erisim:1-07-2015).

    http://www.learn2crack.com/2013/08/develop-android-login

    -registration-with-php-mysql.html

    [8] Connect Android to MySQL Database Tutorial(2011),(Erisim:1-07-2015).

    http://www.b4x.com/android/forum/threads/connect-android-to

    -mysql-database-tutorial.8339/

    [9] Android Internet Connection Using HTTP GET (HttpClient)(tarihsiz),(Erisim:1-07-2015).

    http://hmkcode.com/android-internet-connection-using-http

    -get-httpclient/

    [10] ListView Ozellestirme(2014),(Erisim:1-07-2015).

    https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/

    android-301/listview-ozellestirme

    34

  • [11] Android Programlama, MYSQL (2014),(Erisim:1-07-2015).

    http://khblog.net/makale/74/android-programlama-ile-mysql

    -veritabani-baglantisi-php-web-servis.html

    35

  • ZGEMIS

    KISISEL BILGILER

    Ad Soyad :Zhal Calayoglu

    Uyrugu : T.C

    Dogum Yeri ve Tarihi: TOSYA 06-07-1992

    Adres : Gazipasa Mah.Tevfikbey

    Cad.No:10/A MERKEZ/BILECIK

    Telefon : 05434467327

    e-mail : [email protected]

    EGITIM DURUMU

    Lisans grenimi : Bilecik Seyh Edebali niverstesi, Bilecik

    Bitirme Yl : 2015

    Lise : TOSYA LISESI

    IS DENEYIMLERI

    Yl :

    Kurum :

    Stajlar : KUZKA(Kuzey Anadolu Kalknma Ajans) ,TURK TELEKOM

    ILGI ALANLARI

    YABANCI DILLER : INGILIZCE

    36

    NSZEKLLER TABLOSUGRProjenin Tanm ve AmacKullanlan Programlar ve Programlama Dilleri

    BE KAYET/NER PLATFORMUalma PlanAndroid letim SistemiBenzer Projelerin Aratrlp ncelenmesi

    BE KAYET/NER PLATFORMU TASARIM VE KODLAMA AAMASIAndroid'de Veritabanna Veri Ekleme-Veri ekme lemleriJsonParser le Veri Ekleme-Veri ekme lemleriCustomHttpClient le Veri Ekleme-Veri ekme lemleri

    Ekranlarn Tasarm ve KodlanmasSplash EkranKullanc Giri ve Kayt Ekranlar Anasayfa,Detay ve ikayet Ekleme EkranlarNavigation Drawer Kullanarak Kayan Men Oluturulmas

    Veritaban ve Tablolarn OluturulmasVeritaban OluturulmasLogin Tablosuikayet Tablosuikayet ve Login Tablolarnn likilendirilmesi

    Web Servis YazmKullanc Kayt ServisiLogin ServisiTm ikayet/neriler'in Listelendii ServisVeritabanna ikayet/neri Eklenmesini Salayan Servis

    Sistemin evrimii Ortamda Denenmesi

    SONULAR VE NERLERZGEM