9 Ekim 2014 Perşembe

Windows Phone 7-8 | GPS Kullanımı

Merhaba, Bu yazımda Windows Phone uygulama geliştirirken GPS’den nasıl enlem – boylam bilgisi alacağımızı anlatacağım.
Windows Phone cihazlarda uygulama yazmanın avantajlarından biri çok hızlı bir şekilde yeni proje oluşturabilmeniz, ve projenize özellik katabilmeniz.
Bu makalede GPS’i nasıl projemize ekleyebileceğimiz yazılı. Projenizin isterseniz xaml sayfasının cs’sine isterseniz harici oluşturduğunuz cs’e entegre edebilirsiniz.
Ben locationcs diye bir class oluşturdum ve onun içinde öğreniyorum. böylece ihtiyacım olunca class’ı çağırıp location’umu alabiliyorum.
Lokasyon değerlerimi string olarak enlem ve boylam adı alınta 2 global değişkene atıyorum. dilerseniz get metodu ile bu değişkenleri alabilirsiniz.



using System.Device.Location; //ekstra gerekli olan bu!
namespace ProjeClasslar.classes
{
public class locationcs
{
public locationcs() {
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
watcher.MovementThreshold = 20;
watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
watcher.Start();
}
GeoCoordinateWatcher watcher;
string accuracyText = “”;
string enlem = “”;
string boylam = “”;
private void StartLocationService(GeoPositionAccuracy accuracy)
{
watcher = new GeoCoordinateWatcher(accuracy);
watcher.MovementThreshold = 20;
watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
watcher.Start();
}
void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => MyStatusChanged(e));
}
void MyStatusChanged(GeoPositionStatusChangedEventArgs e)
{
}
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
Deployment.Current.Dispatcher.BeginInvoke(() => MyPositionChanged(e));
}
void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate> e)
{
enlem = e.Position.Location.Latitude.ToString(“0.000″);
boylam = e.Position.Location.Longitude.ToString(“0.000″);
//bu noktada locationunuz belirlenmiş ve global değişkenlerden enlem ve boylama atılmış olmakta.
} } }
Tip1: Örnekte getlocation dediğinizde location class’ı oluşturduğu andaki locationu size verecektir.
Tip2: System.Device.Location referansını eklemeyi unutmayın;  Bende bu referans şurada: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone71\System.Device.dll
Kaynakça

JSP ve CSS birleştirme

Tasarımsal olarak her geçen gün zenginleşen websitelerimiz megabaytlarca CSS ve JS dosyalarını yanlarında getiriyorlar. Bu dosyalar olmadan nerdeyse hiç bir işe yaramayan sitelerimiz, bu dosyaların çok olmasında da yavaş çalışıyor. Tüm CSS ve JS’lerden sadece ihtiyacımız olan parçaları alıp tek css’de birleştirsek nasıl olur?
image
Bugün Yahoo TR veya Sabah.com.tr gibi Türkiye’nin popüler sitelerinde bile onlarca CSS ve JS aynı anda yüklenmeye çalışıyor. Yeni yapılan nerdeyse her websiteleride böyle olacaktır.
Birkaç ay önce, Jasig’in geliştirdiği uPortal üzerinde uğraşırken; mevcut CSS ve JS’ler içinde kullanılan kodları ayırıp tek CSS-JS’e dönüştürüp tek dosya haline getiren; böylece hem dosya sayısını, hem o dosya sayısı kadar dosyayı tek tek gidip server’dan almayı, hemde gereksiz ve iki kere yazılmış kodların oluşturduğu gereksiz kısmı atan ve yeni bir JS-CSS oluşturan ve bunu kullanan bir sistem gördüm. Sistem çok güzel ve verimli çalışıyordu.
Javascript_icon.svg
Jasig bu alt yapıyı neyle sağladı bilmiyorum ama kendi projelerimize entegre edebileceğimiz bir kütüphane ile de aynı işlemi gerçekleşebileceğimizi Muharrem Tac Hocamın Blog’undaki şu yazı ile öğrendim.  Yazıda bir Eclipse-JSP projesine bu işlemin nasıl uygulanacağını çok ayrıntılı bir biçimde anlatıyordu. Yazıya bakmanızı tavsiye ederim.

Developer Ortamı
uPortal’da yaşadığım sorun; developer ortamında çok sık debug ettiğimiz için işlemin yavaşlaması ve her seferinde tekrar oluşturması idi. Bundan dolayı projenin sonları veya relase yakın aşamasında yapılmasını tavsiye ederim.
Alternatifler (Stackoverflow sitesinden alıntı)
  • CSSTidy: CSS parser and optimizer
  • Dust-Me Selectors: Firefox add-on that can find unused CSS selectors
  • minify: a PHP app that combines, minifies and gzips your site’s CSS and Javascript
  • mod_deflate: the Apache module you should be using to gzip your content
  • Page Speed: Firebug extension (like YSlow) that checks for various website optimization techniques, but can also minify your CSS for you
  • YUI Compressor: Java tool to minify Javascript and CSS
Ayrıntılı Arama Kelimesi: “java JS/CSS optimization”
Ayrıntılı Bilgi :http://code.google.com/p/granule/
Kaynakça

Js de sayfa yönlendirme

16)JS’de sayfa YönlendirmeScript Tag’i içinde

Js klavyeden basılan tuşu algılama

15) JS’de Klavyede basılan tuşu algılama
<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js”></script&gt;
<script type=”text/javascript”>
document.onkeydown = keyKontrol;
function keyKontrol(key){
var keyKod;
keyKod = key.which;
if(keyKod == 32){
alert(‘Enter tuşuna bastınız.’);
}else{
alert(keyKod);
}
}
</script>
//http://bcakir.com/javascript-ile-klavye-tuslari.html

SQL TR karakter Problemi

6) SQL’de TR karakter Problemi
SQL yapı’dan ayarları utf8-general-ci olarak değiştirseniz TR karakter sorunu ortadan kalkıcaktır
7)Tarayıcı adres penceresinde bilgilerin gözükmemesi
<form action=”index.jsp” onsubmit=”return kadikontrolForm()” method=”post”>
8)PHP charset eklemek
header( 'Content-type: text/html; charset=ISO-8859-9' );
9)Joomla DB create hatası
Changing ‘TYPE=MyISAM’ to ‘ENGINE = MyISAM’
10) Resmin Arka Planını Transparan yapma
 Pixresizer Programında. Resimleri .png uzantılı kaydedin, transparan olacaktır.11) PhpmyAdmin şifre değişimi
config.inc.php ‘e girilir
$cfg['Servers'][$i]['password'] = ‘ ‘; satırındaki ‘ ‘ içi düzeltilir

Jsp türkçe karakter problemi

4)Request’de NULL’a düşmemek için
(gonder butonun ismi) ( char’i if’in içindede yaparak işlemi hızlandırabilirsiniz) (Çalışmazsa; bazı bilgisayarlarda charAt(0) olarak deneyin, bilgisayarınızın dili ve jdk sürümüne göre farklılıktan kaynaklı)
 String gonder = request.getParameter(“gonder”);
String gonder2 = (gonder + ” “);
char gondertest = gonder2.charAt(4);
if (gondertest == bos) {
out.println(“bu ilk girişiniz”);
} else {
else’den sonra normal işlemlerinize devam edebilirsiniz.
5)JSP’de TR karakter problemi
UTF-8 ile türkçe karakterleri yazınızda kullanabilseniz de, input giriş çıkışı yaparken türkçe karakterleri tanımayacaktır. yani mysql’e bir girdi yapmanız gerekti ve bunu form ile almaya kalkarsanız üşİ fln sorun oluşturacaktır. eğer sayfanızın en üstündeki (meta datanın içinde) charset’i “ISO-8859-9″ yaparsanız sorunun çözüldüğünü göreceksiniz.

Programlamadan Küçük Notlar

1) JSP’den class çağırma

Jsp’de başka bi class veya onun metodunu çağırırken yapılması gereken

packagename.classismi nesne = new packagename.classismi();
nesne.medot();
packagename’yi unutmayın.
2) Driver import
Mysql gibi bir driver bütünü kullanıyor olabilirsiniz bunu Netbeans projects/projeismi klasöründeki build klasörüne kopyalayıp, netbeans ekranından libraries(kütüphaneler) bölümünden add libraries deyip almazsanız kodlarınız çalışmayacaktır (http 500 hatası verir) kullandığınız dış kütüphaneleri import etmeyi unutmayın
3)HTML’de Yönlendirme
<meta http-equiv=”refresh” content=”0;url=http://amungen.wordpress.com”>
(0 olan kısmı saniyeyi verir kaç saniye bekleyeceğini, 0 ise direk aktarır)