Skip to content

Commit

Permalink
Merge pull request #2 from harutiro/test
Browse files Browse the repository at this point in the history
Base64によるバグ回避
  • Loading branch information
harutiro authored Jun 20, 2021
2 parents 9916014 + d006033 commit 26ae2cb
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package com.example.sharetn.Adapter

import android.content.Context
import android.graphics.BitmapFactory
import android.view.LayoutInflater
import android.view.View
import android.view.View.GONE
import android.view.ViewGroup
import android.widget.Button
import android.widget.ImageView
import android.widget.ListView
import android.util.Base64
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.LinearLayoutManager
Expand Down Expand Up @@ -57,7 +59,8 @@ class MainRecyclerViewAdapter(private val context: Context,private val listener:
holder.container.setOnClickListener { listener.onItemClick(item) }

// itemとレイアウトの直接の結びつけ
holder.iconImageView.setImageResource(item.icon)
val decodedByte: ByteArray = Base64.decode(item.icon, 0)
holder.iconImageView.setImageBitmap(BitmapFactory.decodeByteArray(decodedByte,0,decodedByte.size))
holder.mainTextView.text = item.mainText
holder.subTextView.text = item.subText
// holder.tagListView
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/example/sharetn/Date/MainDate.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import java.util.*

open class MainDate(
@PrimaryKey open var Id: String? = UUID.randomUUID().toString(),
open var icon: Int = 0,
open var icon: String = "",
open var mainText: String = "",
open var subText: String = "",
open var image: String = "",
Expand Down
57 changes: 57 additions & 0 deletions app/src/main/java/com/example/sharetn/EditActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@ package com.example.sharetn

import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.PixelFormat
import android.graphics.drawable.BitmapDrawable
import android.os.Bundle
import android.text.TextUtils
import android.text.method.ScrollingMovementMethod
import android.util.Base64.encodeToString
import android.util.Base64
import android.view.View
import android.view.View.GONE
import android.view.View.VISIBLE
Expand All @@ -20,11 +25,13 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.sharetn.Adapter.TagRecyclerViewAdapter
import com.example.sharetn.Date.MainDate
import com.example.sharetn.Date.TagDateClass
import com.example.sharetn.dousa.UrlDomein
import com.squareup.picasso.Picasso
import io.realm.Realm
import io.realm.RealmResults
import java.io.ByteArrayOutputStream
import java.util.*


Expand Down Expand Up @@ -64,6 +71,55 @@ class EditActivity : AppCompatActivity() {
subEdit.movementMethod = ScrollingMovementMethod()
memoEdit.movementMethod = ScrollingMovementMethod()

// MainActivityのRecyclerViewの要素をタップした場合はidが,fabをタップした場合は"空白"が入っているはず
val id = intent.getStringExtra("id")
val item = realm.where(MainDate::class.java).equalTo("Id", id).findFirst()
mainEdit.setText(item?.mainText)
subEdit.setText(item?.subText)
val decodedByte: ByteArray = Base64.decode(item?.icon, 0)
mainIcon.setImageBitmap(BitmapFactory.decodeByteArray(decodedByte,0,decodedByte.size))
if (item != null) {
if(UrlDomein().check(item.subText)){
subEdit.visibility = VISIBLE
subIcon.visibility = VISIBLE
}
}




//==============Realm保存部分
findViewById<TextView>(R.id.saveButton).setOnClickListener {
realm.executeTransaction{
val new: MainDate = it.createObject(MainDate::class.java,UUID.randomUUID().toString())

//==============BASE64==============
//データ受け取り
val bmp = (mainIcon.getDrawable() as BitmapDrawable).bitmap
//エンコード
val baos = ByteArrayOutputStream()
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos)
val b: ByteArray = baos.toByteArray()
val output = Base64.encodeToString(b, Base64.NO_WRAP)

new.icon = output
new.mainText = mainEdit.text.toString()
new.subText = subEdit.text.toString()
new.image = ""

// val tagObject = it.createObject(TagDateClass::class.java ,UUID.randomUUID().toString()).apply {
// this.Icon = R.drawable.ic_baseline_more_vert_24
// this.name = "タグ"
// this.color = ""
// this.mojiColor = ""
// }

// new.tagList?.add(tagObject)

finish()
}
}




Expand Down Expand Up @@ -138,6 +194,7 @@ class EditActivity : AppCompatActivity() {
PixelFormat.TRANSLUCENT
)

// TODO:終わらせるときにクローズさせるようにする。
wm.addView(webview, params)

//非表示
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/res/layout/activity_edit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@
app:layout_constraintBottom_toBottomOf="@+id/mainEdit"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/mainEdit"
app:srcCompat="@drawable/travel_explore_black_24dp"
app:tint="@color/textBlock" />
app:srcCompat="@drawable/travel_explore_black_24dp" />

<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/image"
Expand Down

0 comments on commit 26ae2cb

Please sign in to comment.