Hybrid ile Read File

Herkese selamlar,

     Dosyadan yazma ve okuma işlemlerini ilk c++ ile gerçekleştirdim. O zamanlar bana oldukça zor ve karmaşık gelen bir işlemdi. Zamanla kolay olduğunu anladım ve farklı diller ile gerçekleştirmeye başladım.

     Bugünde sizler için dosyadan okuma işlemini hybrid ile yapacağız. Dosya işlemlerinin mantığını anladığınız takdirde zor olmadığını sizlerde anlayacaksınız.

Evet Başlayalım !!

    Tabii ki sayfa ilk açıldığında arka planda load fonksiyonlar hemen devreye girmeli ve okuma işlemini hazır hala getirmeli. İşte load fonksiyonlar.
    
     function FileSystemFail(evt) {
        alert('Error:' + evt.error.code.toString());
    }
   
    function GetFileEntryReader(fileEntry) {
        fileEntry.file(ReadFile, FileSystemFail);
    }
    function ReadFile(file) {//Okuma işlemini gerçekleştiren fonksiyon.
        var reader = new FileReader();
        reader.onloadend = function (evt) {
            viewModel.txtValue(evt.target.result);
            alert('Okuma tamamlandı');
        };
        reader.readAsText(file); 
}

    Yukarıdaki fonksiyonlarda bilmediğiniz örneğin FileReader gibi terimler varsa öncelikle dosya okuma işlemini araştırınız.

    Butona basınca okuma işlemini gerçekleşmesi için de  (elbette ki en önemli nokta hybrid için bu kısım oluyor) aşağıdaki fonksiyonu yazarız. Buradaki application1 yerine kendi proje isminizi yazmanız gerekli.

 onButtonReadClick: function (e) {
            if (Application1.fileSystem == null) {
                alert('Dosyaya ulaşılamadı');
                return;
            }
            Application1.fileSystem.root.getFile("satirarasicode.txt", { create: true }, GetFileEntryReader, FileSystemFail);
        }


    Biraz daha bakıp araştırırsanız yukarıdaki kodların çok işe yarar olduğunu anlayacaksınız. Şimdilik bu kadar...

Görüşmek üzere....

"Use Strict " Mode Nedir ?

     



     Devextreme kullanmaya başladığım sıralarda .js sayfasının en başında "use strict" yazısıyla karşılaştım. ve silme ihtiyacı hissetim. ve sildiğimde herhangi bir hata almadım. O yüzden her gördüğüm yerden sildim. Bence bir sorun yoktu ve bu yazı çok gereksizdi...

     Oysa amacı çok büyükmüş !! Bizleri belli kurallar çerçevesinde kod yazmaya ve bug oluşmasını minimuma indirgemeye çalışıyormuş. Ayrıca oluşan hataları kolayca ayıklamamıza yardım ediyor. javascript kod yazım/kullanım kod standardı olan Ecmascript’in Ecmascript5 versiyonu ile Strict Mode (SM) kullanıma sunuldu. "Use strict" bir komut değildir.

Tüm fonksiyonlar için geçerli olması isteniyorsa fonksiyonların dışına yazın.
"use strict";
function test() {
}
function testiki() {
}

 Tek bir fonksiyon için geçerli olması isteniyorsa fonksiyonun başına yazın.

function test() {
"use strict";
}

    Neden “use strict” kullanmalıyız ? Çünkü  JavaScript’i daha güvenilir hale gelir. Normalde hata olarak algılanmayan  kötü syntax ları  hataya çevirir. Bu durumda onu değerli kılar. Tercih tabii ki size ait. Bana soracak olursanız ben kullanmayı tercih ediyorum. 

Görüşmek üzere...


Devextreme ve Css





Herkese selamlar,

     Devextreme ile tasarım yapmak düşündüğünüz kadar kolay değil. Çünkü ios ve android telefonlar için farklı css dosyaları mevcuttur.  Bu yüzden yaptığınız tasarımlar elbette birbirinden farklı olmak zorunda. Tabii ki bazı ortak tasarımlar mevcut. Buton tasarımından textbox tasarımına kadar farklılıklar olduğunu göreceksiniz. Sizde benim gibi tasarım ile  yani css ile uğraşmaktan zevk alıyorsanız bu iş pekte canınızı sıkmamıştır.

     Devextreme içerisinde birden fazla css dosyası içermektedir. Fakat en önemli css dosyaları ebetteki android ve ios tasarımını içeren dosyalar.  İçerisinde her tool için css içermekte . Basıldığında nasıl olsun, basıldıktan sonra nasıl olsun vs her adım içermekte. Bunu incelemek zor olabilir tabii ki vakit alan bir işlem . Bunun için tabii ki Google incele özelliğiyle ilgili alanın css bilgilerine ulaşabilirsiniz.


     Peki ben ekstra css yazamaz mıyım ? dediğiniz duyar gibiyim. Tabii ki sizde yeni bir css dosyası açıp istediğiniz sayfaya yeni tasarımlar ekleyebilirsiniz. Unutmamalı ki html5 kullandığınız için css kullanımı oldukça esnek. Ayrıca css dışında bootstrap de kullanabilirsiniz.

     Devextreme css denemeleri yapmamız  için harika bir çalışma alanı yapmamış.Sizlere linki veriyorum . Buradan çalışma yaparak yaptıklarınızı kopyalayarak projenizde kullanabilirsiniz.

Bol css çalışmalı günler dilerim :)




Samsung Galaxy Note 8

     
     Ben hala note 3 ile oynarken samsung galaxy note 8'i tanıttı bile :) / bayağı geride kaldım galiba/ Tabi yazılım geliştiricisi olarak- hemde mobil- geride kalmak  olmazdı.  O yüzden tüm note 8 özelliklerini gelin beraber öğrenelim.


     Galaxy Note 8 depolama tarafında bizi doyuracak gibi . 6 GB RAM'e sahip olan note 8 , depolama alanı 64 ,128 , 256 GB olmak üzere üç farklı seçenek ile karşımıza çıkıyor. Fakat ülkemizde cihazın sadece 64 GB'lık versiyonu satışa sunulacak. Ayrıca microSD destekli.

     Android 7.1.1 Nougat işletim sistemi ile satışa çıktı. Önümüzdeki dönemde yayınlanacak olan Android 8.0 Oreo güncellemesi tabi ki alarak daha da işlevsel hale gelecek. 

      Samsung kullanıcıların çift arka kamera beklentisini note8 ile cevapladı. 

Arka Kamera: 12 Megapiksel f/1.7 ve 12 Megapiksel f/2.4, OIS

Ön Kamera: 8 Megapiksel f/1.7


     Peki renkleri nasıl olacak? Bazı kullanıcılar için önemli detaylardan biri de bu. Gece Siyahı, Orkide Grisi ve Altın Sarısı renkleri ile 18 Eylül'de raflarda yerini alacak. 


     Ya fiyatı nedir ? Herkesin duymaya korktuğu cevap ise 4999 TL fiyat.  24 Ağustos - 18 Eylül tarihleri arasında ön siparişler alınacak.Ön sipariş veren kullanıcılara 500 TL'lik aksesuar hediye kuponu ,19 Eylül - 6 Ekim tarihleri arasında sipariş veren kullanıcılara ise 300 TL'lik aksesuar hediye kuponu dağıtılacak.

Ekran işlemci ve boyut- ağırlık özellikleri ise 

Ekran: 6.3 inç, QHD+, 2960 x 1440 piksel, Super AMOLED, Gorilla Glass 5

İşlemci: Exynos 8895 ( 4 x 2.5 GHz Exynos M2 + 4 x 1.7 GHz Cortex-A53 )

Boyut ve ağırlık: 162.5 x 74.8 x 8.6 mm - 195 gram bu şekilde.

     Ve son bir özellik olarak da 1.5 metre derinlikte suyun altında 30 dakika boyunca kalabiliyor akıllı telefonumuz.

     Hayırlı olsun :)





Android Oreo Geldi

Android O' nun ismi hakkında çok yazılıp çizildi ve tahminler Oreo olacağı yönündeydi. Ve öylede oldu. Google söz verildiği gibi Güneş tutulmasının olduğu gün açıklandı , tahminler doğru çıktı isim Android Oreo. 







Peki bu Android Oreo'yu oreo yapan nedir ? İşte cevabı !

Android Oreo (Android 8.0 ) 3D Touch desteği ile uygulamanın üzerine basılı tutulduğunda kullanıcılar birden fazla işlemi yapabilecek. Yeni bildirim noktaları ile bir nevi iOS'u bize hatırlatacak. (İOS hatırlatması pek hoş değil lakin) Bu özellik sayesinde herhangi bir uygulamadan gelecek bildirimleri kategorilerine göre durdurabilirsiniz. Picture in picture özelliği ile de video izlemek için ekranı ikiye bölmeye ihtiyaç duymayacaksınız. Yaşasın tam ekran uygulamalar yaşasın küçük ekranda oynayan video :) Ayrıca emoji severler içinde Google, yeni sürüm ile emoji'leri de baştan aşağıya yeniledi. 
Oreo'nun en güzel özelliklerinden biri de telefon cebinizdeyken arka plan servislerinin ve konum güncellemelerinin durdurarak uzun pil ömrü sunması. Bu demektir ki Android en iyi sürümü ile karşımıza çıktı. Bitti mi bitmedi !! Uyarlanabilir simgelerle birlikte simgelerinizin şeklini istediğiniz gibi seçebilirsiniz ki buna aşırı sevindim neydi arkadaş 3.parti tema uygulamalar :D Kolay bir kullanım sağlayacak olan oreo'da en önemli özellikler bunlar diyebiliriz.

Oreo, ilk olarak Pixel ve Nexus telefonlara sunulacak. Ardından ise diğer cihazlara ...

Android Oreo güncellemesini alacak bazı telefonların listesi;
  • Google Pixel
  • Google Pixel XL
  • Google Pixel 2
  • Google Pixel C
  • Google Nexus Player
  • Samsung Galaxy S8
  • Samsung Galaxy Note 8
  • Samsung Galaxy S8 Plus
  • Samsung Galaxy S7 Edge
  • Samsung Galaxy S7
  • Samsung Galaxy A3 (2017)
  • Samsung Galaxy A5 (2017)
  • Samsung Galaxy A7 (2017)
  • Samsung Galaxy A8 (2017)
  • Samsung Galaxy C9 Pro
  • Samsung Galaxy J7v
  • Samsung Galaxy J7 Max (2017)
  • Samsung Galaxy J7 Pro (2017)
  • Samsung Galaxy J7 Prime
  • Samsung Galaxy A9 (2016)
  • Samsung Galaxy A7 (2016)
  • Samsung Galaxy A5 (2016)
  • Samsung Galaxy A8 (2016) (A810F, A810DS)
  • Samsung Galaxy Note FE
  • LG G6
  • LG G5
  • LG V30
  • LG V20
  • LG V10
  • Nokia 3
  • Nokia 5
  • Nokia 6
  • Nokia 8



Array push & Local Storage

Herkese selamlar,

Local storage da arrayı tutmak ve eklentiler yapmak istiyor ve yapamıyorsanız doğru adrestesiniz.

Öncelikle local storage nedir  

Local Storage yani Yerel Depolama Local Storage mantığı kalıcı çerezler gibidir. Veriler telefon hafızasında ya da bilgisayar da depolanır. Kullanıcı verileri silene kadar ya da tarayıcı silinene kadar veriler silinmez. Local Storage özelliği tabiki Javascript ile kullanılıyor.

Şimdi array ile kullanımını öğrenelim ! (Tabiki verilerimizi json' a çevirerek kullanacağız.)




function ekle() {
    
    var arrays = JSON.parse(localStorage.getItem("tümveriler"));
   if(arrays == null)arrays = [];
    var textbox1 = document.getElementById("baslik").value;
    var girilen_deger = {
        "title": textbox1
    };
    localStorage.setItem("girilen_deger", JSON.stringify(girilen_deger));
    arrays.push(girilen_deger);
    localStorage.setItem("tümveriler", JSON.stringify(arrays));
};

Devextreme ile Share butonu


Uygulamanızda paylaş butonu yapmak istiyorsanız sadece Devextreme kullanarak bunu yapmanız mümkün değil maalesef. Bunun için  phonegap kullanmanız gerekli. Peki bu phonegap nedir diyorsanız Phonegap nedir adlı makalemizi buradan okuyabilirsiniz.

Hadi başlayalım !

Sayfamızda bir fonksiyon oluşturuyoruz. Ve içerisne bu kodu ekleriz.


window.plugins.share.show({subject: 'Hi there!', text: 'Main message here',
imagePath: '  '}, success, fail);function success() {}function fail(error) {}
Fonksiyonumuzu daha sonra onClick özelliği ile butona bağlıyoruz.

İşte bu kadar basit ...

Herkese iyi çalışmalar

Robotik Kodlama Nedir? Günümüzde Neden Bu Kadar Önemli? (Basit LED Örneğiyle)

  Robotik kodlama, yazılım kodlarını fiziksel donanım (motor, sensör, LED gibi bileşenler) ile birleştirerek robotların veya akıllı cihazlar...

En Çok Okunanlar