Post on 08-Nov-2015
description
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 : zuhal.calayoglu@gmail.com
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