应用程序如何在内部自动更新而不从 Playstore 更新?我的意思是应用程序的内部数据被更改(通过互联网)而不从 Playstore 更新。例如,任何竞赛应用程序或 Facebook 应用程序。在这里,新闻源会自动更新。
技术术语是什么?
有关于它的教程吗?
应用程序如何在内部自动更新而不从 Playstore 更新?我的意思是应用程序的内部数据被更改(通过互联网)而不从 Playstore 更新。例如,任何竞赛应用程序或 Facebook 应用程序。在这里,新闻源会自动更新。
技术术语是什么?
有关于它的教程吗?
如果您想检查您的应用程序是否有更新(不与 Google Play 交互),您必须轮询服务器(提供您当前的版本)并让服务器检查是否有更新的版本可用。如果是这种情况,让服务器响应更新日志和更新版本的 url。
幸运的是,有图书馆可以做到这一点:
https://github.com/bitstadium/HockeySDK-Android/blob/develop/hockeysdk/src/main/java/net/hockeyapp/android/tasks/DownloadFileTask.java#L194在打开下载的文件时具有完美且仍在工作的实现APK文件...
private fun install(downloadedAPK: File, context: Context) {
val intent = Intent(Intent.ACTION_INSTALL_PACKAGE)
intent.setDataAndType(Uri.fromFile(downloadedAPK),
"application/vnd.android.package-archive")
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
var oldVmPolicy: StrictMode.VmPolicy? = null
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
oldVmPolicy = StrictMode.getVmPolicy()
val policy = StrictMode.VmPolicy.Builder()
.penaltyLog()
.build()
StrictMode.setVmPolicy(policy)
}
context.startActivity(intent)
if (oldVmPolicy != null) {
StrictMode.setVmPolicy(oldVmPolicy)
}
}
Mdlc的回答是关于更新应用程序本身而不是内容。
最初询问的是如何创建具有动态内容的应用程序,例如 Facebook 或任何其他新闻源应用程序。
任何类型的此类应用程序都有两个部分:
服务器存储您需要的全部信息,客户端向该服务器发出请求并显示信息。
假设服务器在数据库中存储一个名为News#1
. 客户端请求新闻列表并array[News#1]
作为响应返回并在屏幕上显示一个图块。然后有人创建新条目News#2
。在对服务器客户端的下一个请求将获得 2 个元素的数组:array[News#1, News#2]
并显示此动态内容。
REST Api 客户端是开始的。
还可以查看 AppCenter(前 HockeyApp)应用内更新https://docs.microsoft.com/en-us/appcenter/distribution/inappupdates
你可以试试这个库:implementation 'com.github.vermat516:HelperLibrary:1.0.1'
在我看来这是最好的,我们只需要写的是:
new UniversalHelper(this).updateApp();
其余的工作将由图书馆自动完成
这是响应您的应用程序的外观[此]
这是替代品
https://developer.android.com/guide/app-bundle/in-app-updates#update_readiness
试试这个谷歌图书馆从应用程序更新
dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}