更新Android SDK后,我启动了Android Studio.现在它显示后台任务持续运行消息
更新索引:扫描文件到索引.
在这种模式下,它几乎被绞死,我无法继续工作.无法找到停止后台任务的方法.重启Android Studio也无法正常工作.
当我编译时,javac输出:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`
Run Code Online (Sandbox Code Playgroud)
我希望压制这个警告.尝试-Xlint:none似乎没有帮助.
我的第一个问题是 -
class Explain() {
public Explain() {
}
}
Run Code Online (Sandbox Code Playgroud)
构造函数是否应始终声明为公共?
如果我创建一个private
构造函数怎么办?
我总是看到构造函数是隐含的public
.那么为什么private
构造函数有用呢?或者根本没用.因为没有人可以调用它,或者从不创建对象(因为private
构造函数)!这是我的第二个问题.
在Java中,我可以通过一个扫描一个字符串,然后我可以做的得心应手之类的东西,scanner.hasNext()
或者scanner.nextInt()
,scanner.nextDouble()
等.
这允许一些非常干净的代码来解析包含数字行的字符串.
这是如何在C#中完成的?
如果你有一个字符串说:
"0 0 1 22 39 0 0 1 2 33 33"
Run Code Online (Sandbox Code Playgroud)
在Java中,我会将其传递给扫描仪并执行操作
while(scanner.hasNext())
myArray[i++] = scanner.nextInt();
Run Code Online (Sandbox Code Playgroud)
或者非常相似的东西.什么是C#'这样做的方法?
是否可以组合两个jar文件,以便在applet标签中我可以简单地做类似的事情
archive="jarjar.jar/jar1.jar"... ...archive="jarjar.jar/jar2.jar"... instead of
archive="jar1.jar"... ...archive="jar2.jar"...
Run Code Online (Sandbox Code Playgroud)
我只需要一个jar文件,所以将两个jar文件放在一个文件夹中对我没用.
我的每个底角都有两个按钮MapView
,部分遮挡了左下角的Google徽标.
为了符合API的条款和条件,我需要将Google徽标重新定位到更加明显的位置.即在按钮上方.
谷歌API文档声明谷歌徽标是在onDraw()
方法中绘制的,MapView
但我不知道如何正确覆盖它,因为谷歌地图是封闭源.
我能做到这一点在iPhone通过找到正确UIView
的MKMapView's
孩子,但我想不通,我怎么能在Android中做到这一点.
我在android中开始编程,我在一个活动中有3个按钮.
我看到一些示例代码将相同的OnClick
事件分配给所有按钮(即使它们执行完全不同的操作),并且在方法Switch(id)
案例中...
什么是更好的方法?一个onClick
方法和切换或许多方法,每个按钮一个?
谢谢.
我刚开始玩谷歌原型.当我尝试编译proto-java示例中存在的proto文件时,它不会生成任何grpc文件.
proto文件, https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/hello_world.proto
终端输出,
rsonkhla @ raman-OptiPlex-9020:〜/ sandbox/grpc-java/examples $ protoc --version libprotoc 3.0.0 rsonkhla @ raman-OptiPlex-9020:〜/ sandbox/grpc-java/examples $ protoc --java_out = test/-I ../../ grpc-java/examples ../../grpc-java/examples/src/main/proto/hello_world.proto rsonkhla @ raman-OptiPlex-9020:〜/ sandbox/grpc-java/examples $ ls -R test/test /:io
test/io:grpc
test/io/grpc:示例
test/io/grpc/examples:helloworld
test/io/grpc/examples/helloworld:HelloRequest.java
HelloResponse.java HelloWorldProto.java HelloRequestOrBuilder.java HelloResponseOrBuilder.java
还有其他人遇到过这个问题吗?
我试图在4.3中使用新的BTLE API在Nexus 7上实现BTLE SERVER.我遇到了几个问题.首先,SDK没有示例.唯一的例子是客户.其次,文档实际上告诉你做错了.它声明必须使用该BluetoothAdapter.getProfileProxy() with a BluetoothProfile.GATT_SERVER
参数来获取BluetoothGattServer
对象.这种方法可行,但是人们无法将其实现BluetoothGattServerCallback
与BLE堆栈相关联.(此回调是人们如何响应客户端读取和写入请求等.)但是,在问题58582上遇到绊脚石后,开发人员指出了一个新BluetoothManager.openGattServer()
方法,它将您的回调作为参数并返回一个BluetoothGattServer
对象.好吧,一个问题解决了.
下一个问题更成问题.该BluetoothGattServer
文档指出,可以使用此类来创建和宣传蓝牙LE服务和特征.创建服务等不是问题,但他们忽略了如何开始做广告.类本身或我可以找到的任何其他类中没有方法.
有谁知道如何做到这一点?目前我所能看到的是使用客户端使用的相同方法,但这种方法涉及扫描(不是广告).所有文档进一步表明,BluetoothAdapter.startLeScan()
IS确实只是用于扫描.
那么一旦我的所有服务,特征和描述符到位,我该如何调用广告?
protected MediaPlayer _mediaPlayer;
protected void playFromResource(int resId)
{
if (_mediaPlayer != null)
{
_mediaPlayer.stop();
_mediaPlayer.release();
}
_mediaPlayer = MediaPlayer.create(this, resId);
_mediaPlayer.start();
}
Run Code Online (Sandbox Code Playgroud)
此代码用于在模拟器和设备上正常工作.从一段时间以来(我认为自从我更新到ADT r10以来)它只适用于设备.在仿真器上不再有声音,应用程序在通过时会冻结on _mediaPlayer.release()
(第二次调用该函数).我能够从通过更换崩溃保持应用程序stop()
,并release()
通过reset()
,但它并没有解决的主要问题:有在模拟器上没有声音.
日志文件在调用之后显示了一堆这些(仅在模拟器上) start()
03-09 19:14:30.716:WARN/AudioTrack(34):obtainBuffer超时(CPU是否挂起?)0x1afb8 user = 00001e00,server = 00000600
任何线索????