diff options
3 files changed, 127 insertions, 2 deletions
diff --git a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml index 870fa98..00ee960 100644 --- a/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml +++ b/Client/BrzoDoLokacije/app/src/main/AndroidManifest.xml @@ -3,7 +3,10 @@ xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.INTERNET" /> - + <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> + <uses-permission android:name="android.permission.CAMERA" /> + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" @@ -16,7 +19,7 @@ android:usesCleartextTraffic="true" tools:targetApi="31"> <activity - android:name=".ActivityAddPost" + android:name=".Activities.ActivityAddPost" android:exported="false"> <meta-data android:name="android.app.lib_name" diff --git a/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt new file mode 100644 index 0000000..0ada26a --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/java/com/example/brzodolokacije/Activities/ActivityAddPost.kt @@ -0,0 +1,83 @@ +package com.example.brzodolokacije.Activities + +import android.Manifest +import android.content.Intent +import android.content.pm.PackageManager +import android.net.Uri +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import android.view.View +import android.widget.Button +import android.widget.ImageView +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import com.example.brzodolokacije.Models.PostImage +import com.example.brzodolokacije.R +import java.net.URI + + +class ActivityAddPost : AppCompatActivity() { + private lateinit var uploadFromGallery: Button + private lateinit var takePhoto: Button + private lateinit var image:ImageView + private lateinit var uploadedImages:ArrayList<Uri> + + var paths = mutableListOf<String>() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_add_post) + + uploadFromGallery=findViewById<View>(R.id.btnActivityAddPostUploadImages) as Button + takePhoto=findViewById<View>(R.id.btnActivityAddPosTakeImage) as Button + image=findViewById<View>(R.id.image) as ImageView + + //dodavanje iz galerije + uploadFromGallery.setOnClickListener{ + + //provera da li je odobrena upotreba galerije + if(ContextCompat.checkSelfPermission(this@ActivityAddPost, Manifest.permission.READ_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){ + ActivityCompat.requestPermissions(this@ActivityAddPost, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE),101) + } + + //otvaranje galerije + val intent= Intent(Intent.ACTION_PICK) + intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true) + intent.action = Intent.ACTION_GET_CONTENT + intent.type="image/*" + startActivityForResult(Intent.createChooser(intent,"Izaberi fotografije"),100) + } + + //fotografisanje + takePhoto.setOnClickListener { + //provera da li je odobrena upotreba kamere + if(ContextCompat.checkSelfPermission(this@ActivityAddPost, Manifest.permission.CAMERA)!=PackageManager.PERMISSION_GRANTED){ + ActivityCompat.requestPermissions(this@ActivityAddPost, arrayOf(Manifest.permission.CAMERA),200) + } + } + + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + //nakon otvaranja + if(requestCode==100 && resultCode== RESULT_OK){ + //samo jedna slika + //image.setImageURI(data?.data) + + //veci broj slika + if (data!!.getClipData() != null) { + var count = data!!.clipData!!.itemCount + + for (i in 0..count - 1) { + var _uri: Uri = data!!.clipData!!.getItemAt(i).uri + uploadedImages!!.add(_uri) + } + //jedna slika + } else if (data?.getData() != null) { + uploadedImages.add(data.data!!) + } + } + } + +}
\ No newline at end of file diff --git a/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml new file mode 100644 index 0000000..da38262 --- /dev/null +++ b/Client/BrzoDoLokacije/app/src/main/res/layout/activity_add_post.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".Activities.ActivityAddPost"> + + <ImageView + android:id="@+id/image" + android:layout_width="200dp" + android:layout_height="200dp" + android:layout_weight="1" + app:layout_constraintBottom_toTopOf="@+id/btnActivityAddPostUploadImages" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <Button + android:id="@+id/btnActivityAddPostUploadImages" + android:layout_width="match_parent" + android:layout_height="40dp" + android:layout_gravity="center" + android:layout_weight="0" + android:text="Importuj" + app:layout_constraintBottom_toTopOf="@+id/btnActivityAddPosTakeImage" + tools:layout_editor_absoluteX="-16dp" /> + + <Button + android:id="@+id/btnActivityAddPosTakeImage" + android:layout_width="match_parent" + android:layout_height="40dp" + android:layout_gravity="center" + android:layout_weight="0" + android:text="Slikaj" + app:layout_constraintBottom_toBottomOf="parent" + tools:layout_editor_absoluteX="-16dp" /> + +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file |