Модели Namespaced в направляющих: каково состояние объединения?

За запросом нескольких разрешений сразу вы можете использовать этот метод link

compile 'com.kishan.askpermission:askpermission:1.0.3'

Если вы столкнулись с конфликтом в библиотеке поддержки, то

compile('com.kishan.askpermission:askpermission:1.0.3', {
    exclude group: 'com.android.support'
})

Теперь попросите разрешение

new AskPermission.Builder(this)
    .setPermissions(Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_EXTERNAL_STORAGE)
    .setCallback(/* PermissionCallback */)
    .setErrorCallback(/* ErrorCallback */)
    .request(/* Request Code */);

разрешенное разрешение обратного вызова

  public void onPermissionsGranted(int requestCode) {
// your code  }

разрешено отклонение обратного вызова

 public void onPermissionsDenied(int requestCode) {
// your code} 

ErrorCallbacks

public void onShowRationalDialog(PermissionInterface permissionInterface, int requestCode) {
// Alert user by Dialog or any other layout that you want.
// When user press OK you must need to call below method.
permissionInterface.onDialogShown();

}

public void onShowSettings(PermissionInterface permissionInterface, int requestCode) {
// Alert user by Dialog or any other layout that you want.
// When user press OK you must need to call below method.
// It will open setting screen.
permissionInterface.onSettingsShown();

}

17
задан kch 4 March 2009 в 21:48
поделиться

3 ответа

Лучшая рецензия, которую я видел по проблеме, от Строго Не введена . К моему знанию 2.3 не решил вопросов, что означает, что они все еще ненадежны.

14
ответ дан 30 November 2019 в 14:17
поделиться

У нас недавно были большие дебаты об этой внутренней части наша компания. Я думаю в конце дня, мы полагали, что, если Вы не можете таблицы пространства имен в базе данных, она не имеет никакого смысла к пространству имен модели. Мы обосновались на добавлении префикса наших моделей (Пользователь, UserAddress, UserEmailAddresses) и помещение их в пользовательский каталог, затем использование:

config.load_paths << "#{RAILS_ROOT}/app/models/users"

для загрузки моделей. Для управления многословием в наших моделях мы часто делаем это:

has_many :addresses, :class_name => "UserAddress"

При генерации, мы создаем его, как будто не было никакого пространства имен (пишите сценарий/генерируйте модели UserAddress), тогда вручную скопируйте его в пользовательский каталог.

Пожатие плеч. Я предполагаю в конце, который все это действительно дает Вам, более чистая структура каталогов, которая является на самом деле большей проблемой пользователю VIM как я, но хороший для TextMaters.

3
ответ дан 30 November 2019 в 14:17
поделиться

Я все еще избегал бы его. Что-либо полученное (который я не уверен, чем это честно было бы) будет определенно потеряно, когда Вы рассмотрите стычку и потерю краткости и ясности в Вашем коде.

Мое последнее приложение имеет 87 ресурсов и включает функции администрирования повсеместно. Я не вижу потребности в пространстве имен, по моему скромному мнению.

-2
ответ дан 30 November 2019 в 14:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: