30 Mayıs 2016 Pazartesi

Google-Maps GoogleMap.OnMapClickListener Arayüzü

Şöyle yaparız.
GoogleMap.OnMapClickListener clickListener=new GoogleMap.OnMapClickListener() {
  @Override
  public void onMapClick(final LatLng pos) {...}

};
Bu nesneyi şöyle ekleriz.
map.setOnMapClickListener(clickListener);

Google-Maps GoogleMap.OnMarkerDragListener Arayüzü

Şöyle yaparız.
// we define the object to invoke when the marker is dragged
map.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener()
{
  @Override
  public void onMarkerDragStart(Marker arg0)
  {...}
    
  @Override
  public void onMarkerDragEnd(final Marker pos)
  {...}

  @Override
  public void onMarkerDrag(Marker arg0)
  {...}
     
});

15 Mayıs 2016 Pazar

CircleOptions

Giriş
Bu sınıf fluent interface şeklinde kullanılır. Şöyle yaparız.
LatLng center =...; double radius = ...;

circle = mMap.addCircle(new CircleOptions()
             .center(center)
             .radius(radius)
             .strokeWidth(2)
             .strokeColor(mStrokeColor)
             .fillColor(mFillColor));
Constructor
Şöyle yaparız
new CircleOptions();
center metodu
Şöyle yaparız
LatLng center = ...;
center(center)
fillColor metodu
Şöyle yaparız
fillColor(mFillColor)
radius metodu
Şöyle yaparız
double radius = ...;
radius(radius)
strokeColor metodu
Şöyle yaparız
strokeColor(mStrokeColor)
strokeWidth metodu
Şöyle yaparız
strokeWidth(2)


20 Mart 2016 Pazar

Ringtone Sınıfı

constuctor
Şöyle yaparız.
Uri ntfy = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), ntf);
play metodu
Şöyle yaparız.
r.play();



14 Mart 2016 Pazartesi

Toast Sınıfı

Giriş
Şu satırı dahil ederiz.
import android.widget.Toast;
Toast bilgilendirme metinleri göstermek için kullanılır. Toast nesnesi make() metodlarından birisini kullanarak yaratılır. Daha sonra ekranda göstermek için show() metodu çağrılır.

En Basit Kullanım Şekli
Toast şöyle kullanılır. 3. parametre olan LENGTH_LONG bilgilendirme penceresinin ne kadar süre gösterileceğini belirtir.

Toast.makeText(MainActivity.this,"Checking...",Toast.LENGTH_LONG).show();
Bir başka örnek
Toast.makeText(getApplicationContext(),
                        "Passwords do not match!",Toast.LENGTH_LONG)
                        .show();
Başka Thread
Toast normalde GUI thread'inden çağrılır. Başka bir thread içinden çağırmak için şöyle yaparız.
@Override
public void onXYZ(...) {
  runOnUiThread(new Runnable() {
    public void run() {
      Toast.makeText(...).show();
    }
  });
}
constructor
Şöyle yaparız.
Toast toast = new Toast(getApplicationContext());
cancel metodu
Ekranda birden fazla toast göstermek iyi değil. Öncekini iptal etmek gerekir. Bu durumda toast nesnesini saklamamız lazım gelir. Önceli toast nesnsi önce cancel() ile iptal edilir. Yeni toast nesnesi yaratılır ve show() çağrılır.
void toast(final String message) {
  mToast.cancel();
  mToast = Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT);
  mToast.show();
}
setDuration metodu
Şöyle yaparız.
toast.setDuration(Toast.LENGTH_LONG);
setGravity metodu
Toast penceresinin hangi konumda açılacağını belirtmemize yarar. Normalde Toast penceresi belirli bir konumda açılır. Eğer bir başka bileşene göre konumu ayarlamak istersek şöyle yaparız. Önce bileşenin konumunu buluruz.
buttonView.getLocationOnScreen(location);
Daha sonra Toast pencereminizin konumunu ayarlarız.
toast.setGravity(Gravity.TOP|Gravity.LEFT,buttonView.getRight()+5, 
location[1]-10);
setView metodu
Şöyle yaparız.
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
                (ViewGroup) findViewById(R.id.toast_layout_root));
...
toast.setView(layout);
show metodu
Şöyle yaparız.
toast.show();



6 Mart 2016 Pazar

MediaStore Sınıfı

Media Sınıfı
Bu sınıfa şöyle erişiriz.
MediaStore.Images.Media
insertImage metodu
Elimizde bir dosya ismi olsun.
String fileName = ...;
Şöyle yaparız.
Media.insertImage(getContentResolver(), fileName, "Screen", "screen");

28 Şubat 2016 Pazar

TextWatcher Sınıfı

Giriş
Bu sınıfı EditText ile kullanılır.

İskeleti
TextWatcher ile şöyle kullanılır.
edt.addTextChangedListener(new TextWatcher() {

  @Override
  public void onTextChanged(CharSequence s, int start, int before, int count) {
  }

  @Override
  public void beforeTextChanged(CharSequence s, int start, int count,int after) {
  }

  @Override
  public void afterTextChanged(Editable s) {
  }
});
TextWatcher hem kod içinde şöyle metin atanınca
edt.setText("this is a test");


hem de kullanıcı metin girince tetiklenir.

afterTextChanged metodu
Metin değiştikten sonra en son haline erişebiliriz. 

Karakter sayısını sınırlamak istersek şöyle yaparız.
public void afterTextChanged(Editable s) {
  editText.setText(s.toString().substring(5));
}
Metnin http ile başlamasını istersek şöyle yaparız.
@Override
public void afterTextChanged(Editable s) {
  if(!s.toString().contains("http://")){
    editText.setText("http://");    Selection.setSelection(edt.getText(), edt.getText().length());
  }
}