Android “Uygulamayı Puanla” Butonu Ayarlama

Android uygulamaları içinde en çok kullanılan kod bloklarından biri de kullanıcının uygulamayı puanlamak için kullanıcıyı Google Play Store sayfasına yönlendiren kod blokudur. Aşağıdaki kodu, kopyalayıp yapıştırarak kullanıcınızı uygulamanızın Google Play sayfasına yönlendirebilirsiniz.

Uri uri = Uri.parse("market://details?id=" + getPackageName());
            Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
            // To count with Play market backstack, After pressing back button,
            // to taken back to our application, we need to add following flags to intent.
            goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |
                    Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
                    Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
            try {
                startActivity(goToMarket);
            } catch (ActivityNotFoundException e) {
                startActivity(new Intent(Intent.ACTION_VIEW,
                        Uri.parse("http://play.google.com/store/apps/details?id=" + getPackageName())));
            }




SQLite Insert Hızlandırma

Üzerinde çalıştığım Android uygulamasında yaşadığım bir sıkıntıyı ve çözümünü burada sizinle paylaşmak istedim.

Zararlı Bağlantılar isimli uygulamamızda siber dünyada tespit edilen zararlı linkleri ve kategorilerini paylaşıyoruz. Veriler sürekli güncellendiğinden internetten verileri alıp local veri tabanına kaydedilmesi gerekiyor. Aldığımız kayıt sayısı yirmi binleri aştığından standart SQLite insert komutu ve foreach döngüsü ile 10 dakikayı aşan bir süre alıyordu. İnternetten yaptığım araştırma sonucunda aşağıdaki kod ile insert işlemini yapınca yaklaşık 10 saniye kadar bir zaman aldı.

String sql = "INSERT INTO table (number, nick) VALUES (?, ?)";
db.beginTransaction();
 
SQLiteStatement stmt = db.compileStatement(sql);
for (int i = 0; i < values.size(); i++) {
    stmt.bindString(1, values.get(i).number);
    stmt.bindString(2, values.get(i).nick);
    stmt.execute();
    stmt.clearBindings();
}
 
db.setTransactionSuccessful();
db.endTransaction();[




Android Ekranlar (Activity) Arası Geçiş

İkinci Activity Geçiş

Yapılan yazılımların hemen hemen hepsi birden fazla ekran içermektedir. Android yazılımları da bu kuraldan müstesna değillerdir. Android yazılımında ekranlar activity olarak adlandırılır ve aşağıdaki kodda ikinci activity açmayı ve açılan yeni activiye veri gönderip almayı öğreneceğiz:

Activity başlatmak için faydalanacığımız sınıf Intent sınıfıdır. Intent nesnesinin kullanmak için Intent sınıfını projemize import etmemiz gerekmektedir.

import android.content.Intent;

Activity açmak için Intent nesnesini tanımlayıp startActivity(intent) metodu ile activity başlatıyoruz.

Intent intent = new Intent(this, MesajGosterActivity.class);
startActivity(intent);

Bu işlem sonucunda ikinci activity başlamış olur. İkinci ekran açılırken en sık yapılan işlemlerden biri de ikinci ekrana veri gönderilmesidir. Bu işlem için Intent nesnesinin putExtra ve getXXXX metotlarından faydalanıyoruz. Veri göndermek için:

Intent intent = new Intent(this, AcilacakEkran.class);
intent.putExtra("anahtar", veri);
startActivity(intent);

Kodunu kullanıyoruz. Açılan yeni activity nesnesine gelen veriyi almak için de onCreate metodu içerisinde:

Intent intent = getIntent();
string data = intent.getStringExtra("anahtar");

Kodu ile de activitye gelen string değeri alırız.




Android Yazılımı İçerisinde Reklam Vermek – 3

Geçiş Reklamları

Merhaba arkadaşlar bu yazımızda Android yazılımımıza verebileceğimiz bir diğer reklam çeşidi olan geçiş reklamlarını göreceğiz. Geçiş reklamları özellikle sayfa veya bölüm geçişlerinde kullanabileceğiniz ve tam sayfa kaplayan reklamlardır.

Geçiş reklamı eklemek için ilk iş olarak daha önceki yazımızda anlattığımız AdMob hizmeti üzerinde hesap ve uygulama açmamız gerekmektedir. İkinci adım olarak da “Geçiş” türünde bir reklam birimi oluşturmamız gerekmektedir. Reklam birimi oluşturmayı da serimizin ikinci yazısında işlemiştik. Reklam birimi oluşturma ve kütüphanelerin projeye eklenmesinde sonra ki işlemler aşağıdaki gibidir.

private InterstitialAd mInterstitialAd;

Şeklinde sınıf genelinde geçerli bir geçiş reklam nesnesi tanımladıktan sonra:

mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("REKLAM BİRİMİ KİMLİĞİNİZ");

kodu ile reklam birimi nesnemizi tanımlıyoruz. Banner reklam biriminde olduğu gibi burada da dikkat etmemiz gereken şey, testlerimizi AdMob geçiş reklamları için belirlediği test birim kimliği kullanmamız. Test ID değeri:

ca-app-pub-3940256099942544/1033173712

Tanımlamaları yaptıktan sonra da:

mInterstitialAd.loadAd(new AdRequest.Builder().build());

kod satırı ile nesnemize reklam talep ederek yükleme yapıyoruz. Yükleme işlemi yaptıktan sonra da:

mMyButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        } else {
            Log.d("TAG", "Reklam henüz yüklenmedi.");
        }
    }
});

Örnek kodu ile reklamı ekrana gösteriyoruz. Her gösterimden sonra bir sonraki gösterim için yeni reklam talebinde bulunmamız gerekmektedir. Bunun için reklam biriminin kapanış olayından sonra yeni reklam isteminde bulunuyoruz.

  mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            // Reklam kapandığında yeni reklam istemi.
            mInterstitialAd.loadAd(new AdRequest.Builder().build());
        }

    });




Android Yazılımı İçerisinde Reklam Vermek – 2

Tekrardan merhaba arkadaşlar, dünkü yazımızda AdMob servisi üzerinde uygulama oluşturmayı işlemiş ve bu yazımızda da uygulamamıza ilk reklamı ekleyeceğimiz yazmıştık.

Reklamları uygulamamızda gösterebilmek için öncelikle AdMob üzerinde reklam birimleri oluşturmamız gerekmektedir. Reklamları bu birimler üzerinden göstereceğiz. Aşağıda bir banner reklam birimi oluşturmayı ekran görüntüleri ile adım adım gördükten sonra uygulamaya eklemeyi göreceğiz.

Reklam birimi oluşturma

“BAŞLAT” butonuna tıklayarak oluşturabileceğimiz reklam birimleri görebileceğimiz ekrana geçiş yapıyoruz.

Oluşturabilecek Reklam Birimleri

Biz konumuz olan “Banner” birimine “SEÇ” deyip birim ayarlarını gireceğimiz ekrana giriş yapıyoruz.

Banner Reklam Birimi Ayarları

Reklam birimine vereceğimiz adı girdikten sonra “REKLAM BİRİMİ OLUŞTUR” butonuna tıklayarak reklam birimine ait kimlik değerlerini alacağımız ekrana geçiş yaparak reklam birimi oluşturmayı tamamlıyoruz.

Reklam Birimine Ait Değerler

Android Uygulamamıza Reklamın Eklenmesi

Bundan sonraki adımlarımızda da uygulamamıza reklamı eklemeyi işleyeceğiz:

Proje seviyesinde build.gradle dosyamızı açıp maven kütüphanesini aşağıdaki gibi ekliyoruz. Ekleme yapacağımız yer maven kısmıdır.

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Maven kütüphanemizi ekledikten sonra app seviyesinde build.gradle dosyamızda da dependencies altına aşağıdaki gibi kütüphaneyi ekliyoruz.

implementation 'com.google.android.gms:play-services-ads:15.0.1'

Kütüphanemizi de ekledikten sonra manifest dosyamıza reklam için meta datamızı ekliyoruz. Ekleyeceğimiz alan meta-data alanıdır. [ADMOB_APP_ID] yerine AdMob’tan aldığımız uygulama kimliğimizi yazıyoruz.

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="[ADMOB_APP_ID]"/>
    </application>
</manifest>

Bütün işlemlerden sonra uygulamamızın açılış ekranında bir defaya mahsus reklam servisini oluşturuyoruz. Bu işlemi onCreate metoduna yazabiliriz.

// Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
        MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");

Şimdi sıra geldi layout dosyamıza reklamı eklemeye;

 <com.google.android.gms.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/res-auto"
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            ads:adSize="BANNER"
            ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
        </com.google.android.gms.ads.AdView>

Kodu ile banner reklamımızı uygulamamıza eklemiş oluyoruz. ads:adUnitId alanına AdMob’tan aldığımız reklam birimi kimliğini yazıyoruz. Burada dikkat etmemiz gereken nokta testlerimizi yaparken AdMob’un banner için belirlemiş olduğu test reklam birimi kimliğini kullanmamız gerektiğidir. AdMob test kimliği: 
ca-app-pub-3940256099942544/6300978111

Ve geldik reklamı yüklemeye:

AdView mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);




İş Saatleri Takip Uygulaması

Merhabalar,

Sitemizin genelinde de dikkat çektiği üzere öğrenciliğimden bu yana sürekli .Net uygulamaları ile haşir neşir oldum ancak bu sene farklı bir alanda Android alanında çalışmalara başlamaya karar verdim. Ve Android sisteminde ilk uygulamalarımdan birini daha yayına almış bulunmaktayım. Bu yazılım ile günlük işe başlama ve çıkış saatlerinizi takip altında tutabilirsiniz.

Aşağıdaki ekranlarda uygulama hakkında temel bilgiler yer almaktadır.

  1. Uygulama ana ekranı

     

  2. Giriş çıkış kayıt ekranı

    Kayıt için tarih seçme işlemi

     

    Kayıt için saat seçme işlemi

     

  3. Rapor Ekranı

     

    Sunulan Raporlar

    Yazılımı bu linkten indirebilirsiniz:
    https://play.google.com/store/apps/details?id=com.saitorhan.workinghours




Team Viewer İle Bilgisayardan Android Telefon Kontrolü

Uzak bağlantı kontrol uygulamalarından en yaygını olan Team Viewer’a 12. versiyonundan sonra gelen en heyecan verici özelliklerinden biri çapraz platform ile mobil cihazları da kontrole imkan vermesi olmuştu.

Youtube üzerinden yayınladığımız video ile team viewer kontrolü için yapıkması gereken işlemleri anlatmaktayız. Videoya aşağıdaki linke tıklayarak ulaşabilirsiniz.

https://www.youtube.com/watch?v=rgzxRY2hLBE

 




WhatsApp’ta İlginç Durum

Merhaba, tekrardan bir WhatsApp ipucuyla beraberiz.

Denememekle beraber yeni öğrendiğim WhatsApp ipucunda, sizi engelleyen kişilerin engellerini aşmanın yolunu belirtiyor.

Yapmanız gereken WhatsApp “Ayarlar > Hesap > Hesabımı Sil” menüsünü takip ederek hesabınızı tamamen sildikten sonra yeni hesap açmaktır. Bu işlemden sonra sizi engelleyen kişilerin engelleri iptal olacaktır. Tabi bu işlemi yaptıktan sonra üyesi olduğunuz bütün gruplardan üyelikleriniz düşecektir.




Tablete WhatsApp Yükleme

Anlık mesajlaşmanın en çok kullanılan uygulamarının başında yer alan WhatsApp bilindiği üzere sadece telefonlarda çalışmak üzere tasarlanmış bir uygulamadır. Ancak akıllı telefona sahip olmayan ve WhatsApp uygulamasının Android tabletinde kullanmak isteyen kişiler de mevcuttur.

Google Play üzerinden yüklenmek istendiğinde, uygulama cihazınızı desteklememektedir, uyarısı alınmaktadır. Şimdi WhatsApp’ı tablete yüklemenin yolunu açıklayalım.

Öncelikle https://www.whatsapp.com/android/ adresinden WhatsApp apk yükleme dosyasını indirip tablete kopyalanır. Bu linke tabletten girildiğinde Play Google uygulamasına otomatik yönlendirebilir bu durumda Chrome ayarından masaüstü sayfasını talep et seçeneği seçilip öyle linke gidilir.

İndirilen bu apk dosyası çalıştırıldığında WhatsApp uygulaması tablete yüklenmiş olacaktır.

Tablete yüklenen WhatsApp’ta kişilerin görünebilmesi için kişilerin tablette kullanılan hesabın Google Kişiler’ine kaydedilmiş olması gerekmektedir.

Burada dikkat edilmesi gereken, uygulamayı telefonunuzda zaten kullanıyorsanız tablette aktifleştirildikten sonra telefonunuzda çalışmayacağıdır.