27 Eylül 2016 Salı

UsbManager Sınıfı

Giriş
Bu sınıfı kullanmak için şöyle yaparız.
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbManager;
constructor
Şöyle yaparız.
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
getDeviceList metodu
UsbDevice nesnesi döner. USB cihazlarını bulmak için kullanılır. Şöyle yaparız.
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();

while(deviceIterator.hasNext()){
  UsbDevice device = deviceIterator.next();  ...
}
openDevice metodu
Cihazları dolaşırken aradığımızı bulursak onu açmak için şöyle yaparız.
UsbDeviceConnection connection = manager.openDevice (device);





UsbDevice Sınıfı

Giriş
Şu satırı dahil ederiz.
import android.hardware.usb.UsbDevice;
getDeviceId metodu
Şöyle yaparız.
int did = device.getDeviceId();
getDeviceName metodu
Şöyle yaparız.
String s = device.getDeviceName();
getVendorId metodu


Şöyle yaparız.
int vid = device.getVendorId();
getVersion metodu
Şöyle yaparız.
String version = device.getVersion();


24 Eylül 2016 Cumartesi

Google Map

Giriş
Google Map ile bir sürü sınıf geliyor. Bazıları şunlar.
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
CameraPosition.Builder Sınıfı
CameraPosition üretmen için Factory sınıfı. Bu sınıf yerine CameraUpdateFactory sınıfını kullanmak daha kolay.
CameraPosition camPosition = new CameraPosition.Builder
().target(new LatLng("...","...")).zoom(15).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition))
GoogleMap Sınıfı
GoogleMap Sınıfı yazısına taşıdım.

LatLng Sınıfı
constructor
Şöyle kurulur.
double latitude = ...; double longitude = ...;
LatLng latLng = new LatLng(latitude, longitude);

Marker Sınıfı
Marker Sınıfı yazısına taşıdım.

PolyLine Sınıfı
setLineWidth metodu
Şöyle yaparız.
Polyline polyline = ...;polyline.setWidth(10);
remove metodu
Polyline eklendikten sonra saklanmalıdır.
Polyline polyline = map.addPolyline(...);
Daha sonra şöyle silinir.
polyline.remove();


Google-Maps GoogleMap.OnCameraIdleListener Arayüzü

onCameraIdle metodu
Map yakınlaşma/uzaklaşma (zoom) işlemini bitirince çağrılır. Şöyle yaparız.
map.setOnCameraIdleListener (new GoogleMap.OnCameraIdleListener() {
  @Override
  public void onCameraIdle() {
  ...
  }
}

18 Eylül 2016 Pazar

Display Sınıfı

constructor
Şöyle yaparız.
WindowManager wm = ...;
Display display = wm.getDefaultDisplay();
getHeight metodu
Şöyle yaparız.
int h = display.getHeight();
getMetrics metodu
Şöyle yaparız.
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
getWidth
Şöyle yaparız.
int w = display.getWidth();




WindowManager Sınıfı

getDefaultDisplay metodu
Şöyle yaparız.
WindowManager wm = ...;
Display  display =   wm.getDefaultDisplay();

12 Eylül 2016 Pazartesi

SMSMessage Sınıfı

SMS Okuma
Bir BroadcastReceiver tanımlanır. Kodu şuna benzer.
public class SmsBroadcastReciever extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {

    Bundle bundle = intent.getExtras();
    
    Object[] sms = (Object[]) bundle.get("pdus");    
    for (Object sm : sms) {
      SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) sm);
      String smsBody = smsMessage.getMessageBody();
      String senderNumber = smsMessage.getOriginatingAddress();      ...
   }
}
Eğer aynı sınıf hem okuma hem de gönderme için kulllanılıyorsa ikisi şöyle ayırt edilir.
public class SmsBroadcastReciever extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    String MSG_TYPE = intent.getAction();
    if (MSG_TYPE.equals("android.provider.Telephony.SMS_RECEIVED")) {
      ...
    } else if (MSG_TYPE.equals("android.provider.Telephony.SEND_SMS")) {
     ...
    } 
  }
}
createFromPdu metodu
Şöyle yaparız.
byte [] pdu = ...;
SmsMessage sms = SmsMessage.createFromPdu (pdu);
getDisplayMessageBody metodu
Şöyle yaparız.
String message = sms.getDisplayMessageBody();
getMessageBody metodu
Şöyle yaparız.
String message = sms.getMessageBody();
getOriginatingAddress metodu
Şöyle yaparız.
String senderNumber = sms.getOriginatingAddress();
getProtocolIdentifier metodu
Şöyle yaparız.
sms.getProtocolIdentifier();
getStatusOnIcc metodu
Şöyle yaparız.
sms.getStatusOnIcc();
getStatusOnSim metodu
Şöyle yaparız.
sms.getStatusOnSim();
Manifest 
BroadcastReceiver şöyle şöyle etkinleştirilir.
<receiver android:name="com.example.abc.SmsBroadcastReciever">  <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
  </intent-filter>
</receiver>
Şu izinlere gerek vardır.
<uses-permission android:name="android.permission.RECEIVE_SMS"
        android:required="true"/>
<uses-permission android:name="android.permission.READ_SMS"
        android:required="true"/>