Android Programlama | Detaylı Arayüz Elemanları #2

deltaturk

Katılımcı Üye
26 Kas 2020
925
978
Green Team Mersin Daire Bşk.

WebView

Örnek uygulamalı WebView Anlatacağım.
WebView Nedir ? Activity Class'larında nasıl tanımlanır ve nasıl kullanırız.
WebView önemlidir kullanma ihtiyacımız olabiliir kesinlikle öğrenmeliyiz.

Nedir ?
WebView, Hem uzak sunucu Web dosyalarını hem de uygulama dosyalarının içindeki HTML dosyalarını görüntülememizi sağlayan Web Tabanlı arayüz elemanıdır.



WebView Oluşturma (XML İLE)


XML:
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+/webView"
/>



MainActivity.java Class'ında Tanımlama

Java:
public class MainActivity extends AppCompatActivity {
WebView wv;


@Override
protected void onCreate(Bundle savedİnstanceState) {
super onCreate/savetInstanceState);
setContentVew(R.layout.activity_main);
tanimla();
goster();
}


public void tanimla()
{
wb = (WebView) findViewById(R.id.webview);
}
public void goster()
{
wv.getSettings().setJavaScriptEnabled(true);  //java script onaylama
wv.loadurl("www.google.com.tr");
}
}





AndroidManifest.xml Dosyasında İnternet İzni Verme

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

kodunu yazarak internet izni veriyoruz
Uygulamayı çalıştırıyoruz ve uygulama içinde WebView'e tanımladığımız WebSitemiz açılmış oldu.



Kendi Oluşturduğumuz HTML Sayfalarını Görüntüleme

Öncelikle goster(); kapatıyoruz ( //goster(); )



Java:
public class MainActivity extends AppCompatActivity {
WebView wv;


@Override
protected void onCreate(Bundle savedİnstanceState) {
super onCreate/savetInstanceState);
setContentVew(R.layout.activity_main);
tanimla();
//goster();
gosterHtml();
}
public void tanimla()
{
wb = (WebView) findViewById(R.id.webview);
}
public void goster()
{
wv.getSettings().setJavaScriptEnabled(true);  //java script onaylama
wv.loadurl("www.google.com.tr");
}
public void gosterHtml()
{
String htmlKod ="<html><head>Webview HTML ORNEGİ</head><body><h1>HTML ORNEGİ</h1></body></html>;
wv.LoadData(htmlKod, mimeType: "text/html" , encoding: "UTF8);
}
}

Bu şekilde de kendi oluşturduğumuz HTML Kodlarını çalıştırabiliyoruz.




CheckBox


Örnek Uygulamalı CheckBox anlatımı yapacağız dostlar.

CheckBox Nedir ?
Kullanıcıya seçenekler sunarak bunlardan birini birkaçını veya tamamını seçilmesini istenen durumlar için kullanılır.

Mesela anket uygulaması yapabiliriz.

XML İle CheckBox Ekleme


LinearLayout Orientation eklememiz lazım
android:eek:rientation="vertical"



XML:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hangi Programlama Dilini Biliyorsunuz ?"
/>


<CheckBox
android:layout_width="wrap_content"
android:id="@+id/php"
android:layout_height="wrap_content"
android:text="PHP"
/>


<CheckBox
android:layout_width="wrap_content"
android:id="@+id/java"
android:layout_height="wrap_content"
android:text="JAVA"
/>


<CheckBox
android:layout_width="wrap_content"
android:id="@+id/python"
android:layout_height="wrap_content"
android:text="Python"
/>


<CheckBox
android:layout_width="wrap_content"
android:id="@+id/csharp"
android:layout_height="wrap_content"
android:text="C#"
/>


<CheckBox
android:layout_width="wrap_content"
android:id="@+id/js"
android:layout_height="wrap_content"
android:text="JavaScript"
/>

MainActivity.java Class'ında Tanımlama


Java:
public class MainActivity extends AppCompatActivity {
CheckBox javaChb;
CheckBox jsChb;
CheckBox phpChb;
CheckBox phyChb;
CheckBox cChb


@Override
protected void onCreate(Bundle savedİnstanceState) {
super onCreate/savetInstanceState);
setContentVew(R.layout.activity_main);
tanimla();
mesajVer();
}
public void tanimla()
{
javaChb (CheckBox) findViewById(R.id.java);
jsChb (CheckBox) findViewById(R.id.php);
phpChb (CheckBox) findViewById(R.id.php);
phyChb (CheckBox) findViewById(R.id.python);
cChb (CheckBox) findViewById(R.id.csharp);


}
public void mesajVer()
{
javaChb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
if(javaChb.isChecked())
{
Toast.makeText(getApplicationContext(), javaChb.getText()+" seçildi",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(getApplicationContext(), javaChb.getText()+" iptal edildi",Toast.LENGTH_LONG).show();
}
}
});
phpChb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
if(phpChb.isChecked())
{
Toast.makeText(getApplicationContext(), phpChb.getText()+" seçildi",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(getApplicationContext(), phpChb.getText()+" iptal edildi",Toast.LENGTH_LONG).show();
}
}
});
jsChb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
if(jsChb.isChecked())
{
Toast.makeText(getApplicationContext(), jsChb.getText()+" seçildi",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(getApplicationContext(), jsChb.getText()+" iptal edildi",Toast.LENGTH_LONG).show();
}
}
});
phyChb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
if(phyChb.isChecked())
{
Toast.makeText(getApplicationContext(), phyChb.getText()+" seçildi",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(getApplicationContext(), phyChb.getText()+" iptal edildi",Toast.LENGTH_LONG).show();
}
}
});
cChb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
if(cChb.isChecked())
{
Toast.makeText(getApplicationContext(), cChb.getText()+" seçildi",Toast.LENGTH_LONG).show();
}else
{
Toast.makeText(getApplicationContext(), cChb.getText()+" iptal edildi",Toast.LENGTH_LONG).show();
}
}
});
}
}




Bütün CheckBox Elemanlarımıza İşlevsellik Vermiş Olduk.




RadioButton


Örnek Uygulamalar İle RadioButton Kullanımı öğreneceğiz.

RadioButton Nedir ?
Uygulama içinde tek bir seçim yapmak istediğimizde kullandığımız arayüz elemanıdır.

CheckBox'larda birden fazla seçim yapılırken RadioButton'larda birden fazla seçim yaparız, bu iki eleman birbirine çok benzediği için karıştırabilirsiniz.
RadioButton'ları grup içerisine koymamız gerekiyor eğer grup içine koymazsak RadioButton tanımladığımızda iki farklı seçenek seçmemiz gerekecektir yani eklediğimiz RadioButton'lar birbirini tanımalı.


XML İle RadioButton Ve İmageView Oluşturma
LinearLayout'u Relative Layout Olarak değiştirelim biraz değişiklik olsun
Eğer LinearLayout kullanıyorsak
android:eek:rientation="vertical" niteliği eklememiz gerekiyor.




XML:
<İmageView
android:layout_width="match_parent"
android:id="@+id/imageview"
android:layout_height="180dp"
/>


<RadioGroup
android:layout_width="wrap_content"
android:layout_below="@+id/imageview"
android:layout_height="wrap_content"


<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/resim1"
android:text="Resim1"
/>


<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/resim2"
android:text="Resim2"
/>


<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/resim3"
android:text="Resim3"
/>


<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/resim4"
android:text="Resim4"
/>
</RadioGroup>





RadioButton id



RadioButton ve İmageView'i ekledik.



MainActivity.java İçinde RadioButton Ve İmageView Tanımlama

res>drawable klasörü içine resimlerimizi ekliyoruz.



Java:
public class MainActivity extends AppCompatActivity {
RadioButton resim1;
RadioButton resim2;
RadioButton resim3;
RadioButton resim4;
İmageView img;


@Override
protected void onCreate(Bundle savedİnstanceState) {
super onCreate/savetInstanceState);
setContentVew(R.layout.activity_main);
tanimla();
islevVer();
}


public void tanimla()
{
resim1 = (İmageView) findViewById(R.id.resim1);
resim2 = (İmageView) findViewById(R.id.resim2);
resim3 = (İmageView) findViewById(R.id.resim3);
resim4 = (İmageView) findViewById(R.id.resim4);
img = (İmageView) findViewById(R.id.imageView);
}


public void islevVer()
{
resim1.setOnClickListener(new View.OnClickListener();
@Override
public void onClick(View v) {
img.setİmageResource(R.drawable.resimadi);
Toast.makeText(getApplicationContext(), resim1.getText(),Toast.LENGTH_LONG).show();
}
});
resim2.setOnClickListener(new View.OnClickListener();
@Override
public void onClick(View v) {
img.setİmageResource(R.drawable.resimadi);
Toast.makeText(getApplicationContext(), resim2.getText(),Toast.LENGTH_LONG).show()
}
});
resim3.setOnClickListener(new View.OnClickListener();
@Override
public void onClick(View v) {
img.setİmageResource(R.drawable.resimadi);
Toast.makeText(getApplicationContext(), resim3.getText(),Toast.LENGTH_LONG).show()
}
});
resim4.setOnClickListener(new View.OnClickListener();
@Override
public void onClick(View v) {
img.setİmageResource(R.drawable.resimadi);
Toast.makeText(getApplicationContext(), resim4.getText(),Toast.LENGTH_LONG).show()
}
});
}
}



RadioButton'a tıklandığında İmageView resimleri değiştiren uygulamamız tamamlandı.

 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.