Ionic admob reklamı eklemek

Merhabalar,

En önce ionic projesinde terminal penceresi açıkken aşağıdaki komut ile Cordova admob eklentisini projemize ekleyelim.

cordova plugin add cordova-plugin-admobpro

Ana app.js dosyasında bulunan modülde bulunan “run” fonksiyonunun içinde ki $ionicPlatform.ready olayına (event) aşağıdaki fonksiyonları ekleyelim.

if (ionic.Platform.isAndroid()) {
        admobid = { // for Android
          banner: 'ca-app-pub-1190155571292316/9128837037'
        };

        if (AdMob)
          AdMob.createBanner(
            {
              adId: admobid.banner,
              position: AdMob.AD_POSITION.BOTTOM_CENTER,
              autoShow: true,
            }
          );
      }

admobid içerisindeki banner bölümünü kendi reklam biriminiz ile değiştiriniz. position bölümüde görmek istediğiniz yere göre değiştiriniz.

Bu eklenti ile alakalı daha fazla belgeleri buradan bulabilirsiniz.

Not: Sadece android ve ionic sürüm 1.7.10 ile denenmiştir.

Selamlar

Ubuntu Mysql yeniden yapılandırma

Merhabalar,

Aşağıdaki komut ile Mysql servisini yeniden yapılandırabilirsiniz.

sudo dpkg-reconfigure mysql-server-5.5

Bu aşamada yeniden yönetici şifresi girmenizi isteyecektir.

Not: Sizin Mysql sürümünüz ne ise onu giriniz. Burada örnek olarak anlatılan 5.5 sürümüdür.

Selamlar

Java heap hafızasını kalıcı olarak artırmak

Merhabalar,

Java heap hafızasını kalıcı olarak artırarak eclipse, maven ve diğer araçlarla yaptığınız derlemelerde hafıza hatasının önüne geçebilirsiniz.

Error java.lang.OutOfMemoryError: GC overhead limit exceeded

Öncelikle sadece çalıştığınız pencerede hafıza artırımı için aşağıdaki komutu çalıştıralım.

export _JAVA_OPTIONS="-Xmx2g"

Kalıcı olarak artırmak için ise “/etc/environment” dosyasına aşağıdaki satırı ekleyip kaydedelim ve sistemi yeniden başlatalım.

_JAVA_OPTIONS="-Xmx2g"

Selamlar

“XMLHttpRequest cannot load … No ‘Access-Control-Allow-Origin’ header is present on the requested resource” uyarısı nasıl aşılır

Merhabalar,

Ionic framework gibi framework’ler ile uygulama geliştirirken sürekli deneme yapmak ve konsol loglarına bakmak için chrome tarayıcı kullanmak isteyebilirsiniz. Fakat bu sefer json verisi bulunan web servislerden json verisi almaya çalışırken aşağıdaki gibi bir hata ile karşılaşırsınız.

XMLHttpRequest cannot load http://somesite/webservice. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.

Bu hata güvenlik uyarısıdır. Bunun için CORS eklentisini buradan google chrome’a ekleyebilirsiniz. Kurduğunuz anda eklenti size nasıl bu özelliği açıp kapatacağınıza rehberlik edecektir.

Denemeyi yaparken özelliği aktifleştirip, diğer zamanlarda kapatmanız güvenlik açısından yararınıza olacaktır.

Selamlar

 

Android – SQLite tek tırnak problemi

Merhabalar,

Android’de SQLite ile veritabanı işlemleri yaparken tek tırnak (‘) ile sorgu çalıştırdığınızda aşağıdaki gibi hata alabilirsiniz.

android.database.sqlite.SQLiteException: near "u": syntax error (code 1): , while compiling: SELECT COUNT FROM Kuyular WHERE name='AA Kuyu'su';

Tek tırnak veritabanı için özel bir karakterdir. Android’de String tipinde ki bir veriyi veritabanına kaydedecekseniz “DatabaseUtils.sqlEscapeString” fonksiyonunu kullanınız ki bu hatayla karşılaşmayın.

"SELECT COUNT(*) FROM " + DATABASE_TABLE + " WHERE " + COLUMN_NAME + "=" + DatabaseUtils.sqlEscapeString(kuyu) + ";"

SQLite işlemleri yapmak için veri eklediğiniz yerleri “?” kısımları ile belirtipte sorgu yapabilirsiniz.

String selectStatement = "SELECT " + COLUMN_KUYU + " FROM " + DATABASE_TABLE + " WHERE " + COLUMN_NAME + "= ?";

        Cursor cursor = database.rawQuery(selectStatement, new String[] {kuyu});

Kütüphane “?” işareti ile belirtilen yerlere değer geleceğini bildiği için kendisi veritabanı özel karakterlerini kontrol ederek işlem yapmaktadır. Böylelikle ekstra bir fonksiyon çağırmanıza gerek kalmaz. Bu alışkanlığı edinirseniz unutma probleminin de önüne geçmiş olursunuz ve bu hatayı bir daha almazsınız.

Kolay gelsin

Log4j yahoo e-posta yapılandırması

Merhaba,

Aşağıdaki gibi bir yapılandırma dosyası hazırlayarak kodlarınızda oluşan hataları e-posta adresinize gönderebilirsiniz.

<appender name="AdministratorEmail" class="org.apache.log4j.net.SMTPAppender">
		<param name="BufferSize" value="512" />
		<param name="SMTPHost" value="smtp.mail.yahoo.com" />
		<param name="SMTPProtocol" value="smtps" />
		<param name="SMTPPort" value="465" />
		<param name="smtp.starttls.enable" value="true" />
		<param name="Debug" value="true" />
		<param name="SMTPUsername" value="*********************@yahoo.com" />
		<param name="SMTPPassword" value="*******************************" />
		<param name="From" value="*************************" />
		<param name="To" value="******************** />
		<param name="Subject" value="WebService Log" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="[%d{ISO8601}]%n%n%-5p%n%n%c%n%n%m%n%n" />
		</layout>
		<filter class="org.apache.log4j.varia.LevelRangeFilter">
			<param name="LevelMin" value="error" />
			<param name="LevelMax" value="fatal" />
		</filter>
	</appender>

LevelRangeFilter ile e-posta adresinize gelmesini istediğiniz logların seviyesini giriniz. Örneğimizde mimimum “error” düzeyindekiler mail adresimize gelsin diyoruz.

Bu yapılandırmanın çalışması için “root” bölümümüze “Administrator” adlı yapılandırmayı eklemeliyiz. Örneği aşağıdadır.

<root>
	<level value="INFO" />
	<appender-ref ref="console" />
	<appender-ref ref="file" />
	<appender-ref ref="AdministratorEmail" />
</root>

Selamlar