23 Şubat 2024 Cuma

Kotlin Audio Recorder Örneği

import android.Manifest
import android.content.pm.PackageManager
import android.media.MediaRecorder
import android.os.Bundle
import android.os.Environment
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import java.io.IOException

class AudioRecorderActivity : AppCompatActivity() {

    private lateinit var mediaRecorder: MediaRecorder
    private var isRecording = false

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_audio_recorder)

        val recordButton = findViewById<Button>(R.id.record_button)
        recordButton.setOnClickListener {
            if (isRecording) {
                stopRecording()
            } else {
                if (checkPermissions()) {
                    startRecording()
                }
            }
        }
    }

    private fun startRecording() {
        mediaRecorder = MediaRecorder()
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC)
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)
        val filePath = Environment.getExternalStorageDirectory().absolutePath + "/recording.3gp"
        mediaRecorder.setOutputFile(filePath)

        try {
            mediaRecorder.prepare()
            mediaRecorder.start()
            isRecording = true
            Toast.makeText(this, "Recording started", Toast.LENGTH_SHORT).show()
        } catch (e: IOException) {
            e.printStackTrace()
        }
    }

    private fun stopRecording() {
        mediaRecorder.stop()
        mediaRecorder.release()
        isRecording = false
        Toast.makeText(this, "Recording stopped", Toast.LENGTH_SHORT).show()
    }

    private fun checkPermissions(): Boolean {
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.RECORD_AUDIO), 1)
            return false
        }
        return true
    }

    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
        if (requestCode == 1 && grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            startRecording()
        } else {
            Toast.makeText(this, "Permission denied", Toast.LENGTH_SHORT).show()
        }
    }
}

22 Şubat 2024 Perşembe

Bloga Facebook Beğeni Butonu Ekleme Kodu

Eklentiyi blogunuza eklemek için Blogger kumanda panelinize giriş yaptıktan sonra Yerleşim > Gadget Ekle > HTML/JavaScript Gadget yolunu takip edin ve aşağıdaki kodları yapıştırarak kaydedin.

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
  var js, fjs = d.getElementsByTagName(s)[0]; 
  if (d.getElementById(id)) return; 
  js = d.createElement(s); js.id = id; 
  js.src = "//connect.facebook.net/tr_TR/sdk.js#xfbml=1&version=v2.3"; 
  fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-page" data-href="" data-width="100" data-height="100" data-hide-cover="false" data-show-facepile=https://www.facebook.com/SamiAksoyfotograf/"true" data-show-posts="true"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/SamiAksoyfotograf/"><a href="https://www.facebook.com/SamiAksoyfotograf/">Sami Aksoy Photography</a></blockquote></div></div>

Kodlarda değiştirmeniz gereken yerler:
Mavi renkle gösterdiğim yerlere kendi Facebook sayfanızın URLsini yazın.
Kırmızı renkle gösterdiğim yere blogunuzun ya da Facebook sayfanızın ismini yazın.
Eklenti blogunuza kolaylıkla yerleştirilebilecek boyuttadır. Boyutları değiştirmek isterseniz "100" şeklinde yazdığım değerleri kendi isteğinize göre arttırabilir ya da azaltabilirsiniz.

Kotlin Mp3 Player Örneği

```kotlin
class Mp3Player {
    fun playSong(songName: String) {
        println("Playing song: $songName")
    }

    fun pauseSong() {
        println("Song paused")
    }

    fun stopSong() {
        println("Song stopped")
    }
}

fun main() {
    val mp3Player = Mp3Player()

    mp3Player.playSong("Shape of You")
    mp3Player.pauseSong()
    mp3Player.playSong("Despacito")
    mp3Player.stopSong()
}
```

Output:
```
Playing song: Shape of You
Song paused
Playing song: Despacito
Song stopped
```

Boş ConstraintLayout Örneği


Boş constraint layout örneğini aşağıya çıkardım. Bunu direkt alıp içine istediğiniz unsurları

yerleştirebileceğiniz gibi hazır yapılmış dizaynınızın layout kodlarını baştan ve sondan silerek

aşağıdaki kodlardan üstte olanı üste, altta olanı da alta yapıştırarak da kullanabilirsiniz.


<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MyActivity">
  
   BURAYA İSTEDİĞİNİZ UNSURLARI EKLEYEBİLİRSİNİZ.
  
</androidx.constraintlayout.widget.ConstraintLayout>

21 Şubat 2024 Çarşamba

Cambridge Sözlük Kelime Arama HTML Kodu

 

CUP free search box

Üstteki gibi bir Cambridge Sözlük arama butonunu sitenize eklemek için aşağıdaki HTML kodu kullanabilirsiniz.
<form action='https://dictionary.cambridge.org/tr/arama/ingilizce/direct/' method='get' target='_blank'> <input type='hidden' name='utm_source' value='widget_searchbox_source'/> <input type='hidden' name='utm_medium' value='widget_searchbox'/> <input type='hidden' name='utm_campaign' value='widget_tracking'/> <table style='font-family:Arial,Helvetica,sans-serif;font-size:10px;background:#1D2A57;border-collapse:collapse;border-spacing:0;width:150px;background-image:linear-gradient(to right,#0f193d,#2c2f62,#1a2753)'> <caption style='display:none;'>CUP free search box</caption> <tbody> <tr> <td colspan='2' style='padding:0;background:none;border:none;'> <a href='https://dictionary.cambridge.org/tr/' style='display:block;background:transparent url(https://dictionary.cambridge.org/tr/external/images/freesearch/sbl.png?version=5.0.383) no-repeat 5px 6px;height:32px;'></a> </td> </tr> <tr> <td style='width:130px;background:none;border:none;padding:0;font-size:10px;border-collapse:collapse;border-spacing:0;'> <input style='margin:4px;padding:0 0 0 3px;display:block;font-family:Arial,Helvetica,sans-serif;font-size:10px;border:1px solid #ddd;border-radius:20px;box-shadow:inset 1px 1px 2px 0 rgba(0,0,0,0.1);color:#444;' name='q' placeholder='Search English' type='search' title='search' dir='auto' role='textbox' autocomplete='off' aria-controls='search' aria-multiline='false' aria-expanded='false' aria-label='Search' aria-required='true' aria-invalid='false' /> </td> <td style='width:20px;background:none;border:none;padding:0 4px 0 0;font-size:10px;border-collapse:collapse;border-spacing:0;'> <button style='width:15px;height:15px;vertical-align:top;display:inline-block;border:none;border-radius:50%;text-align:center;text-transform:none;padding:0;background:#FEC400;cursor:pointer;overflow:hidden;' title='Search' type='submit'> <img src='https://dictionary.cambridge.org/tr/external/images/freesearch/search.png?version=5.0.383' style='vertical-align:-1px;border:none;height:auto;margin:0;padding:0;text-align:center;'/> </button> </td> </tr> </tbody> </table> </form>

19 Şubat 2024 Pazartesi

Sitenize Canlı Tv Ekleme Javascript Kodu

 

<iframe allowfullscreen="" frameborder="0" height="440" src="https://canlitv.center/canlitv" width="100%"></iframe>






Ve kodun çalışan şekli aşağıdaki şekilde olacaktır.

17 Şubat 2024 Cumartesi

Siten için HTML hava durumu kodu


<div id="ww_537f3e36d45e7" v='1.3' loc='id' a='{"t":"horizontal","lang":"tr","sl_lpl":1,"ids":[],"font":"Arial","sl_ics":"one_a","sl_sot":"celsius","cl_bkg":"image","cl_font":"#FFFFFF","cl_cloud":"#FFFFFF","cl_persp":"#81D4FA","cl_sun":"#FFC107","cl_moon":"#FFC107","cl_thund":"#FF5722"}'>Daha fazla hava durumu tahmini: <a href="https://oneweather.org/tr/istanbul/15_days/" id="ww_537f3e36d45e7_u" target="_blank">oneweather.org</a></div><script async src="https://app2.weatherwidget.org/js/?id=ww_537f3e36d45e7"></script>

Progress barlı WebView örneği

 <ProgressBar

android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:max="3"
android:progress="100" />

<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="639dp"
android:layout_below="@+id/progressBar"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:layout_marginTop="13dp"
android:layout_marginEnd="2dp">

Main Activity de şöyle yapılır
private lateinit var webView: WebView
lateinit var progressBar: ProgressBar
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContentView(R.layout.activity_web)

webView = findViewById(R.id.webView)
progressBar = findViewById(R.id.progressBar)
webView.webViewClient = WebViewClient()

webView.loadUrl("https://aksoyyazilim.blogspot.com/")
}
inner class WebViewClient : android.webkit.WebViewClient() {

// Load the URL
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
view.loadUrl(url)
return false
}

// ProgressBar will disappear once page is loaded
override fun onPageFinished(view: WebView, url: String) {
super.onPageFinished(view, url)
progressBar.visibility = View.GONE
}
}

14 Şubat 2024 Çarşamba

Relative Layout Örneği ve Yapımı


 Orjinal layoutunuzun  baş ve son kısımlarını aşağıdakilerle değiştirip kendi Relative Layoutunuzu oluşturabilirsiniz

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
android:paddingLeft="16dp"
   
android:paddingRight="16dp" >
ARALIK KENDİ İSTEDİĞİN YAPILARIN (Fotoğraf,yazı,v.b.) KODLARINI BURAYA EKLE.
   
</RelativeLayout>

Hata uyarısı veren sınıflar olursa onları da alt + enter la layoutuna
 ekleyerek sorunu çözebilirsin.

12 Şubat 2024 Pazartesi

Kotlin WebView Kurulumu

Manifest dosyasına üste application kısmının üstüne

şu izinleri ekliyoruz.

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

layout dosyasına aşağıdaki kodu yazıyoruz.
<WebView
        android:id="@+id/webview"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
Main Activitiy'e  veya WebView kullanacağımız layoutun activity içine aşağıdaki kodları ekliyoruz


var webView = findViewById<WebView>(R.id.webView)

webView.loadUrl("https://aksoyyazilim.blogspot.com/p/tarih-9.html")

webView.settings.javaScriptEnabled = true

webView.settings.setSupportZoom(true)
Eğer ki browserda değil de kendi programın olarak adresin açılmasını istiyorsan aşağıdaki kodu ekle.

webView.webViewClient = WebViewClient()

Site adresi yerine istediğiniz siteyi yazarak hedefinize ulaşabilirsiniz.

8 Şubat 2024 Perşembe

Kotlin ImageButton Örneği

  <ImageButton

        android:id="@+id/imgBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitCenter"
        android:src="@drawable/butonresim"/>


Java ile kullanımı

ImageButton imgBtn = (ImageButton)findViewById(R.id.imgBtn);
        imgBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                // yapılacaklar
 
            }
        });
 

Kotlin ile kullanımı
val imgBtn = findViewById<View>(R.id.imgBtn) as ImageButton
                imgBtn.setOnClickListener {
                    // yapılacaklar
                }