(Android)リアルタイム更新?気をつけて
今日、私は後輩と先輩の開発者に私の過程を残したいと思っています.彼らは私が2番目の自分になるかどうか分かりません.
どうして現場更新を書くのですか?
AppがMarketをパブリッシュしない場合は、理由は簡単です.
これは、権限が厳しいグーグルに対して絶対的な禁止行為をしたソフトや、政府機関が使用したソフトです.
うちの会社は後者です.
このアプリケーションはappmarketでは公開されないので、独自のリアルタイム更新を使用します.
どうやって生放送を更新しますか?🤨🤨
文字が苦手な友達のためにFlow Chartを描きました
このようにして実行し、リアルタイムで更新する会社も変わらないだろう.
また、この過程でエラーが発生する可能性があるのは
1.テキストファイルのダウンロードパス
2.全体式
3.APKダウンロードパス
.
エラー処理も完璧だと思います.(なぜエラー処理がこうなったのか分からないので、すぐに教えてあげたいと思います)
なぜユニットテストが必要ですか?
var iServerVersion = 0.0
var iLocalVersion = 0.0
try {
//패키지 이름을 가져온다.
val pInfo: PackageInfo = mContext.getPackageManager().getPackageInfo(Utils.FORESTVIEW_PACKAGE_NAME, PackageManager.GET_META_DATA)
val sLocalVersion: String = String.valueOf(pInfo.versionName)
iServerVersion = Double.parseDouble(ServerVersion)
iLocalVersion = Double.parseDouble(sLocalVersion)
} catch ( e : PackageManager.NameNotFoundException) {
e.printStackTrace();
}
//가져온 패키지의 버전이 높다면
if (iServerVersion <= iLocalVersion) {
FileDownLoad = "N"
break;
}
ここにExceptionができましたExceptionが処理したので、アプリは死なないと思いますが、もっと大きな問題は:
var iServerVersion = 0.0
var iLocalVersion = 0.0
このような宣言によってExceptionに入ると、iServerVersion <= iLocalVersion
は同じであるため、更新を実行しません.その結果、アプリケーションの最新バージョンをダウンロードした人は、最新バージョンを更新できません.
ここで、開発者は常に疑いを抱くことを学んだ.
もしエラー処理中にこのようなエラーが発生したら?単位テストを行うべきです.
Xになったらどうする?
このソフトウェアは何万人もの人が使用していると思います.
メールを送ってAPKを再ダウンロードしようとしたら、誰がバージョンを更新したのか分からない.
では、数万人にメールを送るのではないでしょうか.
幸いなことに、当社のアプリケーションを使用する人が少ないため、「del」(ラッキーなのか悲しいのか)「del」の問題は小さいが、この問題を予防する方法を考えなければならない.
すぐに修復しなければならないもの
まず最初にexceptionの改良です.
var iServerVersion = 0.1
var iLocalVersion = 0.0
try {
//패키지 이름을 가져온다.
val pInfo: PackageInfo = mContext.getPackageManager().getPackageInfo(Utils.FORESTVIEW_PACKAGE_NAME, PackageManager.GET_META_DATA)
val sLocalVersion: String = String.valueOf(pInfo.versionName)
iServerVersion = Double.parseDouble(ServerVersion)
iLocalVersion = Double.parseDouble(sLocalVersion)
} catch ( e : PackageManager.NameNotFoundException) {
e.printStackTrace();
iServerVersion= 0.1
}
//가져온 패키지의 버전이 높다면
if (iServerVersion <= iLocalVersion) {
FileDownLoad = "N"
break;
}
0.0を0.1に変更し、Exceptionに移行したときに0.1と宣言した場合、この問題は発生しません.
しかし、他のコードではこのようなことが起こり得るため、(ココアではエラーも多い)
更新されたユーザだけが単独で抽出できるようになれば,より容易になる.br/>
そのため、個人情報WASを構築するコストが高すぎる.
これが問題なら...クラウドサーバーを使えばいいんじゃないですか?!
FireStoreの使用
考えてみれば、GoogleはFirebaseとFireStoreを発売しています.
FireStoreとは?
NoSQLクラウドデータベースを使用してデータを保存および同期できます.
すべてのクライアントは、アプリケーションがオフラインであってもデータをリアルタイムで同期できます.
<>認証もセキュリティもFireStoreが自分で管理するという選択肢はありますか?
すると、このデータベースで暗号化された携帯電話番号とアプリケーションのバージョンがcollection
になりました.
セキュリティ上の理由で表示することはできませんが、このように作成します.
結末はいつもすばらしい結末だ
これでまたトラブルを起こしました
あまり予防が悪くないので、悪くない経験だと思います.では.ここまで~!😘
Reference
この問題について((Android)リアルタイム更新?気をつけて), 我々は、より多くの情報をここで見つけました https://velog.io/@vov3616/Android라이브-업데이트-한다구요-반드시-조심하세요テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol