ANDROID STUDIO PROGRAMLAMA GR 10 Hafta r Gr

  • Slides: 24
Download presentation
ANDROID STUDIO PROGRAMLAMA GİRİŞ 10. Hafta Öğr. Gör. Mevlüt İNAN

ANDROID STUDIO PROGRAMLAMA GİRİŞ 10. Hafta Öğr. Gör. Mevlüt İNAN

 10. 1. Android Studio Wifi Kullanımı Android Studio’da kablosuz internet erişimlerini sağlayan wifi'nin

10. 1. Android Studio Wifi Kullanımı Android Studio’da kablosuz internet erişimlerini sağlayan wifi'nin çalışmasıyla ilgilidir. Akıllı telefonlarda kablosuz internet bağlantısı erişiminde wifi verir. Android Studio'da wifi kontrolü sağlanarak işlemler bir toggle button ile gerçekleşir. Toggle button of ve on şeklinde 2 kontrol mekanizması olan button’dur. Activity_main: <Relative. Layout xmlns: android="http: //schemas. android. com/apk/res/android" xmlns: tools="http: //schemas. android. com/tools" android: layout_width="match_parent" android: layout_height="match_parent" tools: context=". Main. Activity" >

<Toggle. Button android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="@string/a" android: id="@+id/toggle. Button" android: layout_align. Parent.

<Toggle. Button android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="@string/a" android: id="@+id/toggle. Button" android: layout_align. Parent. Bottom="true" android: layout_center. Horizontal="true" /> </Relative. Layout> Java Kodları : Açıklamaları kodların yanında verilmıştır. package com. mevlutinan. uygulamam; import android. bluetooth. Bluetooth. Adapter; import android. content. Context; import android. content. Intent; import android. graphics. Bitmap; import android. media. Media. Recorder; import android. net. Uri; import android. net. wifi. Wifi. Manager; import android. os. Bundle; import android. app. Activity;

import android. provider. Media. Store; import android. view. View; import android. widget. Button; import

import android. provider. Media. Store; import android. view. View; import android. widget. Button; import android. widget. Check. Box; import android. widget. Toast; import android. widget. Toggle. Button; public class Main. Activity extends Activity { //Wifi managerdan modem değişkeni alıyoruz. Wifi. Manager modem=null; @Override protected void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); set. Content. View(R. layout. activity_main); /*Toggle. Button’u bulup aktif edilir. Şayet on bölümündeyse seçiliyse wifi aç metoduna geçilir ve wifi Açılır. Of bölümünde ise wifi kapat metod çağırıp kapatılacaktır. */ final Toggle. Button btn=(Toggle. Button)find. View. By. Id(R. id. toggle. Button); btn. set. On. Click. Listener(new View. On. Click. Listener() { @Override public void on. Click(View view) {

if(btn. is. Checked()){ wifi. Ac(); } else wifi. Kapat(); } }); } //Modem’in wifi

if(btn. is. Checked()){ wifi. Ac(); } else wifi. Kapat(); } }); } //Modem’in wifi durumu kapalıysa wifiyi açıyor. Açıksa zaten açık diyor. private void wifi. Ac(){ modem=(Wifi. Manager)get. System. Service(Context. WIFI_SERVICE); if(modem. get. Wifi. State()== Wifi. Manager. WIFI_STATE_DISABLED){ modem. set. Wifi. Enabled(true); }else if(modem. get. Wifi. State()==Wifi. Manager. WIFI_STATE_ENABLING){ Toast. make. Text(Main. Activity. this, "Açık", Toast. LENGTH_SHORT). show(); } } //Eğer wifi açık ise kapatıyor. private void wifi. Kapat(){ modem=(Wifi. Manager)get. System. Service(Context. WIFI_SERVICE); if(modem. get. Wifi. State()== Wifi. Manager. WIFI_STATE_ENABLED){ modem. set. Wifi. Enabled(false); }else if(modem. get. Wifi. State()==Wifi. Manager. WIFI_STATE_DISABLING){ Toast. make. Text(Main. Activity. this, "Zaten Kapalı", Toast. LENGTH_SHORT). show(); } } }

 Android Manifest İzinleri: <uses-permission android: name="android. permission. ACCESS_WIFI _STATE" /> <uses-permission android: name="android.

Android Manifest İzinleri: <uses-permission android: name="android. permission. ACCESS_WIFI _STATE" /> <uses-permission android: name="android. permission. CHANGE_WIF I_STATE" /> Uygulamanın çalışması. Emülatör'de denenmemelidir. Android Studio’da apk dosyası oluşturmak için tıklayın. Off Kısmı Wifi Kapalı :

Resim 1. Wifi açıp kapatan uygulama

Resim 1. Wifi açıp kapatan uygulama

On kısmı wifi açık : Resim 2. Wifi açıp kapatan uygulama

On kısmı wifi açık : Resim 2. Wifi açıp kapatan uygulama

10. 2. Android Studio Görüntüyü Gösterme ve Kamera’dan Görüntü Alma Android studio'da Kamera kullanımı

10. 2. Android Studio Görüntüyü Gösterme ve Kamera’dan Görüntü Alma Android studio'da Kamera kullanımı ve kamera işlemi yapılırken android tarafında neler yapılacağı aşağıda belirtilmiştir. Image view ve 1 button ile activity_main dosyası oluşturulur. <Relative. Layout xmlns: android="http: //schemas. android. com/apk/res/android" xmlns: tools="http: //schemas. android. com/tools" android: layout_width="match_parent" android: layout_height="match_parent" tools: context=". Main. Activity" > <Button android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="New Button" android: id="@+id/button" android: layout_align. Parent. Bottom="true" android: layout_align. Parent. Left="true"

android: layout_align. Parent. Start="true" android: layout_align. Parent. Right="true" android: layout_align. Parent. End="true" /> <Image.

android: layout_align. Parent. Start="true" android: layout_align. Parent. Right="true" android: layout_align. Parent. End="true" /> <Image. View android: layout_width="match_parent" android: layout_height="match_parent" android: id="@+id/image. View" android: layout_above="@+id/button" android: layout_align. Parent. Left="true" android: layout_align. Parent. Start="true" android: layout_margin. Bottom="108 dp" /> </Relative. Layout> Java Dosyası : Java dosyasında ilk olarak resim çekme işlemini aktif edilir. İd ile istenilenle onaylanıp imageview'e atılarak gösterimi sağlanır.

package com. umiitkose. myapplication; import android. bluetooth. Bluetooth. Adapter; import android. content. Context; import

package com. umiitkose. myapplication; import android. bluetooth. Bluetooth. Adapter; import android. content. Context; import android. content. Intent; import android. graphics. Bitmap; import android. media. Media. Recorder; import android. net. Uri; import android. net. wifi. Wifi. Manager; import android. os. Bundle; import android. app. Activity; import android. provider. Media. Store; import android. view. View; import android. widget. Button; import android. widget. Check. Box; import android. widget. Toast; import android. widget. Image. View; public class Main. Activity extends Activity { Button btn; @Override protected void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); set. Content. View(R. layout. activity_main); btn=(Button)find. View. By. Id(R. id. button); btn. set. On. Click. Listener(new View. On. Click. Listener() { @Override

public void on. Click(View view) { Intent kamera=new Intent(Media. Store. ACTION_IMAGE_CAPTURE); // Resim çekme

public void on. Click(View view) { Intent kamera=new Intent(Media. Store. ACTION_IMAGE_CAPTURE); // Resim çekme isteği ve activity başlatılıp id'si tanımlandı start. Activity. For. Result(kamera, 33); } }); } @Override protected void on. Activity. Result(int request. Code, int result. Code, Intent data) { if(request. Code==33){ Bitmap image=(Bitmap)data. get. Extras(). get("data"); //Çekilen resim id olarak bitmap şeklinde alındı ve imageview'e atandı Image. View resim= (Image. View)find. View. By. Id(R. id. image. View); resim. set. Image. Bitmap(image); } // super. on. Activity. Result(request. Code, result. Code, data); } } Android studio Manifest İçin gerekli izinler aşağıdaki gibi Android. Manifest. xml dosyasına eklenilir. <uses-permission android: name="android. permission. CAMERA"></usespermission> <uses-permission android: name="android. permission. WRITE_EXTERNAL_STORAGE"></usespermission> <uses-feature android: name="android. hardware. Camera"></uses-feature>

Uygulamayı apk olarak android cihazınız da çalıştırınız . Android Studio'da apk dosyası oluşturmak için

Uygulamayı apk olarak android cihazınız da çalıştırınız . Android Studio'da apk dosyası oluşturmak için tıklayın. Resim 3. Uygulama ara yüzü

 Resim 4. Uygulama çalışır hali

Resim 4. Uygulama çalışır hali

 Resim 5. Uygulama çalışır hali

Resim 5. Uygulama çalışır hali

Uygulama ilk olarak Button’a basınca kameraya bağlanıyor. Kameradan alınan görüntüyü kaydedilip kaydedilmediğini soruluyor. Kaydedersek

Uygulama ilk olarak Button’a basınca kameraya bağlanıyor. Kameradan alınan görüntüyü kaydedilip kaydedilmediğini soruluyor. Kaydedersek görüntü Telefonda gözüküyor. 10. 3. Android Studio Video Oynatma ve Video Çekme Android studio’da oynatma ve video çekme işlemleri yaplır. İlk olarak button'a ve 1 tane video. View'e ihtiyaç var. activity_main kodları: <Relative. Layout xmlns: android="http: //schemas. android. com/apk/res/and roid" xmlns: tools="http: //schemas. android. com/tools" android: layout_width="match_parent" android: layout_height="match_parent" tools: context=". Main. Activity" >

<Button android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="New Button" android: id="@+id/button" android: layout_align. Parent. Bottom="true"

<Button android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="New Button" android: id="@+id/button" android: layout_align. Parent. Bottom="true" android: layout_align. Parent. Left="true" android: layout_align. Parent. Start="true" android: layout_align. Parent. Right="true" android: layout_align. Parent. End="true" /> <Video. View android: layout_width="wrap_content" android: layout_height="wrap_content" android: id="@+id/video. View" android: layout_above="@+id/button" android: layout_align. Parent. Left="true" android: layout_align. Parent. Start="true" android: layout_margin. Bottom="180 dp" /> </Relative. Layout>

Java kodları : 1 tane button'a video kaydetme işlemini verdi ve bir id atandı.

Java kodları : 1 tane button'a video kaydetme işlemini verdi ve bir id atandı. 33 ile kamera görüntülenme idsi oluştu. Bu istek ile veri alındı ve video view'e çekilen veri aracılığıyla aktarıldı. Aktarmak içinde 33 idsi kullanıldı. package com. mevlutinan. uygulamam mport android. bluetooth. Bluetooth. Adapter; import android. content. Context; import android. content. Intent; import android. media. Media. Recorder; import android. net. Uri; import android. net. wifi. Wifi. Manager;

import android. os. Bundle; import android. app. Activity; import android. provider. Media. Store; import

import android. os. Bundle; import android. app. Activity; import android. provider. Media. Store; import android. view. View; import android. widget. Button; import android. widget. Check. Box; import android. widget. Toast; import android. widget. Video. View; public class Main. Activity extends Activity { Button btn; @Override protected void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); set. Content. View(R. layout. activity_main); btn=(Button)find. View. By. Id(R. id. button); btn. set. On. Click. Listener(new View. On. Click. Listener() { @Override public void on. Click(View view) { Intent kamera=new Intent(Media. Store. ACTION_VIDEO_CAPTURE); start. Activity. For. Result(kamera, 33); } }); }

@Override protected void on. Activity. Result(int request. Code, int result. Code, Intent data) {

@Override protected void on. Activity. Result(int request. Code, int result. Code, Intent data) { Video. View video=(Video. View)find. View. By. Id(R. id. video. View); if(request. Code==33){ Toast. make. Text(Main. Activity. this, "Kamera Butonu Kullanıldı. ", Toast. LENGTH_SHORT). show(); Uri abc=data. get. Data(); video. set. Video. Path(String. value. Of(abc)); video. start(); } // super. on. Activity. Result(request. Code, result. Code, data); } } Android Studio için gerekli izinler aşağıdaki gibi Manifest dosyasına eklenilmelidir. <uses-permission android: name="android. permission. CAMERA"></uses-permission> <uses-permission android: name="android. permission. WRITE_EXTERNAL_STORAGE"></uses -permission> <uses-feature android: name="android. hardware. Camera"></uses-feature> Emülatörde çalışmamaktadır. Android Studio'da apk dosyası oluşturmak için tıklanır.

Uygulamanın çalışması : Resim 6. Uygulama ara yüzü

Uygulamanın çalışması : Resim 6. Uygulama ara yüzü

 Resim 7. Uygulama çalışır hali

Resim 7. Uygulama çalışır hali

 Resim 8. Uygulama çalışır hali

Resim 8. Uygulama çalışır hali

 Resim 9. Uygulama çalışır hali

Resim 9. Uygulama çalışır hali