Soru & Cevap

Android Firebase Storage kullanımı. ...

31.08.2018 - 08:21

Arkadaşlar selamlar, bir android app gelişitiriyorum, firebase ile kullanıcı girişi ve realtime database işlemlerini gerçekleştirdim ancak bir activity de kullanıcılardan ad soyad gibi bilgileri almanın yanısıra kullanıcıların profil fotoğrafı yüklemesini istiyorum ancak bunu yapamadım, activity nin bağlı olduğu xml kodlarını ve java kodlarını ve layout ekran görüntüsünü paylaşıyorum, xml sayfasında en altta bulunan "profil_foto_ekle" butonuna basılınca telefon galerisinden veya kameradan fotoğraf çekilip Storage a yüklenmesini ve tabiki kullanıcının ID adersine bağlanması gerekiyor, şu nu da belirteyim bu activity kullanıcının e-posta aderesiye giriş yaptıktan sonra karşılaştığı activity, yardımcı olursanız çok sevinirim, şimdiden teşekkürler...

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    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">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp"
        android:background="@color/backgroundColor">

        <EditText
            android:id="@+id/yaşadığışehir"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="310dp"
            android:background="@drawable/edit_text_sitil"
            android:ems="10"
            android:inputType="textPersonName"
            android:textColor="@color/editText"
            android:hint="Yaşadığı Şehir"
            android:textColorHint="@color/editText" />

        <EditText
            android:id="@+id/meslek"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="250dp"
            android:background="@drawable/edit_text_sitil"
            android:ems="10"
            android:inputType="textPersonName"
            android:hint="Meslek"
            android:textColor="@color/editText"
            android:textColorHint="@color/editText" />

        <EditText
            android:id="@+id/yaş"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="190dp"
            android:background="@drawable/edit_text_sitil"
            android:ems="10"
            android:inputType="number"
            android:hint="Yaş"
            android:textColor="@color/editText"
            android:textColorHint="@color/editText" />

        <EditText
            android:id="@+id/ad_soyad"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:inputType="textCapSentences|textAutoCorrect"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="130dp"
            android:background="@drawable/edit_text_sitil"
            android:ems="10"
            android:hint="Ad Soyad"


            android:textColor="@color/editText"
            android:textColorHint="@color/editText" />

        <TextView
            android:id="@+id/kullanici_bilgisi"
            android:layout_width="383dp"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="450dp"
            android:text="Sen de soru cevaplamak istiyorsan uzman olduğun konuları belirt"
            android:textAlignment="center"
            android:textColor="@color/editText"
            android:textColorHint="@color/editText"
            android:textSize="18sp" />

        <Button
            android:id="@+id/uzmanlık_alanı_bilgileri"
            android:layout_width="300dp"
            android:layout_height="45dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="510dp"
            android:background="@drawable/buton_sitil"
            android:onClick="tiklendi"
            android:text="Sen de soru cevapla!"
            android:textColor="@color/editText"
            android:visibility="visible" />

        <Button
            android:id="@+id/kullanici_bilgilerini_kaydet2"
            android:layout_width="300dp"
            android:layout_height="45dp"

            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="370dp"
            android:background="@drawable/buton_sitil"
            android:onClick="tiklendi"
            android:text="Kaydet"
            android:textColor="#FFFF"
            android:visibility="visible" />

        <Button
            android:id="@+id/profil_foto_ekle"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="28dp"
            android:background="@drawable/profil_foto_ekle" />/>
    </RelativeLayout>
</android.support.constraint.ConstraintLayout>
package com.professor.omernasuhiaydemir.professor;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class KisiselBilgiler extends AppCompatActivity {

    Button uzmanlık_alanı_bilgileri,kullanici_bilgilerini_kaydet2;
    EditText ad_soyad,yaşadığışehir,meslek,yaş;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.kullanici_bilgisi_kayit);

        uzmanlık_alanı_bilgileri = (Button)findViewById(R.id.uzmanlık_alanı_bilgileri);
        kullanici_bilgilerini_kaydet2 = (Button)findViewById(R.id.kullanici_bilgilerini_kaydet2);
        ad_soyad = (EditText)findViewById(R.id.ad_soyad);
        yaşadığışehir = (EditText)findViewById(R.id.yaşadığışehir);
        meslek = (EditText)findViewById(R.id.meslek);
        yaş = (EditText)findViewById(R.id.yaş);

        kullanici_bilgilerini_kaydet2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child("KULLANICILAR");
                dbRef.push().setValue(
                        new UserKullanıcı(
                                ad_soyad.getText().toString(),
                                yaşadığışehir.getText().toString(),
                                meslek.getText().toString(),
                                yaş.getText().toString()
                        )
                );
                finish();
            }
        });

        kullanici_bilgilerini_kaydet2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                startActivity(new Intent(KisiselBilgiler.this, UzmanlıkAlanıBaşlıkGiriş.class));

            }
        });

    }

}

 

99 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user MelihDemircan
MelihDemircan
02.12.2019 - 07:33

Fotoğraf çekme veya galeriden resim seçme örnekleri internette var (https://androidclarified.com/pick-image-gallery-camera-android/) ben bir tanesini sana paylaşayım.

Seçilen fotoğrafı kullanıcıya kaydetmede ise şöyle yapabilirsin. Koduna göre yardımcı olayım.

.......
    Button uzmanlık_alanı_bilgileri,kullanici_bilgilerini_kaydet2;
    EditText ad_soyad,yaşadığışehir,meslek,yaş;
    String uuid = UUID.randomUUID().toString();

.......
    dbRef.push().setValue(
       new UserKullanıcı(
           uuid,
           ad_soyad.getText().toString(),
           yaşadığışehir.getText().toString(),
           meslek.getText().toString(),
           yaş.getText().toString()
       )
      );
.......


              

 

Yine image kaydederken veya çekerken kaydettiğin uuid kullanırsın (uuid.jpg gibi )