umutbsl
-
Posts
235 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Calendar
Posts posted by umutbsl
-
-
Siteme Üye Olanların Geçici Maille Üye Olmasını İstemiyorum Wordpresste Ve Mybb De Nasıl Engelleyebilirim
-
101 i yazmadım direk 201 den girelim başka günler inş 301 401 ileri seviye paylaşırız
Android Cihazlar ve Android İşletim Sistemi Üzerine Genel Bilgiler
Android, akıllı telefon ve tablet PC gibi mobil cihazlar için geliştirilmiş Linux tabanlı bir işletim sistemidir. Google tarafından desteklenen Open Handset Alliance organizasyonu tarafından geliştirilmiştir. Google ilk yatırım masraflarını karşıladığı Android’i 2005 yılında satın aldı. Şirket daha sonra Apache Lisansı altında Android’in açık kaynak (open source) olarak dağıtımını yaptı. Bugüne kadar Android’in çeşitli sürümleri farklı adlarla piyasaya sürüldü:
- Android 1.0 (API level 1)
- Android 1.1 (API level 2)
- Android 1.5 Cupcake (API level 3)
- Android 1.6 Donut (API level 4)
- Android 2.0 Eclair (API level 5)
- Android 2.0.1 Eclair (API level 6)
- Android 2.1 Eclair (API level 7)
- Android 2.2–2.2.3 Froyo (API level 8)
- Android 2.3–2.3.2 Gingerbread (API level 9)
- Android 2.3.3–2.3.7 Gingerbread (API level 10)
- Android 3.0 Honeycomb (API level 11)
- Android 3.1 Honeycomb (API level 12)
- Android 3.2 Honeycomb (API level 13)
- Android 4.0–4.0.2 Ice Cream Sandwich (API level 14)
- Android 4.0.3–4.0.4 Ice Cream Sandwich (API level 15)
- Android 4.1 Jelly Bean (API level 16)
- Android 4.2 Jelly Bean (API level 17)
- Android 4.3 Jelly Bean (API level 18)
- Android 4.4 KitKat (API level 19)
- Android L (API level 20)
Google Play
Google tarafından yönetilen Google Play, Android cihazların uygulama ve oyunlara ulaşabileceği çevrim içi bir markettir. Buradan, çoğu zaman geliştiricilerin tercihleri doğrultusunda ülkelere göre yayınlanan oyun ve uygulamalara erişilebilir. Android cihazlar üzerinden Google Play uygulamasıyla ya da Google Playsitesinden erişilebilir.
Google Play, üzerinde yer alan uygulamaları kategorilerine göre ayırarak kullanıcılara sunar. Ana sayfasında en çok satılan ve talep gören uygulamalara yer verir. Ayrıca "Editörün Seçimi" gibi yeni bir kategorilendirmeye daha da gitmiştir. Yukarıdaki resimde yer alan arama kutusuna ilgilendiğimiz bir konuyu ya da geliştirici firma adını girerek kolayca arama yapabiliriz. Bir uygulamayı seçtiğimizde aşağıdaki uygulama detay sayfasına yönlendiriliriz.
Bir uygulamanın ayrıntı sayfasına girdiğimizde, uygulamanın adını, hemen altında geliştiricisini görürüz.Yükle düğmesine tıkladığımızda uygulama Google hesabımıza bağlı Android cihazlarımıza gönderilir.
Uygulama detay sayfasında aşağı doğru ilerlediğimizde, uygulama içi görselleri bulabiliriz. Görsellerin hemen altında geliştirici tarafından yapılan açıklamalara ve uygulamayı indiren kullanıcıların yorumlarını görme şansımız var. Kullanıcılar çok çeşitli amaçlarla da yorumlar yapabilirler.
Detay sayfasında daha aşağıya indiğimizde uygulamaya dair ek bilgiler karşımıza çıkar. Burada uygulamanın hangi sürümde olduğu, boyutu ve hedef Android sürümleri görülebilir. Burada yer alan geliştirici bağlantı sayfaları ise, geliştiriciye ulaşabilmeniz açısından, geliştirici tarafından paylaşılan sayfalardır. Sayfanın sonunda ise benzer uygulamalar ve bu geliştiricinin diğer uygulamalarına da bakabilirsiniz.
Android Mimarisi ve Sistem Özellikleri
Android, Open Handset Alliance, Google ve özgür yazılım topluluğu tarafından geliştirilen bir mobil işletim sistemidir. Bu işletim sisteminin parçaları çekirdek (kernel), sistem kütüphaneleri, uygulama geliştirme çatıları (frameworks) ve yerleşik temel uygulamalardan oluşmaktadır. Android mimarisi aşağıdaki gibidir.
Bu yapıyı ayrı ayrı incelemek geliştirici adaylarının üzerinde çalıştıkları yapıyı anlamaları bakımından faydalı olacak.
İşletim Sistemi (Linux çekirdek)
Android, Linux çekirdeğini (kernel) kullanır. Linux çekirdeğine Android için eklenen kod parçacıkları ve kütüphaneler Genel Kamu Lisansı'na sahipken, diğer bileşenler üretici firmalarına kendi kapalı ROM'larını oluşturmalarına izin verecek ama yine özgür bir şekilde Apache Lisansı ile dağıtılmaktadır.
Linux çekirdeğinin doğrudan kaynak sağladığı yapılar security (güvenlik), memory ve process (hafıza ve süreç) kontrolü, dosyalama ve bağlantı için I/O işlemleri ve cihaz sürücüleridir. Çekirdekte Android için özelleştirilmiş başlıca alanlar ise güç kontrolü, paylaşılan hafıza, low memory killer ve süreçler arası iletişim içindir.
Kütüphaneler (Libraries)
Mimarinin diğer önemli yapısı olan kütüphaneler bölümünde C ile yazılmış sistem kütüphaneleri, internet tarayıcısı (browser) motorlarının çalışması için Webkit, görüntüleme kontrolünü yapan Surface Manager, grafik işlemleri için OpenGL, ses ve video işlemleri için gereken Media Freamwork, veri yapıları kontrolü ve düzenlenmesi için SQLite gibi yapılar bulunur.
Android Runtime
Bu bölüm Linux çekirdeğindeki kütüphanelerin java ile birleştiği bölümdür. İki önemli bileşeni vardır. Bunlar temel Java kütüphaneleri ve Dalvik Sanal (virtual) Makinesi'dır. Bu yapılar hakkında detaylı bilgileri ilerleyen eğitim içeriklerinde bulacaksınız. Burada Dalvik Sanal Makinesi'ne kısaca değinelim:
- Dalvik Sanal Makinası: Uygulamalar Dalvik Sanal Makinesi tarafından çalıştırılır. Temel çalışma mekanizmasını anlamak Android projelerinin yaşam döngüsünü anlamak açısından önemlidir. Java ile yazılan uygulamalar alınır, Java kodları derlenerek bytecode dosyalarına çevrilir. Bu dosyalar dex dosyasına çevrilerek Dalvik Sanal Makinesi'nin çalıştıracağı şekle sokar. Dalvik ortamı düşük işlemci gücü, az RAM ve sınırlı batarya koşullarına göre tasarlanmıştır.
Not: Dalvik her ne kadar mobil odaklı ve kısıtlı kaynaklarla çalışabilecek bir yapı olsa da, bazı alanlarda iyileştirilmesi gereken ve zamanın şartlarına göre tasarlanmış, artık yavaş yavaş eskiyen bir runtime. Google bunun farkında olduğu için yaklaşık 2 yıldır yeni bir runtime üzerinde çalışıyor, ismi ART yani Android Runtime. Dalvik'ten çok farklı bir bir çalışma yapısına sahip olan ART hakkında ayrıntılı bir blog yazısına buradanulaşabilirsiniz.
Eğitimin ilerleyen bölümlerinde uygulama çatılarını (application freamwork) adım adım anlatacağız. Şimdiden herkese bu yeni dünyada başarılar diliyoruz :).
ADT Geliştirme Ortamı'nın Oluşturulması
Android uygulamaları çoğunlukla Java dili kullanılarak geliştirildiğinden, Google uygulama geliştirme platformu olarak Java dünyasında oldukça popüler bir IDE olan Eclipse platformunu yeğlemektedir. Üzerine eklenen modüllerle Java dünyasında neredeyse her türlü uygulama geliştirme çatısına (framework) destek veren Eclipse, Google’ın Android eklentisi kullanılarak Android uygulama geliştirmeye uygun hale getirilebilir.
NOT : Eclipse sürekli güncellenen bir IDE olduğundan bu sayfada yer alan ekran görüntüleri ve sürüm numaraları güncel sürümlerden farklılık gösterebilir.
İşletim sisteminize uygun Eclipse tabanlı Android Geliştirme Ortamını (ADT) buradan indirebilirsiniz.
Not: Eclipse IDE'sinin ilk açılışı biraz zaman alabilir. Bu açılış ve kullanım süreleri, özellikle emülatör kullanımı sırasında, bilgisayarınızın donanımına bağlıdır.
http://developer.android.com/sdk/index.html
Android NDK
Android Native Development Kit (NDK), Android platformuna Native uygulamalar yazabilmeniz için hazırlanmıştır. Android platformunda uygulamalar büyük çoğunlukta Java dili kullanılarak yazılır ancak Android belirli oranda Native (C/C++) desteği de sağlamaktadır. Bu yüzden ilerleyen anlatımlar için indirilmesi zorunlu değildir.
Android eğitimlerinde daha çok Java tabanlı uygulama geliştirmeyi tercih etmemizin en önemli nedeni native uygulama geliştirmenin Android platformunda görece zorluğu ve performansa etkisidir. Android NDK, C kütüphaneleriyle yazılmıştır. ARM ve x86 platformlarını destekler. Derleyici olarak GCC kullanır. Java ortamından farklı olarak Android NDK, komut satırı araçlarıyla çalışır ve hata ayıklama, oluşturma ve çalıştırma işlemleri de yine komut satırı üzerinden yürütülür. Bazı üçüncü parti araçlarda ise Eclipse ve Visual Studio eklentileri bulunmaktadır.
IDE'nin Tanıtılması ve Android Bileşenlerinin Eklenmesi
Bir önceki derste nasıl yüklendiğini gördüğümüz Eclipse IDE'sini biraz daha yakından inceleyelim:
Eclipse yüklenmesi tamamlandıktan sonra Google’ın Android geliştiriciler için yazdığı Eclipse eklentilerini kurmamız gerekir. Bunun için Help > Install New Software yolunu kullanarak eklenti yükleme penceresini açtıktan sonra Add... seçeneğine tıklayalım. Karşımıza aşağıdaki pencere gelecektir.
Burada yeni yükleme yapmak için isim (Name) kısmına “Android”, konum (Location) kısmına ise https://dl-ssl.google.com/android/eclipse/ adresini girelim.
OK tuşuna bastıktan sonra Eclipse belirtilen adresi sorgulayacak ve bulduğu paketleri listeleyecektir.
Burada bütün paketleri seçip Next düğmesine tıklayalım. Sonraki pencerede bizden lisans onaylamamız isteyecek.
Gerekli onayı verdikten sonra Finish düğmesine tıklayarak yüklemeyi başlatalım. Bu aşamada dosyalar indirilmeye başlar. Dosyalar yüklendikten sonra Eclipse’ı tekrar başlattığımızda üst pencerede Android ile ilgili iki simge görüntülenir.
Soldaki simgeye tıklayarak Android SDK Manager’ı başlatalım ve bize gerekli Android paketlerini indirmeye hazırlanalım.
Bu ekranda bugüne kadar Google ve Android projesini destekleyen firmalar tarafından yayınlanmış her türlü geliştirme aracına erişebiliriz. Listeden uygulamamıza uygun Android versiyonunu seçerek indirme işlemini başlatabiliriz. Dilersek birden fazla sürüm yükleyerek uygulamamızın değişik Android sürümlerinde nasıl çalışacağını da takip edebiliriz. Gerekli paketleri seçtikten sonra Install Packages seçeneğiyle yüklemeyi başlatabiliriz.
Yükleme bittikten sonra Android Virtual Device Manager adlı uygulamayı başlatarak kendimize bir sanal cihaz tanımlamamız gerekir.
Tanımlayacağımız sanal cihaz, seçtiğimiz işletim sistemi sürümüne göre bir Android işletim sistemi başlatır ve gerçek bir cihazda çalışır gibi bütün fonksiyonları denememize olanak tanır. Bu ekrandaki Newseçeneğiyle yeni bir cihaz tanımlayalım.
Yukarıda yer alan örnekte, Android 4.1 sürümünü kullanan ve 512 MB harici diske sahip bir sanal makina tanımladık. Ayarlarımız bittiğinde Create AVD düğmesine tıklayarak sanal makinamızı yaratalım.
Sanal cihazı tanımladıktan sonra Start düğmesine basarak artık Android Emülatörü'nü başlatabiliriz. (Android Emülatör'ünün çalışması ilk seferde uzun sürebilir.)
DDMS
DDMS (Dalvik Debug Monitor Server) bilgisayarınıza bağlı bulunan Android cihazları ve o anda çalışan simulatörleri takip edebileceğiniz bir Eclipse eklentisidir. DDMS sayesinde cihaz üzerinde çalışan uygulamaları görüntüleyebilir, cihazın dosya sistemine müdahale edebilir, sahte konum gönderebilir ve ekran görüntüleri alabiliriz. DDMS ekranına ulaşmak için Eclipse içinde Window > Open Perspectiveseçeneğinden DDMS’yi seçmeniz gerekir.
DDMS ekranının sol tarafında o anda bilgisayara bağlı bulunan cihazları görüntüleyebiliriz. Ekranın alt tarafında ise daha önceki bölümde anlattığımız LogCat konsolu bulunmaktadır. Sağ üst kısımda cihaza ait detaylı bilgileri alacağımız bir ekran yer alır. Şimdi bu ekranları inceleyelim.
Cihaz ekranında listelenmiş cihazlardan birine tıkladığımızda cihazın üzerinde o anda çalışan bütün uygulamaları ve bu uygulamaların tükettiği bellek miktarını görüntüleyebiliriz. Burada bir uygulamayı seçtiğimizde yukarıdaki düğmeleri kullanarak uygulamayla ilgili çeşitli kontrollere erişebiliriz. Buradaki düğmeler;
- Debug : Eğer çalışan uygulamanın açık kodu Eclipse’de mevcutsa uygulamayı bu seçenekle debugmodunda çalıştırabiliriz. Bu şekilde uygulamanın adım adım çalışmasını kod üzerinden takip etme olanağına sahip oluruz.
- Update Heap : Uygulamanın harcadığı bellek tüketimini görmemizi sağlar.
- Dump HPROF File : Uygulamanın CPU ve bellek tüketimini gözlemlememizi sağlayan bir dosya oluşturur.
- Cause GC : Bir Garbage Collection başlatır.
- Stop Process : Uygulamayı durdurur.
- Update Threads : Çalışan Thread bilgisini günceller.
- Screen Capture : Cihazdan ekran görüntüsü almamızı sağlar.
Diğer ekrandaki tablara da göz atalım:
- Threads : Uygulamada o anda çalışan bütün Thread’leri görmemizi sağlar. Bunun için gözlemlemek istediğimiz uygulamayı seçip Update Threads butonuna tıklamamız gerekir. Böylece çalışanThread’ler listelenecektir.
- Heap : Uygulamanın bellek tüketimini ayrıntılı bir şekilde görmemizi sağlar. Tüketimini görmek istediğimiz uygulamayı seçerek Update Heap düğmesine tıklayıp ardından Cause GC düğmesine tıklayarak bellek tüketimini görüntüleyebiliriz.
- Allocation Tracker : Bu seçenek uygulamanın çalışması sırasında belleğin ne derece tükedildiğini gerçek zamanlı izlememizi sağlar.
- Network Statistics : Android 4.0 ve sonrası sürümlerin yüklü olduğu cihazlarda kullanabileceğimiz bu özellik sayesinde işletim sisteminin yaptığı bütün internet kullanım trafiğini görüntüleyebiliriz.
- File Explorer : Cihazın dosya sistemine buradan göz atabiliriz. Her türlü uygulama dosyası ve diğer dosyalar listelenecektir.
- Emulator Control : Cihaz üzerinde gerçekleştirmek istediğimiz sanal işlemleri burada yapabiliyoruz. Örneğin cihaza sanal bir SMS atabilir, GPS’e koordinat gönderebilir, hatta bir simulatöre telefon çağrısı gelmiş görüntüsü sağlayabilirz. Bu şekilde uygulamalarınızdaki fonksiyonları deneme şansı elde ederiz.
Logcat
LogCat, Android Developer Tools ile birlikte gelen ve uygulamaların log çıktılarını okuyup incelemenize yarayan basit bir geliştirici aracıdır. Uygulamanızın kodunda, geliştirme aşamasında akışı takip etmek için sadece sizin görebileceğiniz notlar bırakabilirsiniz. İşte bu notlara, log denir.
Eclipse'te LogCat'e ulaşabilmek için LogCat isimli view'ı etkinleştirmiş olmalısınız. Bir uygulamayı derleyip çalıştırmak istediğinizde eğer LogCat bölmesi açık değilse Eclipse size açma önerisinde bulunacaktır. Elle açıp kapatmak için Window > Show View > Other menüsüne girip açılan pencereden LogCat'i seçmelisiniz:
Bu işlemin ardından LogCat bölmesi Eclipse'in alt tarafına yerleşecektir.
Basit log işlemi
Bir Android uygulamasında, hata takibini kolaylaştırmak için notlar/loglar bırakırken basitçe
Log.i("Bilgi", "Internet baglantisi kuruldu");
ya da
Log.w("Dikkat", "Parola uc kez yanlis girildi");
gibi metotlar kullanılır. Log.i'nin (info) bilgi, Log.w'nin (warning) tehlike mesajı gereken durumlarda kullanılması, LogCat bölmesinde fark edilmelerini kolaylaştırır. Bunun dışında da log türleri vardır:
- (Log.v) verbose: gerekli gereksiz tüm bilgiler
- (Log.d) debug: hata ayıklamaya dönük, metodun ya da sınıfın gidişatına ilişkin bilgiler
- (Log.e) error: hata oluşan yerlere ilişkin bilgiler
Şimdi uygulamamızın içinde bir bölme işlemi yapalım ve tüm değerleri biz verelim. Bir sayıyı 0'a bölmeye çalışacağımız zaman hataya sebep olacağımız için bunu da log mesajlarından takip edelim:
//Dosya Adı: MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("LogDeneme", "Kullanıcı arayüzü oluşturuldu.");
try {
int c = 7 / 0;
} catch (Exception hata) {
Log.e("LogDeneme", "Ciddi bir hata oluştu: " + hata.getLocalizedMessage());
}
}Bu uygulamayı çalıştırdığımızda LogCat bölmesi şöyle görünecektir:
Gördüğünüz gibi farklı seviyelerdeki log mesajları farklı renklendirildi. Bilgi içeren log mesajları yeşil, hata içerenler kırmızı renkte yazı tipiyle ekrana basıldı.
Soldaki Saved Filters bölümüyle log mesajlarını dinlemek istediğimiz uygulamaya veya etiketlere has süzgeçler oluşturup, sadece o kurallara uyan mesajların görüntülenmesini sağlayabilirsiniz. Uygulamanın çalıştığı cihaza ilişkin koşulsuz tüm mesajları görebilmek için "All messages" öğesine tıklayabilirsiniz.
Sağdaki bölmedeki ayrıntılara değinelim:
- Level: Log mesajlarının seviyesini içeriyor. Info, Error, Debug ve Warning seviyesinde farklı mesajlar farklı renklerde gösteriliyor.
- Time: Verilen log mesajının tam olarak ne zaman verildiğini gösteren sütun.
- PID: Çalışan uygulamanın process ID değeri. Bu ID değeri Android'te uygulamaya has bir değerdir.
- TID: Uygulamaya bağlı çalışan thread ID değeri. Bazen bir uygulamanın içinde birden fazla thread (iş parçacığı) ile işlem yapılır ve farklı thread'lere ait log mesajları bu sütuna bakarak anlaşılır.
- Application: Uygulamanın paket adının yazılı olduğu kısım. Birden çok uygulamaya ait log mesajlarının incelendiği durumlarda kullanışlı olur.
- Tag: Geliştirici kişinin hata mesajına verdiği etiketin yer aldığı sütun. Verdiğiniz log mesajını sınıflandırmak için etiketleri kullanabilirsiniz.
- Text: Log mesajının metin kısmı.
Süzgeçler
Eclipse, com.logcatdeneme paket adına sahip uygulamamız için kendisi bir süzgeç oluşturdu. + ve - düğmelerinin yanındaki düzenleme düğmesine bastığımızda süzgeçle ilgili ayrıntıları görebiliyoruz:
Bu süzgece göre com.logcatdeneme uygulaması için verbose seviyesinde tüm log mesajları LogCat bölmesinde görülebilir.
Kullanışlı düğmeler
LogCat bölmesinde log mesajlarıyla ilgili birkaç yardımcı düğme vardır:
- Export: Bölmede gördüğünüz log mesajlarınızı bir dosyaya kaydetmenize yarar.
- Clear Log: O an ekrana basılmış tüm log mesajlarını temizler.
- Scrool Lock: Varsayılan olarak yeni log mesajları geldikçe gösterilir. Kaydırma kilidini kaldırarak istediğiniz mesaja, uygulama çalışırken ve log mesajları yağmaya devam ederken daha kolay odaklanırsınız.
Bazen de ekrana basılan log mesajlarını hızlıca bir şarta göre süzmek istersiniz:
Hızlıca paket adına, etikete veya process id'ye göre sorgular yazıp çıktısını görebilirsiniz.
LogCat, Eclipse ile Android uygulamaları geliştirirken sıkça kullandığınız bölümlerden bir tanesi olacaktır. Bir uygulamanın çalıştırılması sırasında oluşan hataları izlemek, gerektiğinde onları paylaşmak için kullanılan yararlı bir bileşendir.
Android Projesi Oluşturmak
Detaylı Anlatım
Android eklentileri yüklendikten sonra artık yeni bir Android projesi oluşturabiliriz. Bunun için File > New > Other seçeneği ile çıkan listeden Android Application Project seçeneğini seçiyoruz.
Bir sonraki ekranda projemizle ilgili çeşitli özellikleri girmemiz gerekecek. Buradaki seçeneklere göz atacak olursak;- Application Name : Uygulamanın adı. Cihazda uygulama adı olarak bu değer görünür.
- Project Name : Projenin adı. Bllekte proje dosyaları bu klasör altında görünür.
- Package Name : Uygulamanın dosyalarının saklanacağı paket adı. Bu uygulamaya özgü benzersiz bir ad olmalıdır. Aynı zamanda Google Play hesabında uygulamanızı tanımlayacağından oldukça önemlidir.
- Build SDK : Projenin derleneceği Android versiyonunu belirtir.
- Minimum Required SDK : Projenin çalışacağı en alt Android işletim sistemi versiyonunu belirtir.
Next düğmesine bastıktan sonra sizi aşağıdaki gibi bir ekran karşılayacaktır. Burada aslında çok fazla detaya girmeye gerek yok. Varsayılan olarak seçilen seçeneklerin işaretli kalmasında fayda var:- Create custom launcher icon: Uygulamanızın logosunu belirleyeceksiniz.
- Create activity: Uygulamanızın yazımınza başlamadan önce size otomatik olarak bir activity hazırlayacak.
- Mark this project as a library: Projeyi kütüphane olarka belirle.
- Create Project in Workspace: Projenizi mevcut çalışma alanınızda açar.
- Working Sets: Projenizi çalışma alanlarına ekleyebilirsiniz.
Next düğmesine basarak bir sonraki adıma geçtiğimizde uygulamanın simgeleriyle ilgili seçenekler gelecektir. Burada simgeyi bir imaj dosyasından yükleyebileceğimiz gibi Text seçeneği ile kendimiz de oluşturabiliriz. Buradaki diğer seçenekler;- Trim Surrounding Blank Space: Yazılı metinle çerçeve arasındaki boşluğu ayarlamanızı sağlar.
- Foreground Scaling: Metnin yerleştirileceği bölgeyi belirler.
- Shape: Burada simgeyi daire ya da kare olarak tanımlayabilirsiniz.
- Background Color: İkonun arka plan rengini belirler.
- Foreground Color: İkonun metin rengini belirler.
Burada gerekli ayarları yaptıktan sonra Next düğmesiyle bir sonraki aşamaya geçelim. Bu aşamada bizden uygulamanın tasarımıyla ilgili bilgiler istenecektir. Tabletleri hedefleyen bir uygulamanız varsaMasterDetailFlow tipini seçmenizi tavsiye ederiz. Bu şekilde
-
Eğer Home Premium kaldırırsa orjinal home premium yükle
-
-
Acer E1-570G
Lenovo E530c NZY7JTX
Dell Latitude E5530
Lenovo ThinkPad E530
-
reg kayıtlarını yedekle format at sonra tekrar kur
-
Apple’ın mobil işletim sistemi iOS’un yeni sürümünü çıkarmasıyla birlikte, daha eski modellerde performans kaybı gözlendi.
Eğer iPhone 4S kullanıyorsanız, Apple’ın yeni çıkardığı iOS 8 güncellemesini hemen kurmamak sizin için daha iyi bir seçenek olabilir. Çeşitli kaynaklardan gelen veriler, iPhone 4S’in bu yeni sürümde pek iyi performans sergilemediğini ortaya koyuyor. Apple bu yeni işletim sistemini ürettiği mobil cihazların pek çok modeliyle uyumlu olarak tanımlıyor. Ne var ki uyumluluk her zaman tek başına yeterli olmuyor.
Apple’ın iPhone 4S telefonu yaklaşık 3 sene önce piyasaya çıktı ve geçtiğimiz günlerde resmen satıştan kaldırılana kadar da popülerliğini korudu. Ne var ki 3 yıl teknoloji dünyasında hayli uzun bir zaman ve bu arada mobil işlemci teknolojileri de hayli yol aldı. Nitekim şirketin iPhone 4S modelinde kullandığı A5 işlemcisi, yeni çıkan iPhone 6 serilerinde kullanılan A8 işlemcisinin ancak yarısı kadar işlem gücüne sahip.
Tabii sorun tek başına işlemci gücü de değil, aradan geçen zamanda yeni işlemcilerin içine pek çok komut seti ve teknoloji girdi. Sonuçta mobil işlemcilerin son derece karmaşık ve çok sayıda parçayı üstünde barındıran System-on-Chip (SoC) donanımlar olduğu unutulmamalı. Bunun sonucu olarak iPhone 4S sırf yarıdan fazla performans kaybına uğramakla kalmıyor. Üstüne bir de yeni işletim sisteminin sunduğu Touch ID, AirDrop ve Open GL ES 3.0 gibi özellikleri de çalıştırmak mümkün olmuyor.
Bu yüzden iPhone 4S kullanıcıları en azından bir süre daha, tabii Apple zorunlu kılmaz ise, iOS 8 güncellemesini almayı ertelemeleri iyi olacaktır. Oluşan performans kayıplarının telefonu sinir bozacak ölçüde yavaşlatmasına Apple’ın bir ara güncelleme ile bir nebze olsun çare bulması mümkün olabilir. Öte yandan, iPhone 4S’in iki nesil geride kaldığını da dikkate almak ve belki de yakın bir zamanda telefon değiştirme ihtimalini hesaba katmakta da fayda var. Sonuçta hangi marka olursa olsun, üç yaşındaki bir telefonun yeni yazılımlar karşısında yavaşlaması biraz da kaçınılmaz bir olgu.
Bence ios 8 iphone 4s için düzenlenebilir ios 7 yeni çıktığında iphone 4s 'i mahfetmişti ama sonradan düzenlendi
alıntıdır -
Casper Pişmanlıktır. 2 senedir aldım garanti bittikten 1 hafta sonra bilgisayar bozuldu açtım leptobu içine daldım :D aç durmadan ctrl alt del yap benmkide öyle bi sorun olmuştu
-
metal ahşap beton olması lazım
-
Burda İlk Defa Böyle Bi Konu Gördüm :D
nette baktığım kadarıyla hep bu uc
[spoiler][/spoiler]
-
Eğer Hemen İşinizi Halledip Uygulamayı Kaldırırsanız Sorun Olmaz Fakat Girerseniz 1 gün sonra hesabınız kapatılır flood nedeniyle
-
Hackintosh Yedekleme Ve Geri YüklemeHackintosh sisteminizi olası çökmelere karşı hangi programlarla yedekleyip geri yükleyebileceğinizi bu yazımızda bulabilirsiniz.
Hackintosh’unuza ince ayar çekerken veya yeni bir sürüme güncellerken çeşitli hatalarla hatta sistem çökmeleriyle karşılaşabilirsiniz. Bu tip durumlar yeni kurulumlarda çok önemli olmasa da, bir süredir Hackintosh kullananlar için çokça verinin ve ayarın kaybedilmesi anlamına geliyor. Bu tip durumlara karşı hazırlıklı olmanın yolu ise aynı PC’de olduğu gibi yedekleme ve geri yüklemeden geçiyor.
YedeklemeBir süredir kullandığınız ve içinde bolca dosyanızın bulunduğu sisteminizin yedeğini almak, ileride yaşanabilecek sorunlara karşı alınabilecek en temel önlemdir. Aşağıdaki yazılımlar sayesinde Hackintosh’unuzun yedeğini alabilir, gerektiğinde aşağıda listeleyeceğimiz yazılımlarla geri yükleyebilirsiniz.
Time MachineApple’ın Mac sistemlere varsayılan olarak yüklediği Time Machine, normal koşullarda elle sisteminizin yedeğini almanızı sağlıyor. Yine Apple’ın bir diğer hizmeti Geçiş Yardımcısı ile son derece uyumlu çalışan Time Machine, kolay kullanımı sayesinde yedekleme işlemiyle fazla uğraşmak istemeyen kullanıcılar için birebir. Ancak Time Machine, işin detaylarına girmek isteyen kullanıcılara hayal kırıklığı yaratabilir. Time Machine’de eksik olan özellikleri ise Time Machine Editor adlı ücretsiz yazılımla kapatabilirsiniz.
SuperDuperTime Machine’in aksine boot edilebilir yedek imajları yaratabilen SuperDuper’ın ücretli ve ücretsiz sürümleri bulunmakta. Ücretsiz sürüm neredeyse bütün yedekleme özelliklerine sahip ancak zamanlanmış yedeklemeler için ücretli sürümünü satın almanız gerekmekte. SuperDuper ile oluşturduğunuz imajları Clover bootloader’da görebilir, Boot OSX from Backup seçeneği ile yedek imajınızı boot edebilirsiniz.
Carbon Copy ClonerSuperDuper gibi boot edilebilir yedekleme imajı oluşturabilen Carbon Copy Cloner, tam donanımlı bir yedekleme yazılımı isteyenler için birebir. Tabii tüm bu özellikleri 40$ gibi bir fiyata satın almanız gerekmekte. Aynı SuperDuper gibi Apple’ın Geçiş Yardımcısı ile mükemmel uyumda çalışan Carbon Copy Cloner, SuperDuper’a göre daha profesyonel bir yedekleme yazılımı isteyenler güçlü bir alternatif.
Rsync KomutuEğer yukarıdaki iki yazılıma para vermek istemiyorsanız alternatif olarak rsynckomutunu terminalde kullanabilirsiniz. Bu komut sayesinde, aynı yukarıdaki yazılımlar gibi tamamen boot edilebilir bir imaj yaratabilirsiniz. Rsync ile yedekleme yapmak için şu adımları izleyin:
- Disk İzlencesi’ne girin ve yedekleme yapacağınız diski Mac OS Genişletilmiş (Günlüklü) olarak formatlayın. Diskinize Yedek ismini verin.
- Terminali açarak şu komutu girin: sudo rsync -aAHXv /* /Volumes/Yedek –exclude={“.Spotlight-*/”, “.Trashes”, “/afs/*”, “automount/*”, “/cores/*”, “/dev/*”, “/Network/*”, “/private/tmp/*”, “/private/var/run*”, “/private/var/spool/postfix/*”, “/private/var/vm/*”, “/Previous Systems.localized”, “/tmp/*”, “/Volumes/*”, “/.Trash”}
- Eğer sistem, -exclude bölümünde bir bölümün bulunmadığına dair bir hata veriyorsa o bölümü komut satırından silin.
- Eğer sistemi birden fazla defa yedekleyecekseniz, önceki yedeği -delete komutu ile silin.
Olası bir sistem çökmesi durumunda üzülmeniz gereken bir şey kalmadı zira yedeklerimizi başarıyla aldık. Şimdi sıra bu yedekleri geri yüklemede. Apple’ın Geçiş Yardımcısı, yukarıda belirttiğimiz gibi neredeyse bütün yazılımlar ile alınan yedekleri desteklemekte. Bu sayede tek yapmanız gereken temiz bir OS X kurulumundan sonra Geçiş Yardımcısını çalıştırmak ve yedek imajınız ile birlikte verilerinizi geri yüklemek.
Clover İle Geri YüklemeApple’ın Geçiş Yardımcısına alternatif olarak Clover boot satırını kullanabilirsiniz. Ancak bu yöntem sadece SuperDuper veya benzeri yazılımlar ile boot edilebilir yedek imajı aldığınızda çalışmakta. Sistemizinizi yedekleme yaptığınız diskten boot edin. Disk İzlencesini kullanarak sisteminizin yüklü olduğu disk bölümünü formatlayın. Ardından komut satırına şunu girin:
sudo rsync -aAHXv /* /Volumes/<Yedekleri yükleyeceğiniz disk bölümünün adı> –exclude={“.Spotlight-*/”, “.Trashes”, “/afs/*”, “automount/*”, “/cores/*”, “/dev/*”, “/Network/*”, “/private/tmp/*”, “/private/var/run*”, “/private/var/spool/postfix/*”, “/private/var/vm/*”, “/Previous Systems.localized”, “/tmp/*”, “/Volumes/*”, “/.Trash”}
Bu aşamadan sonra sisteminizi normal bir şekilde ana sistem bölümünden boot edebilirsiniz.
-
Apzni Gönderebilirsin İster Özelden İster Buraya Ekle Yardımcı Olalım Sana...
Programda Eksik Gördüğüm Yerleri Sana Söyleyeyim
Öncelikle Bu Tarz Programda Taşınma Olayını Kapatman Gerek
Bunun İçin;
Project >Settings Bölümüne Girip Appearance Sekmesinin Altındaki Şu Bölümünden Tiki Kaldırmalısın.
Daha sonra Aynı Bölümün Biraz Altında Bulunan TaskBar Bölümünde Şu Ayarı Yapmanı Tavsiye Ederim
Bunları Yaparsan Daha İyi Olur...
Senin Verdiğin Programı Tek exe Olarak Şu Şekilde Yaptım İşini Görür Mü???
https://yadi.sk/d/41i1x7mPbYRtX
mesaj atmıştım bakarmısın ?
-
Geri Dönüşüm Kutusunu açtırmak için;
Shell.Execute("::{645FF040-5081-101B-9F08-00AA002F954E}", "open", "", "", SW_SHOWNORMAL, false)
neyse kısayol oluşturup docsa attım ama yinede teşekkürler
-
Dostum Şu Şekilde Build Etmen Lazım Tek exe İçin...
[spoiler][/spoiler]
o şekil yapınca resimleri çekmiyor benim projemde resimlere dayalı :D
-
Şunu Tek Exe Olarak Paketleyip Exe ye tıkladığımız gibi masaüstü olarak nasıl ayarlayabilirim veya siz yaparmısınız
http://s3.dosya.tc/server28/N4RttE/UBDesktop.rar.html
İsterseniz Apzinide Verebilirim
-
start shell:RecycleBinFolder şu kodu nasıl çalıştırabilirim butona tıklayınca
Veya Bunları
shell:RecycleBinFolder
(Depending on the OS and filesystem, the directory may be $Recycle.bin, Recycled, or Recycler.)
-
To open the Recycle Bin window (showing deleted objects on all drives):
C:\> start ::{645FF040-5081-101B-9F08-00AA002F954E}
or
C:\> start shell:RecycleBinFolder
or
C:\> start C:\$Recycle.bin
-
To list deleted objects on a specific drive:
C:\> dir /s/a <driveletter>:\$Recycle.Bin
-
explorer ::{645FF040-5081-101B-9F08-00AA002F954E}
- RUN
CMD
CD \$Recycle.Bin
-
-
AutoPlay Media Studio 8.3.0.0 | 50.1 MB
http://ul.to/d7blkino http://rg.to/file/10d41d6d1d7f56b7297a6b0ddf0c5c26/
AutoPlay Media Studio 8.3.0.0 Portable | 61.5 MB
http://ul.to/tabwqd65 http://rg.to/file/1a24fb320e1b1ce544fc0d293db6c17e/AutoPlay_Media_Studio_8.3.Port.rar.html
bunun portablesi dahamı büyük oluyor :D
- 1
-
Sence eksik yokmu???
-
Ams de klasör nasıl açabilirim
Örn: butona tıklayınca d:/GAME e:/Game kontrol ediyor hangi klasör mevcutsa orayı açsın -
Kendi arşivimden 662 örnek proje ;
https://www.mediafire.com/?9s1186e4f91inu5
șu Winrarı atabilirmisiniz
-
Ayarlar Mobil ağ erişim noktası düzenle yeni ekleAd : Vodafone LiveAPN : vfliveProxy : 212.65.136.226Bağlantı noktası : 9401Kullanıcı adı : vodafoneParola : vodafoneSunucu : AyarlanmamışMMSC : AyarlanmamışMMS proxy’si : AyarlanmamışMMS bağ. nokt. : AyarlanmamışMMS protokolü : WAP 2.0MCC : 286MNC : 02Kimlik doğrulama türü : Yok (ya da PAP veya CHAP seçiniz)APN tipi : defaultTekrar menü tuşu/kaydet de geri çık bu apn'yi seç. Vodafone Live seçtiysek Handleri açın ayar sayfası gelecek şöyle doldurun söylemediğim yerleri boş bırakın show start tikini kaldırınremove port tiki kaldırınAşağılara in Backquery : cep.vodafone.com.trProxy Type : Real HostProxy Server : m.vodafone.com.tren aşağı in save de gir sınırsız bedava internetin keyfini çıkar
İyi Kullanımlar.
rar deil siteye girişte şifre isterse umutbslnot:sadece internete girer google play store felan girmez facebook vs sayfaları java tarzındadır android tarzında deildipnot:kontürsüz girin yoksa sömürür faturalıysanız hiç girmeyin baya bi fatura gelirindirme hızı en az 150 kb/s dir ben diyarbakırdayım 450 kb/s indirme yapıyorumendipnot:Petrol Buldum :D :D :D :D :D :DYorumda Allternatif Vermeyin Link Kırılırsa Söyleyin Upload EderimÇalışmıyor Açılmıyor vs Boş Yorumlarınızı Kendinize Saklayın denedim çalışıyor ve şu an bunu kullanıyorumAyriyeten Rar Arşiv Olarak Ekte Verdim -
win 8 yazacaktım pardon oraya. ben bu bilgisayara 500 yakın format atmışımdır en sonda 1 ay önce maxtor ile hdd sıfırladım kökten sonra bi sistem kurayım dedim böle oldu anlamadım gitti
bende böyle bi sorunla karşılaşmıştım masaüstü pcde benimki windows xp kurarken tüm bölümleri silip yeni bölüm oluşturdum kurulmayınca hdd sıfırladım bidahada işletim sistemi kurmayınca teknik servise verdim onlar bişey yaptı bayada bi kazık oldu :D
-
1=)bilgisayarınız sıfırken hangi işletim sistemini kullanıyordu
2=)win 7 win7 demişsiniz :D
Android Uygulamasına Bildirim Göndermek
in Android
Posted · Edited by umutbsl
Android uygulamanıza uzaktan bildirim test vs göndermek için bir çok servis mevcut fakat ingilizce ve birçoğu paralı turkcell'in servisi bedava hemde ingilizce üye oluyoruz http://push.turkcell.com.tr/
bunu indirip uygulamamıza entegre ediyoruz sonra push.turkcell.com.tr den bildirim ve testlerimizi gönderiyoruz
https://github.com/Turkcell/PushNotification_android_sdk
Turkcell Push SDK Android Entegrasyon Kılavuzu Giriş
Turkcell Push SDK sayesinde Android uygulamalarınıza kolayca push bildirimlerini alabilme yeteneğini kazandırabilirsiniz. Bu doküman da bir Android uygulamasına Turkcell Push SDK entegrasyonunun nasıl yapılacağı anlatılmıştır.
SDK’nın Projeye Library Project Olarak Eklenmesi
Turkcell Push SDK’nın dağıtımı Android Library Project olarak yapılmaktadır. Source codelar derlenmiş olarak libs klasörünün altında bulunmaktadır. minSdkVersion olarak API Level 8kullanılmaktadır. Bunun sebebi google-play-services_lib library’sinin minSdkVersion olarak API Level 8’i kullanmasıdır.
SDK’nın bir uygulama eklenmesinin klasik bir Android Library Projesinin projeye eklenmesinden bir farkı yoktur. İlk önce Library’i eklemek istediğimiz projenin üzerine gelip sağ tıklıyoruz. Açılan pencereden projenin Properties’ine giriyoruz. Projenin properties’ine girdikten sonra solda bulunanAndroid tabına geliyoruz. Bu tabın en altında bulunan Add butonuna basıyoruz. Açılan penceredenPushNotificationSDK’yı bulup seçip Ok butonuna tıklıyoruz. Burada önemli olan projemiz ile library’inin aynı dosya dizininde bulunması gerektiğidir. Yoksa library eklemede problemlerle karşılaşılabilir. Ekledikten sonra Ok butonuna basıp Properties penceresini kapatıyoruz. Library projesini başarılı bir şekilde ekledikten sonra kendi uygulamamız içinde bulunan project.propertiesdosyasının en altına manifestmerger.enabled = true ifadesini ekliyoruz. Bunu yapmamızın sebebi library projesi içinde bulunan AndroidManifest.xml dosyası içinde bulunan değerlerin bizim uygulamamız içinde bulunan AndroidManifest.xml dosyası ile derleme esnasında birleştirilmesini sağlamaktır.
Turkcell Push Server Üzerinde Uygulamanın Oluşturulması
Uygulamanıza Turkcell Push SDK entegrasyonu yapabilmeniz için öncelikle Push Server üzerinde uygulama kaydı oluşturmalısınız. Bir Android uygulamasını Push Server’a kaydetmek için aşağıdaki bilgiler ile Push Server sorumlusuna başvurmanız gerekmektedir.
Alan İsmi
Alan Açıklaması
Uygulama Adı
Push Server üzerinde uygulamanıza vermek istediğiniz isim. Uygulamanızın birden fazla platformda yer alabileceğini düşünerek uygulama isminde platform adına da yer vermek faydalı olabilir.
Güvenlik Anahtarı
Turkcell PushServer tarafından otomatik oluşturulan bir SecretKey
GCM Api Key
https://cloud.google.com/console#/project sitesi üzerinden açılmış bir projenin Google Cloud Messaging for Android Api’sini enable ettikten sonra alınan API KEY değeri
Örnek değer aşağıdakine benzer bir değer:
AIzaSyCOb-sAb6yIydP3xVvL_Kmd1cTcXvmq27w
Paket Adı
Library Projenin eklendiği uygulamanın paket adı
Bu bilgiler ile birlikte uygulamanız oluşturulduğunda size Turkcell Android SDK Uygulama Numarasıbilgisi iletilecektir.
AndroidManifest Tanımlamaları
Uygulamamızın atılan push mesajlarından haberdar olabilmesi için AndroidManifest.xml dosyası içine bazı tanımlamaların yapılması gerekmektedir.
İlk önce eklememiz gereken kısım uygulama izinleridir. Bunu aşağıdaki şekilde yapıyoruz. Aşağıdapaketadı şeklinde yazılan yere kendi uygulamamızın paket adını yazmamız gerekmektedir.
İzinleri ekledikten sonra aşağıdaki receiver tanımlamalarını eklememiz gerekmektedir. Aşağıda paketadı ile belirtilen yerlere yine uygulamamızın paket adı bilgisini yazmamız gerekmetedir.eklediğimizpaket ile belirtilen yere de PushNotificationReceiver sınıfını uygulamamızda hangi paketin altına koyduysak oranın dizin adını vermemiz gerekmektedir. Atılan push mesajları PushNotificationSDK tarafından bu sınıfa gönderilecektir.
Örnek PushNotificationReceiver sınıfı aşağıdaki gibi olabilir. Burada collapse_key parametresi ile atılan push mesajın içeriğine ulaşılabilir. from parametresi ile atılan push mesajın hangi serverdan geldiğinin id’sine ulaşılabilir. Bu ID aslında bizim register olurken kullandığımız senderId parametresi ile aynıdır(SenderID sonraki kısımlarda anlatılacaktır). Bu parametrelerin haricinde uygulama bazında tanımlanan payload(PushServer sorumluları tarafından sizin isteğiniz doğrultusunda oluşturulabilir) parametrelerine aşağıdaki şekilde keylerini vererek ulaşabiliriz.
SDK Fonksiyonları
Turkcell Push SDK’nın en önemli sınıfı NotificationManager sınıfıdır. İşlemlerin hemen hepsi bu sınıfın üzerindeki static Instance özelliği üzerinde yapılmaktadır.
Ayarların Atanması
NotificationManager sınıfı üzerindeki fonksiyonlar çağırılmadan önce bu sınıfın gerekli bilgiler ile hazırlanması gerekmektedir. NotificationManager sınıfı init metodu aracılığıyla gerekli bilgileri kabul etmektedir. Ayarlar NotificationSettings sınıfı içerisinde tutulmaktadır. Örnek kullanımı aşağıdaki gibidir.
Buradaki ApplicationId, SecretKey ve SenderID değerleri belirtilmesi zorunlu alanlardır. Bu alanların boş olması durumunda init metodunda exception oluşacaktır.
NotificationSettings nesnesi ile sağlayabileceğiniz değerler ve açıklamaları aşağıdaki tabloda gösterilmiştir.
Alan Adı
Açıklaması
Zorunlu mu?
ApplicationId
PushServer üzerinde uygulamanız oluşturulduğunda size iletilen ApplicationId değeri.
Evet
SecretKey
PushServer üzerinde uygulamanızın oluşturulması için oluşturup yetkili kişiye bildirdiğiniz SecretKey değeri.
Evet
SenderID
SenderID parametresi Google Cloud Console’da oluşturulan projenin id’sidir. Örnek aşağıdaki url’deki kalın yazıyla belirtilmiş parametre
https://cloud.google.com/console#/project/838411778420
Evet
CustomId
Token dışında bir tanımlayıcı ID ile register olarak, yine bu ID üzerinden push atılabilmesini sağlayan parametre. (Ör: bir cihazı birden çok authenticate olmuş kullanıcının kullanbildiği durumlarda, kullanıcının değişmesi durumunda yeni bir kayıt göndermek üzere kullanılabilir)
Hayır
GenericParameter
Kayıt olurken kullanılacak herhangi bir tanımlayıcı parametre.
Hayır
Kayıt Olma veya Var Olan Kaydı Silme
NotificationManager nesnesine gerekli ayarlar sağlandıktan sonra Push bildirimleri alabilmek için yapılması gereken ilk işlem kayıt olmaktır. Push Server’a kayıt olmak içinNotificationManager.register metodu çağırılmalıdır. Register metodu içine RegistrationResultCallback tipinde bir listener almaktadır. Bu listener’ın 3 tane metodu bulunmaktadır. Bunlar onSuccess, onFailed ve onAlreadyRegistered metodlarıdır. Örnek kullanım aşağıdaki gibi olmalıdır. Bu metotların adında anlaşılacağı üzere başarılı kayıt işlemi gerçekleştiği zaman onSuccess metodu, başarısız bir kayıt işlemi gerçekleştiği zaman onFailed metodu, bu uygulama önceden kayıt olmuşsa onAlreadyRegistered metodu çalışmaktadır.
Not: onSuccess ve onFailed metotları RegistrationResultCallback dışındaki bütün listenerlarda ortak olan metotlardır. Bu metotların adı onSuccess ve onFailed metotlarıdır. Bütün işlemlerde hata alınması durumunda detaylı bilgi onFailed metodunun parametresi olan Exception sınıfınıngetMessage metodundan alınabilir.
Bildirim Kategori Listesinin Alınması
Push Server uygulama bazlı Push bildirim kategorileri oluşturma yeteneği sağlamaktadır. Bu yetenek sayesinde uygulamalar sadece belirli kategorilerdeki bildirimlere abone olabilmektedir. Örneğin bir haber uygulamasında kullanıcı sadece Spor kategorisindeki bildirimleri almak isteyebilir. Uygulamada mevcut kullanılabilir bildirim kategori listesini almak için NotificationManager.getCategories metodu çağırılmalıdır. Bu metotda parametre olarak GetCategoriesCallback tipinde bir listener almaktadır. Örnek bir kod bloğu aşağıdaki gibidir.
Bu callback sınıfının onSuccess metodunda bulunan CategoryListQueryResult sınıfının içindeCategory listesi tutulmaktadır. Category listesine getCategories metodu ile ulaşılabilir. Category sınıfının içinde sadece category’nin ismi bulunmaktadır. Bu isme de getCategoryName metodu ile ulaşılabilir.
Bildirim Kategorisine Abone Olma
Uygulama için tanımlanmış bildirim kategori listesi alındıktan sonra kullanıcıya bu kategorilere abone olabileceği bir arayüz sunabilirsiniz. Kullanıcıyı herhangi bir kategoriye abone yapmak içinNotificationManager.subscribeToCategory metodunu çağırmalısınız. Metot parametre olarakCategory nesnesi ve SubscribeToCategoryResultCallback tipinde listener almaktadır. Örnek bir kod bloğu aşağıdaki gibidir.
Başarılı cevap olarak CategorySubscriptionResult tipinde bir nesne dönmektedir. İsteğin açıklamasıgetResultDescription metodundan alınabilir.
Bildirim Kategorisi Aboneliğini Kaldırma
Kullanıcının herhangi bir bildirim kategorisine olan aboneliğini kaldırmak içinNotificationManager.unSubscribeFromCategory metodu çağırılmalıdır. Metot parametre olarakCategory nesnesi ve UnsubscribeFromCategoryResultCallback tipinde listener almaktadır. Örnek bir kod bloğu aşağıdaki gibidir.
Başarılı cevap olarak CategorySubscriptionResult tipinde bir nesne dönmektedir. İstediğin açıklaması getResultDescription metodundan alınabilir.
Bildirim Kategorisi Aboneliklerinin Alınması
Kullanıcın abone olduğu bildirim kategorilerinin listesini almak içinNotificationManager.getCategorySubscriptions metodunu çağırmalıdır. Metot parametre olarakGetCategorySubscriptionCallback tipinde bir listener almaktadır. Örnek bir kullanım aşağıdaki gibidir.
Bu fonksiyon da GetCategories metodu ile aynı tipte nesne dönmektedir. Metot geri dönüşleri aynıdır.
Bildirim Geçmişinin Alınması
Kullanıcıya o zamana kadar iletilmiş olan bildirim listesini almak içinNotificationManager.getNotificationHistory metodu çağırılmalıdır. Metot parametre olarak sayfa sayısı ve bir sayfadaki bildirim sayısını alır. Aşağıdaki örnek kod bloğunda her biri 15 bildirimden oluşan bildirim geçmişi sayfalarından ikinci sayfa isteniyor. Ayrıca 3. bir parametre olarak daGetNotificationHistoryResultCallback tipinde bir listener almaktadır. Örnek kod bloğu aşağıdaki gibidir.
Bu listenerın onSuccess metoduna NotificationHistoryResult tipinde bir nesne vardır. Bildirimlere bu nesne üzerindeki getNotificationMessages metodu ile ulaşabilirsiniz. Bu metot NotificationMessagetipinde bir liste döner. NotificationMessage sınıfının içinde bulunan getContent() metodu ile atılan push mesajının içeriğine ulaşabilirsiniz. getId metodu ile atılan push mesajının id’sine ulaşabilirsiniz.getCreatedDate metodu ile atılan push mesajının ne zaman atıldığı bilgisine ulaşabilirsiniz.getPayloadParams metodu ile push mesajında gönderilen payLoad parametrelerine ulaşabilirsiniz. Bu metot cevap olarak bir HashMap döner. Bu HashMap tipindedir. Atılan key ve value değerlerine aşağıdaki şekilde ulaşılabilirsiniz.
Kullanım Klavuzu