Thursday 26 July 2012

Android Telefonunuzdan Mesaj Gönderme

Merhaba,

Bu yazımda Android platformunu kullanarak nasıl mesaj gönderebileceğinize değineceğim.

Alttaki kod blogu işinizi görecektir.

package com.android.Sms;

import android.app.Activity;
import android.app.PendingIntent;
import android.app.ProgressDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.gsm.*;
import android.telephony.cdma.*;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class TSms extends Activity{
     Button btnSendSMS;
     EditText txtPhoneNo;
     EditText txtMessage;
     public ProgressDialog pd;
    
     private void sendSMS(String phoneNumber, String message)
     {       
         String SENT = "SMS_SENT";
         String DELIVERED = "SMS_DELIVERED";
 
         PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
             new Intent(SENT), 0);
 
         PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
             new Intent(DELIVERED), 0);
 
         //---when the SMS has been sent---
         registerReceiver(new BroadcastReceiver(){
             @Override
             public void onReceive(Context arg0, Intent arg1) {
                 switch (getResultCode())
                 {
                 case Activity.RESULT_OK:
                     Toast.makeText(getBaseContext(), "SMS sent",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                     Toast.makeText(getBaseContext(), "Generic failure",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_NO_SERVICE:
                     Toast.makeText(getBaseContext(), "No service",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_NULL_PDU:
                     Toast.makeText(getBaseContext(), "Null PDU",
                             Toast.LENGTH_SHORT).show();
                     break;
                 case SmsManager.RESULT_ERROR_RADIO_OFF:
                     Toast.makeText(getBaseContext(), "Radio off",
                             Toast.LENGTH_SHORT).show();
                     break;
             }
         }
     }, new IntentFilter(SENT));
       //---when the SMS has been delivered---
         registerReceiver(new BroadcastReceiver(){
             @Override
             public void onReceive(Context arg0, Intent arg1) {
                 switch (getResultCode())
                 {
                     case Activity.RESULT_OK:
                         Toast.makeText(getBaseContext(), "SMS delivered",
                                 Toast.LENGTH_SHORT).show();
                         break;
                     case Activity.RESULT_CANCELED:
                         Toast.makeText(getBaseContext(), "SMS not delivered",
                                 Toast.LENGTH_SHORT).show();
                         break;                       
                 }
             }
         }, new IntentFilter(DELIVERED));       
 
     
         SmsManager sms = SmsManager.getDefault();
         sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);       
     }
    
    
  public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.tabviewsms);
  
     pd = new ProgressDialog(this);
     pd.setMessage("Isleminiz Yapiliyor....");
     pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
     pd.setMax(100);
     pd.setIndeterminate(false);
     btnSendSMS = (Button)   findViewById(R.id.btnSendSMS);
        txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);
        txtMessage = (EditText) findViewById(R.id.txtMessage);
       
        btnSendSMS.setOnClickListener(new View.OnClickListener()
        {
     public void onClick(View v)
     {
     String phoneNo =  txtPhoneNo.getText().toString();
     String message =  txtMessage.getText().toString();
   
   
     if(phoneNo.length()>0 && message.length()>0)
     {
       sendSMS(phoneNo, message);
     }
    else
      Toast.makeText(getBaseContext(), "Lutfen Gsm No veya Mesaj Alanini Bos Birakmayiniz !!!", Toast.LENGTH_SHORT).show();
    }
  });
     }
  }
Kodunuzu yazdiktan sonra AndroidManifest.xmş dosyanızda alttaki izinleri tanımlamanız gerekmektedir.

<
uses-permission android:name="android.permission.SEND_SMS"></uses-permission>

Teşekkürler
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>

Wednesday 11 July 2012

Android Spinner Kullanimi

Merhaba,

Android ortamında kod yazıyorsanız, muhtemelen Spinner ( Drop Down) komponentini kullanma ihtiyacı hissedebilirsiniz.

Alttaki kod parçası ile uygulamanıza bir spinner ekleyerek, nimetlerinden faydalanabilirsiniz :)


Umarım  faydali bir makale olmuştur.

Sevgi Saygi
Fahrettin

Thursday 17 May 2012

Weblogic Error..."got exception 'READ_ERROR_FROM_SERVER [os error=0, line 853 of ../nsapi/URL.cpp]: Unexpected EOF reading HTTP status - failover request based on Idempotent flag', referer:" error solution :)

Symptoms

Intermitent issue been logged in Apache log file. This happens with different resources from WLS - it happens with HTTP GET/PUT/POST.
"READ_ERROR_FROM_SERVER [os error=0, line 841 of ../nsapi/URL.cpp]: "Unexpected EOF reading HTTP status - failover request based on Idempotent flag"

Complete error message as below :
[Wed Dec 29 10:41:06 2010] [error] [client xxx.xxx.xx] ap_proxy: trying GET /pl at backend host 'xxx.xx.xx.xxx/9010; got exception 'READ_ERROR_FROM_SERVER [os error=0, line 841 of ../nsapi/URL.cpp]: Unexpected EOF reading HTTP status - failover request based on Idempotent flag', referer: http://xxx.xxx/2396879/zahnzusatz_160x600.swf

Weblogic : 10.3.0 - 10.3.3
Apache Verison : 2.2.3-16.29.2

Note : There wont be any exception log in the WLS log file.
Cause
Cause :

Running with old apache plugin.

Solution
Solution :

From the exception its clear that the connection is getting terminated at the backend server unexpectedly but also after a while the connection fails to be established.
Apply the latest apache plugin bundled either with 10.3.4 or 10.3.5.
or
You can also download WLSPlugin1.1-11gR1PS3.zip from http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html.

Wednesday 29 February 2012

Java ile Plsql'i karşılaştırıyoruz...

Merhaba,

Bu yazımda Oracle üzerinde genel hatları ile java ile plsql'i karşılaştırıyor olacağım.

Plsql yapısal olarak blok yapısı ile sınırlıdır.Plsql'deki blok yapısına göz atacak olursak;

1- Değişkenler belirtildiği alan,
2- Çalıştırılabilir komut alanı,
3- Hata yönetimi alanı

Olan yapısal bir kod blogundan ibarettir. Bu üç alanı barındıran örnek plsql blogu ise;

declare

begin
<çalıştırabilir komut alanı>
exception

end;

Java'ya baktığımızda, plsql'e göre çok daha küçük ama bir o kadar fonksiyonel bir kod kümesine sahiptir. Blok kavramı java'da ({ ... }) oluşturulan gruptur.

Örnek Java blogu :

if (sart)
{
// sart ==true ise çalıştırılabilir kodlar alanı
}
else
{
// sart ==false ise hata yönetimi alanı
}

Üstteki java kod blogu, plsql ile kıyaslandığında, çok daha büyük bir blogun yanlızca bir kısmı olacaktır.

Plsql komutları ( begin - end ) ile sınırlandırılmış, Java blokları ise küme parantezleri ( { } ) ile sınırlandırılmıştır. Küme parantezleri ayrıca, kapsanan ayrı kod bloklarını ayırmak ve koşul ifadelerinin ( if - else ) başlangıç ve bitişini göstermek içinde kullanılır.

Plsql ve Java arasındaki bir diğer farkta değişken tanımında öne çıkmaktadır.
Plsql'de değişken tanımları en başta yapılmak zorunda iken örnek;
declare

begin

blokları arasında yapılırken Java'da gerek görülen yerde tanımlama yapılabilmesidir. Bu da kod yazarken flexibility sağlar.

Bu bir giriş yazısı olduğundan diğer farklara bir sonraki yazıda değinmeye devam edeceğim.

Teşekkürler...

Monday 13 February 2012

Unable to render /framework/skeletons/wlsconsole/window.jsp

Merhaba,

Weblogic 12c 'de alttaki gibi bir ekran görüntüsü ile karşılarsanız, tek yapmanız gereken dil ayarını ingilizce'ye çevirmek :)



Sevgiler
Fahrettin

Wednesday 4 January 2012

Diplomasi Böyle Yapılır :)

Minik köpek, bir bakmış ki karşıdan bir leopar geliyor ve belli ki günlük yiyeceğini arıyor.


"Şimdi başım dertte" ,diye düşünmüş. Etrafına bakınmış, az ilerde yerde kemik parçalarını görmüş. Hemen arkasını leoparın geldiği yere dönerek kemikleri yavaş yavaş kemirmeye başlamış, bu arada da arkadaki hareketi izlemeye çalışıyormuş.


Arkadan yaklaşan Leopar tam saldıracakken minik köpek kendi kendine konuşmaya başlamış; -Bu yediğim ne kadar lezzetli bir leoparmış.


Acaba etrafta böyle lezzetli bir leopar daha var mıdır? Bu sözleri duyan leopar bir anda donmuş kalmış ve en yakınındaki ağaca tırmanarak dalların arasına saklanmış.


İçinden; "Tam zamanında kurtuldum, yoksa bu köpeğe yem olacaktım" diye düşünmüş leopar. Tüm bunlar olup biterken bir başka ağacın üstündeki bir maymun olanları izliyormuş. Bildiklerini kullanarak bundan sonra leopardan kurtulabileceğini düşünmüş.


Leoparın yanına giderek neler oldugunu anlatmış. Leopar köpeğin yaptıklarına öğrenince çok sinirlenmiş ve maymuna "Atla sırtıma, gidip şunu yakalayalım" demiş. Ancak minik köpek neler olduğunu ve leoparın sırtında maymunla birlikte süratle kendisine yaklaştığını fark etmiş.


"Şimdi ne yapacağım!!!" diye düşünürken asla kaçmaya teşebbüs etmemiş. Bunun yerine arkasını leoparın geldigi yöne dönerek, kemikleri kemirmeye devam etmiş.


Tam leopar köpeğe saldıracakken, köpek yine kendi kendine konuşmuş; -Bu aptal maymun da nerede kaldı? Yarım saat önce bir leopar daha getirsin diye gönderdim, hala haber yok!


İşte diplomasi böyle birşey... Yapabiliyorsan, hızlı düşün, sakin ol, güçlü görün ve düşmanını kendi silahı ile yen.

Sevgiler...