{"id":9435,"date":"2019-05-24T13:41:40","date_gmt":"2019-05-24T13:41:40","guid":{"rendered":"https:\/\/ittutorial.org\/?p=9435"},"modified":"2019-05-29T11:40:13","modified_gmt":"2019-05-29T11:40:13","slug":"android-programlama-33-firebase-storage","status":"publish","type":"post","link":"https:\/\/ittutorial.org\/android-programlama-33-firebase-storage\/","title":{"rendered":"Android Programlama -33 Firebase Storage"},"content":{"rendered":"<p>Merhaba arkada\u015flar bu g\u00fcn ki makalem de firebase konusunu bir ad\u0131m daha ileriye g\u00f6t\u00fcr\u00fcp storage \u00f6zelli\u011fine de\u011finece\u011fim.<\/p>\n<p>Bir \u00f6nceki makalem de firebase&#8217;in sunmu\u015f oldu\u011fu uygulamaya gmail ile login olma \u00f6zelli\u011fine de\u011finmi\u015ftim. <a href=\"https:\/\/ittutorial.org\/android-programlama-32\/\">Buradan<\/a> okuyabilirsiniz.<\/p>\n<pre>package com.example.teka.icim_rahat;\r\n\r\nimport android.app.Activity;\r\nimport android.content.Context;\r\nimport android.content.Intent;\r\nimport android.database.Cursor;\r\nimport android.net.Uri;\r\nimport android.os.Bundle;\r\nimport android.provider.MediaStore;\r\nimport android.support.annotation.Nullable;\r\nimport android.view.View;\r\nimport android.widget.Button;\r\nimport android.widget.Spinner;\r\nimport android.widget.Toast;\r\n\r\nimport com.google.android.gms.tasks.OnSuccessListener;\r\nimport com.google.firebase.auth.FirebaseAuth;\r\nimport com.google.firebase.database.DatabaseReference;\r\nimport com.google.firebase.database.FirebaseDatabase;\r\nimport com.google.firebase.storage.StorageReference;\r\nimport com.google.firebase.storage.UploadTask;\r\n\r\n\/**\r\n * Created by teka on 25.7.2017.\r\n *\/\r\n\r\npublic class profil_duzenle extends Activity  {\r\n    EditText okuladi,okulil,okulilce;\r\n    Button kaydet,cikis,fotografekle;\r\n  \r\n    private StorageReference mStorageRef;\r\n    FirebaseDatabase database;\r\n    DatabaseReference myRef;\r\n    private FirebaseAuth auth;\r\n\r\n    private static final int IMAGE_PICKER_SELECT=3;\r\n    private FirebaseAuth.AuthStateListener authStateListener;\r\n\r\n    @Override\r\n    protected void onCreate(@Nullable Bundle savedInstanceState) {\r\n        super.onCreate(savedInstanceState);\r\n        setContentView(R.layout.profil_duzenle);\r\n\r\n        kaydet=(Button)findViewById(R.id.kaydet);\r\n       \r\n        cikis=(Button)findViewById(R.id.cikis);\r\n        fotografekle=(Button)findViewById(R.id.galeri);\r\n\r\n      fotografekle.setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View v) {\r\n                Intent i = new Intent(\r\n                        Intent.ACTION_PICK,\r\n                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);\r\n                startActivityForResult(i, IMAGE_PICKER_SELECT);\r\n            }\r\n\r\n        });\r\n\r\n        cikis.setOnClickListener(new View.OnClickListener() {\r\n            @Override\r\n            public void onClick(View v) {\r\n                auth.signOut();\r\n                startActivity(new Intent(profil_duzenle.this, MainActivity.class));\r\n                finish();\r\n}\r\n        });}\r\n\r\n    @Override\r\n\r\n    protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r\n\r\n        super.onActivityResult(requestCode, resultCode, data);\r\n\r\n        if (requestCode==IMAGE_PICKER_SELECT&amp;&amp;resultCode==RESULT_OK){\r\n            Uri uri=data.getData();\r\n            StorageReference reference=mStorageRef.child(\"resim\");\r\n            reference.putFile(uri).addOnSuccessListener(new OnSuccessListener&lt;UploadTask.TaskSnapshot&gt;() {\r\n                @Override\r\n                public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {\r\n                    Uri downloadUrl=taskSnapshot.getDownloadUrl();\r\n                    Toast.makeText(profil_duzenle.this, \"kay\u0131t tamam\", Toast.LENGTH_SHORT).show();\r\n\r\n                }\r\n            });\r\n}\r\n    }\r\n}<\/pre>\n<p>\u00d6ncelikle \u00e7\u0131k\u0131\u015f butonundan bahsetmek istiyorum. Email password veya gmail ile\u00a0Uygulamaya giri\u015f yap\u0131ld\u0131\u011f\u0131nda auth.signOut() methodu ile uygulamadan \u00e7\u0131k\u0131\u015f\u0131 yap\u0131l\u0131r. Bu method \u00e7al\u0131\u015ft\u0131ktan sonra kullan\u0131c\u0131n\u0131n uygulamaya tekrardan login olmas\u0131 gerekmektedir.<\/p>\n<p>Fotografekle butonuna t\u0131kland\u0131\u011f\u0131nda, kullan\u0131c\u0131n\u0131n telefonunun galerisinden bir fotograf se\u00e7ip onu firebase kaydetmesi hedeflenir. Buton&#8217;a t\u0131kland\u0131\u011f\u0131nda telefonun galerisine gidecek bir intent olu\u015fturulur . Sonra onActivityResult methodu ilk etapda belirledi\u011fimiz\u00a0requestCode ve intent&#8217;den d\u00f6nem de\u011fer ile \u00e7a\u011fr\u0131l\u0131r. Bu methodun i\u00e7inde galeriden se\u00e7ilen fotograf\u0131n url&#8217; i al\u0131n\u0131r ve firebase de resim ad\u0131nda olu\u015fturulan klas\u00f6r\u00fcn alt\u0131na kaydedilir.<\/p>\n<p>Son olarak kay\u0131t i\u015fleminin do\u011frulu\u011fu kontrol edilir. Kay\u0131t ba\u015far\u0131l\u0131 olmu\u015f ise ekrana Toast mesaj\u0131 ile kay\u0131t tamam bildirimi g\u00f6sterilir.<\/p>\n<p>Bir makalenin daha sonuna geldik, esenle kal\u0131n..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Merhaba arkada\u015flar bu g\u00fcn ki makalem de firebase konusunu bir ad\u0131m daha ileriye g\u00f6t\u00fcr\u00fcp storage \u00f6zelli\u011fine de\u011finece\u011fim. Bir \u00f6nceki makalem de firebase&#8217;in sunmu\u015f oldu\u011fu uygulamaya gmail ile login olma \u00f6zelli\u011fine de\u011finmi\u015ftim. Buradan okuyabilirsiniz. package com.example.teka.icim_rahat; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.support.annotation.Nullable; import android.view.View; import android.widget.Button; &hellip;<\/p>\n","protected":false},"author":44,"featured_media":9436,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[3953,3849,3917,3576,3793,3397,114,3837,3840,116,4358,4351,4485,4483,4521,4357,4356,4355,4354,4352,4365,4575,3578,4350,4353,4577,3829,3653,4579,4578,4131,4359,4576,4580,4581],"class_list":["post-9435","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-android","tag-adim-adim-android-programlama","tag-android-baslangic-duzey-konu-anlatimi","tag-android-buton-kullanimi","tag-android-buton-setonclicklistener","tag-android-de-giris","tag-android-de-login-sayfa-kodlamasi","tag-android-de-uygulama-gelistirme","tag-android-dersleri","tag-android-dokumanlari","tag-android-e-giris","tag-android-firebase","tag-android-firebase-database","tag-android-firebase-email-login","tag-android-firebase-email-password-ile-login","tag-android-firebase-gmail-ile-login","tag-android-firebase-gradle-klasoru","tag-android-firebase-gradle-konfigurasyonu","tag-android-firebase-json-dosyasi","tag-android-firebase-kodlama","tag-android-firebase-kullanimi","tag-android-firebase-ornek-kullanimi","tag-android-firebase-storage","tag-android-studio-dersleri","tag-android-studio-firebase","tag-android-studio-firebase-kullanimi","tag-android-studio-galeri-intent","tag-android-studio-intent-kullanimi","tag-android-studio-java-programlama","tag-android-studio-medya-islemleri","tag-android-studio-onactivityresult-methodu","tag-android-studio-ornek-kodlama","tag-android-studio-uygulama-gelistirme","tag-android-uygulama-galeriden-fotograf-secme","tag-firebase-fotograf-yukleme","tag-firebase-storage"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/ittutorial.org\/wp-content\/uploads\/2019\/05\/1_HFlYgB6gVLc4Su9HsB9MZg.png","jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/9435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/users\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/comments?post=9435"}],"version-history":[{"count":4,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/9435\/revisions"}],"predecessor-version":[{"id":9505,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/posts\/9435\/revisions\/9505"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/media\/9436"}],"wp:attachment":[{"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/media?parent=9435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/categories?post=9435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittutorial.org\/wp-json\/wp\/v2\/tags?post=9435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}