WIP on post

This commit is contained in:
Andrew Dobis 2020-03-05 18:09:55 +01:00
parent 8a026d0bd4
commit 7799ba4956
4 changed files with 129 additions and 7 deletions

View File

@ -1,16 +1,28 @@
package com.h.pixeldroid
import android.content.Context
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
import com.h.pixeldroid.objects.Post
class PostActivity : AppCompatActivity() {
//Class used to pass arguments to the activity
class Arguments(val post : Post) {
fun startActivity(context: Context) {
val intent = Intent(context, PostActivity::class.java)
intent.putExtra("postTag", post)
context.startActivity(intent)
}
} // Arguments class
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_post)
val image = findViewById<ImageView>(R.id.imageView)
//image.setImageBitmap()
}

View File

@ -0,0 +1,21 @@
package com.h.pixeldroid.objects
import android.widget.ImageView
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.h.pixeldroid.utils.ImageConverter.Companion.retrieveBitmapFromUrl
import java.io.Serializable
class Post(private val status: Status) : Serializable {
fun getPostImage(context : AppCompatActivity) : ImageView {
//Retreive the url from the list of media attachments
val imgUrl = status.component9()[0].component3()
//Convert retrieved bitmap to an ImageView and return it
val imageView: ImageView = ImageView(context)
imageView.setImageBitmap(retrieveBitmapFromUrl(imgUrl))
return imageView
}
}

View File

@ -0,0 +1,26 @@
package com.h.pixeldroid.utils
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import java.io.IOException
import java.io.InputStream
import java.net.HttpURLConnection
import java.net.URL
class ImageConverter {
companion object {
fun retrieveBitmapFromUrl(src : String) : Bitmap? {
return try {
val url: URL = URL(src)
val connection : HttpURLConnection = url.openConnection() as HttpURLConnection
connection.doInput = true
connection.connect()
val input : InputStream = connection.inputStream
BitmapFactory.decodeStream(input)
} catch (e : IOException) {
e.printStackTrace()
null
}
}
}
}

View File

@ -7,11 +7,74 @@
tools:context=".PostActivity">
<ImageView
android:id="@+id/imageView"
android:id="@+id/postPicture"
android:layout_width="413dp"
android:layout_height="244dp"
android:src="@drawable/ic_launcher_foreground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.234"
tools:src="@tools:sample/avatars" />
<TextView
android:id="@+id/username"
android:layout_width="226dp"
android:layout_height="26dp"
android:layout_marginTop="60dp"
android:layout_marginEnd="84dp"
android:text="TextView"
app:layout_constraintBottom_toTopOf="@+id/postPicture"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<ImageView
android:id="@+id/ProfilePic"
android:layout_width="57dp"
android:layout_height="48dp"
android:layout_marginTop="48dp"
android:layout_marginEnd="28dp"
android:layout_marginBottom="18dp"
app:layout_constraintBottom_toTopOf="@+id/postPicture"
app:layout_constraintEnd_toStartOf="@+id/username"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_launcher_foreground" />
<TextView
android:id="@+id/nlikes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_foreground"
tools:layout_editor_absoluteX="140dp"
tools:layout_editor_absoluteY="101dp"
tools:src="@tools:sample/avatars" />
android:layout_marginStart="60dp"
android:layout_marginTop="27dp"
android:text="TextView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/postPicture" />
<TextView
android:id="@+id/nshares"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginEnd="60dp"
android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.936"
app:layout_constraintStart_toEndOf="@+id/nlikes"
app:layout_constraintTop_toBottomOf="@+id/postPicture" />
<TextView
android:id="@+id/description"
android:layout_width="339dp"
android:layout_height="73dp"
android:layout_marginTop="80dp"
android:text="TextView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/postPicture"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>