使用以下代码片段实现了应用内更新功能:
private void showInAppUpdateDialog(boolean isMandatoryUpdate) {
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
|| appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
int appUpdateType = isMandatoryUpdate ? IMMEDIATE : AppUpdateType.FLEXIBLE;
int requestCode = isMandatoryUpdate ? REQUEST_APP_UPDATE_IMMEDIATE : REQUEST_APP_UPDATE_FLEXIBLE;
if (appUpdateInfo.isUpdateTypeAllowed(appUpdateType)) {
// start the app update
try {
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, appUpdateType, targetActivity, requestCode);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
}
}).addOnFailureListener(e -> {
e.printStackTrace();
});
}
Run Code Online (Sandbox Code Playgroud)
我正在安装 Android 9 的设备上测试应用程序内更新。 尽管如此,它仍然给我以下错误(ERROR_API_NOT_AVAILABLE):
com.google.android.play.core.install.InstallException: Install Error(-3): The API is not available …Run Code Online (Sandbox Code Playgroud) 我是Swift编程的新手.我无法理解以下代码.在以下代码中调用
sampleFunc方法:我不必在第二个参数中键入lastName.
class Counter {
var count: Int = 0
func incrementBy(amount: Int, numberOfTimes : Int) {
count += amount * numberOfTimes
}
}
var counter = Counter()
counter.incrementBy(1, numberOfTimes : 3)
print(counter.count)
func sampleFunc(firstName : String, lastName : String){
print("Hello \(firstName) \(lastName)")
}
sampleFunc("Abel", "Rosnoski")
Run Code Online (Sandbox Code Playgroud)为什么会有细微差别?请解释.
我想结合默认的VideoView和手势侦听器,
如果用户向左滑动则歌曲向后播放或向右滑动则歌曲向前播放,我想在 VideoView 上实现同样的方法。
通过以下代码打开默认媒体播放器:
Intent intent = new Intent("android.intent.action.MUSIC_PLAYER");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
那么如何添加手势监听器..?
我创建了一个基本示例,其中的活动是通过 LiveData 观察房间数据库。欲了解更多信息,请查看以下代码:
@Dao
interface NoteDao {
@Query("SELECT * FROM note ORDER BY date_created DESC")
fun getAll(): LiveData<List<Note>>
}
// Repository
class ReadersRepository(private val context: Context) {
private val appDatabase = Room.databaseBuilder(context, AppDatabase::class.java, DATABASE_NAME)
.build()
fun getAllNotes(): LiveData<List<Note>> {
return appDatabase.getNoteDao().getAll()
}
}
// ViewModel
class AllNotesViewModel(application: Application) : AndroidViewModel(application) {
private val repository = ReadersRepository(application)
internal var allNotesLiveData: LiveData<List<Note>> = repository.getAllNotes()
}
// Activity
class MainActivity : BaseActivity<AllNotesViewModel>() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
viewModel.allNotesLiveData.observe(this, Observer …Run Code Online (Sandbox Code Playgroud)