web-dev-qa-db-ja.com

ドッグフードをしながらAndroidアプリケーションを開発する

私は最近JavaとAndroidの開発を学び始めました、そして私は自分のために小さなアプリを構築することによって学んでいます。何も派手ではありません、それは私の車。利用できるアプリがたくさんあることは知っていますが、簡単に習得できるアプリだと思いました。

とにかく、今はアプリをドッグフードしたいところまで来ましたが、新しい機能を追加しながらやりたいと思っています。問題は、アプリがSQLiteデータベースを使用していることです。新しい機能をテストするときは、レコードを追加/編集/削除する必要がありますが、実際にアプリを使用して作成しているため、これらのレコードも保持したいと思います。日常生活に。

通常、この状況にどのようにアプローチしますか?私は2つの選択肢があると思いました:

  1. Dogfoodは、アプリケーションの安定したブランチ/タグであり、開発ブランチから新しいアプリケーションを作成します。基本的には、現在使用している安定バージョンと、好きなようにハックアンドスラッシュできる開発インスタンスの2つのアプリがあります。
  2. 同じアプリで2つのSQLiteデータベースを使用し、それらの間の単純な切り替えを実装します。

この状況にどのように対処しますか?

1
Victor Stanciu

Gradleビルドフレーバーを使用して、同じコードベースから2つのAPKファイルを作成できます。

2つのAPKファイルのパッケージ名は異なります。パッケージ名が異なるということは、同じ電話に並べてインストールでき、ローカルデータベースも異なることを意味します。

productFlavors {
    Vanilla {
        packageName "com.example.myapp"
    }

    strawberry {
        packageName "com.example.myapp.dev"
    }
} 

製品フレーバーとオーバーライドリソースの詳細については、 このブログ投稿 を参照してください。

1
LordRaydenMK