我在AndroidStudio中创建了一个带有几个模块的简单项目.每个模块的gradle脚本包含以下代码:
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
minSdkVersion 7
targetSdkVersion 18
}
}
Run Code Online (Sandbox Code Playgroud)
如何将此代码移动到主build.gradle脚本(项目的脚本)?此代码适用于所有子模块.
我有生产者和消费者联系BlockingQueue
.
消费者从队列中等待记录并处理它:
Record r = mQueue.take();
process(r);
Run Code Online (Sandbox Code Playgroud)
我需要从其他线程暂停这个过程一段时间.怎么实现呢?
现在我认为实现它,但它似乎是不好的解决方案:
private Object mLock = new Object();
private boolean mLocked = false;
public void lock() {
mLocked = true;
}
public void unlock() {
mLocked = false;
mLock.notify();
}
public void run() {
....
Record r = mQueue.take();
if (mLocked) {
mLock.wait();
}
process(r);
}
Run Code Online (Sandbox Code Playgroud) 如何从代码中找到路由器的IP地址(网关地址)?
WifiInfo.getIpAddress()
- 返回设备的IP地址.
在shell命令中,"ipconfig"不返回任何值.
这是我的解决方案,但如果有更好的方法,请告诉我:
WifiManager manager = (WifiManager)getSystemService(WIFI_SERVICE);
DhcpInfo info = manager.getDhcpInfo();
info.gateway;
Run Code Online (Sandbox Code Playgroud) 示例代码:
<permission
android:name="@string/permission_name"
android:protectionLevel="signature" >
</permission>
Run Code Online (Sandbox Code Playgroud)
构建时出错:元素中缺少name属性.
但我不想在我的不同应用程序中复制权限名称.是否存在一些修复它并包含资源许可的方法?