Coder Social home page Coder Social logo

neji-android's Introduction

BlackBracken

  • likes to write code in type-safe and expressive languages.

neji-android's People

Contributors

blackbracken avatar

Stargazers

 avatar

Watchers

 avatar  avatar

neji-android's Issues

アイテム一覧の画面追加

検索結果の画面を使いまわすのではなく, アイテム一覧を表示するための画面を追加する.
加えて, アイテムの追加はこの画面からのみ行えるようにして, ボックスとリージョンの指定は除去する.

FirebaseAppの内部で通信に失敗する

signInWithEmailAndPasswordを呼び出す時, 通信に失敗する場合がある.
タイムアウトしないので, 呼び出しからコールバックが呼ばれたり例外が吐かれない.
再現手段が不明なので要検証.

  • エミュレータだと失敗する
  • 実機でも時々失敗する
  • IPv6だとコケる?(要検証)

Firestoreへの移行

  • モデルをドキュメント化
  • ページングが必要になりそうな値の対応
    • 諸々の登録数の上限を聞く
    • Recyclerな画面にそれぞれ対応
  • モックの用意と検証

存在していない、アイテムの画像を読み込もうとしている

E/StorageException: StorageException has occurred.
    Object does not exist at location.
     Code: -13010 HttpResult: 404
E/StorageException: Could not open resulting stream.
    java.io.IOException: Could not open resulting stream.
        at com.google.firebase.storage.StreamDownloadTask.createDownloadStream(StreamDownloadTask.java:145)
        at com.google.firebase.storage.StreamDownloadTask.access$000(StreamDownloadTask.java:36)
        at com.google.firebase.storage.StreamDownloadTask$1.call(StreamDownloadTask.java:167)
        at com.google.firebase.storage.StreamDownloadTask$1.call(StreamDownloadTask.java:164)
        at com.google.firebase.storage.StreamDownloadTask$StreamProgressWrapper.ensureStream(StreamDownloadTask.java:325)
        at com.google.firebase.storage.StreamDownloadTask$StreamProgressWrapper.access$100(StreamDownloadTask.java:262)
        at com.google.firebase.storage.StreamDownloadTask.run(StreamDownloadTask.java:175)
        at com.google.firebase.storage.StorageTask.lambda$getRunnable$7(StorageTask.java:1072)
        at com.google.firebase.storage.StorageTask$$Lambda$12.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)
    StorageException has occurred.
    Object does not exist at location.
     Code: -13010 HttpResult: 404
E/StorageException: Could not open resulting stream.
    java.io.IOException: Could not open resulting stream.
        at com.google.firebase.storage.StreamDownloadTask.createDownloadStream(StreamDownloadTask.java:145)
        at com.google.firebase.storage.StreamDownloadTask.access$000(StreamDownloadTask.java:36)
        at com.google.firebase.storage.StreamDownloadTask$1.call(StreamDownloadTask.java:167)
        at com.google.firebase.storage.StreamDownloadTask$1.call(StreamDownloadTask.java:164)
        at com.google.firebase.storage.StreamDownloadTask$StreamProgressWrapper.ensureStream(StreamDownloadTask.java:325)
        at com.google.firebase.storage.StreamDownloadTask$StreamProgressWrapper.access$100(StreamDownloadTask.java:262)
        at com.google.firebase.storage.StreamDownloadTask.run(StreamDownloadTask.java:175)
        at com.google.firebase.storage.StorageTask.lambda$getRunnable$7(StorageTask.java:1072)
        at com.google.firebase.storage.StorageTask$$Lambda$12.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)
E/StorageException: StorageException has occurred.
    Object does not exist at location.
     Code: -13010 HttpResult: 404
    Could not open resulting stream.
    java.io.IOException: Could not open resulting stream.
        at com.google.firebase.storage.StreamDownloadTask.createDownloadStream(StreamDownloadTask.java:145)
        at com.google.firebase.storage.StreamDownloadTask.access$000(StreamDownloadTask.java:36)
        at com.google.firebase.storage.StreamDownloadTask$1.call(StreamDownloadTask.java:167)
        at com.google.firebase.storage.StreamDownloadTask$1.call(StreamDownloadTask.java:164)
        at com.google.firebase.storage.StreamDownloadTask$StreamProgressWrapper.ensureStream(StreamDownloadTask.java:325)
        at com.google.firebase.storage.StreamDownloadTask$StreamProgressWrapper.access$100(StreamDownloadTask.java:262)
        at com.google.firebase.storage.StreamDownloadTask.run(StreamDownloadTask.java:175)
        at com.google.firebase.storage.StorageTask.lambda$getRunnable$7(StorageTask.java:1072)
        at com.google.firebase.storage.StorageTask$$Lambda$12.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:923)

Firebaseに癒着することを許容する

今はリポジトリにして切り分けているが, 分離するメリットよりデメリットが大きいように思う.
アプリの仕様レベルでFirebaseに依存しているので差し替えるタイミングが無く, テストにはFirebase Local Emulator Suiteを用いれば良い気がする(ユニットテストだと目標を達成できない可能性, 愚直にモックを作るのも吝かではない).

QRコード対応

QRのテキストはunique-keyとは別枠で用意したほうが良いのでは

検索機能の実装

  • 名前による検索
  • 種別による検索
  • リージョン/ボックスによるフィルタリング

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.