我正在通过用户的位置
Location location = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
Run Code Online (Sandbox Code Playgroud)
这行代码在方法内部,在调用此方法之前,我会检查Android运行时权限.只有当用户可以获得权限时,我才会调用此方法.代码工作得很好.
问题是Android Studio仍然在此行上显示错误,而不是在调用此函数之前已经检查过我已经检查过.
Call requires permission which may be rejected by user: code should explicitly check to see if permission is available (with `checkPermission`) or explicitly handle a potential `SecurityException`
Run Code Online (Sandbox Code Playgroud)
现在我该如何删除此警告?我已经检查了权限,并且不想再次检查只是为了删除此警告.我已经尝试添加@SuppressWarnings(),但不知道要传递给它的确切字符串. @SuppressWarnings({"all"})有效,但显然不推荐.
如何删除此警告?
编辑1:这是我的确切代码 -
private void checkPermissions() {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED)
getLocation(); //Method called if I have permission
}
private void getLocation() {
//Android studio shows warning at this line.
Location location = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
}
Run Code Online (Sandbox Code Playgroud)
但是如果我将权限检查放在getLocation()方法中,那么警告就会消失.@SuppressWarnings({"MissingPermission"})无效. …
android suppress-warnings android-studio runtime-permissions
我在我的代码中使用Express.js和Node.js v7.3.在这里我创建了一个User Router
将请求转发给我的User Controller
.
我在User Controller
异步调用中使用async/await .问题是IntelliJ给了我一个警告说
从login()返回的Promise将被忽略.
问题是我甚至没有从login()
方法中返回任何东西.
这是代码 -
UserRouter.js
router.post('/login', function (req, res, next) {
userController.login(req, res); // I get the warning here
});
Run Code Online (Sandbox Code Playgroud)
UserController.js
exports.login = async function (req, res) {
try {
const verifiedUser = await someFunction(req.body.access_code);
let user = await User.findOrCreateUser(verifiedUser);
res.status(200).send(user);
}
catch (err) {
res.status(400).send({success: false, error: err});
}
};
Run Code Online (Sandbox Code Playgroud)
如果我只使用本机承诺编写相同的登录方法,那么我不会收到此警告.我在这里理解错误或者IntelliJ有错吗?
编辑 -
感谢@Stephen,我知道async函数会返回一个promise,但如果Intellij发现没有从async函数返回任何内容并且没有显示该警告,那就不会更好了,因为当我.then()
在login()
函数之后链接a时,它undefined
在then结果中提供一个对象.这意味着如果我们不显式地从异步函数返回一些东西,那么返回undefined?
我想在图像的底部添加渐变.像这样的东西:
我试过这样的东西,但我只得到渐变没有图像..
<ImageView
android:id="@+id/trendingImageView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/trend_donald_sterling"
android:src="@drawable/trending_gradient_shape"
/>
Run Code Online (Sandbox Code Playgroud)
trending_gradient_shape:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="90"
android:endColor="@android:color/darker_gray"
android:startColor="@android:color/darker_gray" />
<corners android:radius="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud) 我想从一个启动系统的位置设置Intent
.我以编程方式知道它是这样的
Intent viewIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(viewIntent);
Run Code Online (Sandbox Code Playgroud)
但我需要从一个XML的XML中做到这一点Preference
.我试着这样
<Preference
android:title="@string/pref_title" >
<intent android:action="android.settings.ACTION_LOCATION_SOURCE_SETTINGS" />
</Preference>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我总是得到一个ActivityNotFoundException
.如何从XML Intent启动系统位置设置?
我正在按照本教程来备份和恢复单个MongoDB数据库.
备份命令 -
sudo mongodump --db newdb --out /var/backups/mongobackups/`date +"%m-%d-%y"`
Run Code Online (Sandbox Code Playgroud)
恢复命令 -
sudo mongorestore --db newdb --drop /var/backups/mongobackups/01-20-16/newdb/
Run Code Online (Sandbox Code Playgroud)
虽然它完美无缺,但MongoDB在恢复数据时给了我这个警告 -
只应在从BSON文件恢复时使用--db和--collection args.其他用途已弃用,将来不再存在; 请改用--nsInclude
有人可以解释如何删除此警告吗?
我正在使用MongoDB 3.4.1版本.
在Jest中是否可以运行在所有其他测试完成后运行的清理或拆卸任务?类似于setupFiles允许在任何测试运行之前设置任务的方式.无论测试是否有任何错误,如果这也可以运行,则可以获得奖励积分.
放置afterAll(() => {})
在文件的顶层(在任何描述函数之外)仅在该特定文件的测试完成后运行.
用例是我有很多测试文件可以在开发数据库中创建用户,我不想让每个测试文件负责清理和删除用户.编写测试时也会发生错误,因此如果发生清理而不考虑哪种错误更可取.
启动模拟器时,我收到此警告.
emulator: WARNING: Host CPU is missing the following feature(s) required for x86 emulation: SSSE3
Hardware-accelerated emulation may not work properly!
Run Code Online (Sandbox Code Playgroud)
发生的情况是模拟器弹出,但手机的屏幕保持黑色.我等了半个小时,但它只是保持黑色.
我已经从BIOS中启用了虚拟化.我在Ubuntu 14.04上,我的CPU处理器是AMD.
我正在使用Node 7.2.1和新的async/await功能.我也使用像这样的猫鼬本机ES6 Promises -
const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
Run Code Online (Sandbox Code Playgroud)
我的代码流是这样的 -
async function getFollowers(){
try {
const followers = await User.getFollowersFromMongo(req.params.userId);
res.send(followers);
} catch (err) {
winston.error('Printing Error = ', err);
res.status(400).send({success: false, error: err});
}
}
UserSchema.statics.getFollowersFromMongo = async(userId) => {
try {
let aggregateQuery = []; //some syntactical error in mongo query to produce exception
const followers = await User.aggregate(aggregateQuery);
return followers.map(follower => follower.followerData);
}
catch (err) {
return Promise.reject(err);
}
};
Run Code Online (Sandbox Code Playgroud)
这段代码非常好用.出现错误时会出现问题.所以我故意修改我的mongoose …
我忘了将它包含在Gradle中 -
compile 'com.android.support:recyclerview-v7:23.+'
Run Code Online (Sandbox Code Playgroud)
但是没有这个记录我的项目工作正常.那么,为什么我需要在Gradle中编写它?我可以只使用appcompat吗?
compile 'com.android.support:appcompat-v7:23.2.0'
Run Code Online (Sandbox Code Playgroud) 我正在查看NodeJs的@slack/client npm包的来源,并在顶部看到它们有这个:
var forEach = require('lodash').forEach;
var bind = require('lodash').bind;
var has = require('lodash').has;
var isArray = require('lodash').isArray;
var isEmpty = require('lodash').isEmpty;
var isObject = require('lodash').isObject;
Run Code Online (Sandbox Code Playgroud)
樱桃从lodash模块中挑选所有这一切有什么意义,当你只需要包含整个lib一次然后使用你需要的方法就可以使它变得更简洁?
// Include the whole lib
var _ = require('lodash');
// And later
if (_.isObject(...)) // etc
Run Code Online (Sandbox Code Playgroud)
这并不是说他们多次使用每种方法.事实上,大多数只使用一次或两次.另外,我的理解是,即使部分需要模块的一部分,整个过程也是eval()
如此,因此没有优势记忆或性能方面.
我觉得这个包写的很好,所以我很想知道他们为什么选择这样做.
我有一个邮政编码字段,我们可以在其中输入多个邮政编码。它是一个数组字段,我希望它应该是唯一的。
猫鼬模式 -
const RegionalZones = new Schema({
name : { type : String, required : true },
country : { type : String, required : true },
zipCodes : { type : Array, required : true},
isBlocked: { type: Boolean, default : false },
serviceTax: { type: Number, default:10},
cancelFee: {type: Number, default: 7.50},
contractorCancelFee: {type: Number, default: 7.50},
createdAt : {type : Date, default : Date.now},
updatedAt : {type : Date, default : Date.now}
});
RegionalZones.index({ country: 1, …
Run Code Online (Sandbox Code Playgroud) android ×5
node.js ×4
async-await ×2
es6-promise ×2
javascript ×2
mongodb ×2
mongoose ×2
arrays ×1
commonjs ×1
indexing ×1
jasmine ×1
jestjs ×1
mongodump ×1
mongorestore ×1
node-modules ×1
reactjs ×1
require ×1
slack-api ×1
unit-testing ×1