我在一个非常复杂且具有很多业务逻辑的android项目中使用guice进行辩论.Guice似乎很合适,但每当我开始深入阅读它时,它开始看起来比它需要的更复杂.
我不明白的一件事是:如果Guice是如此伟大并且是编写java代码的最佳方式,那么为什么使用Guice的Android代码如此之少......为什么Google没有在内部使用guice来安装Android?
我使用maven插件成功地将我的罐子上传到nexus存储库,但它没有上传源代码.这是我的配置:
uploadArchives {
repositories{
mavenDeployer {
repository(url: "http://...") {
authentication(userName: "user", password: "myPassword")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我搜索并发现我可以通过添加新任务来添加源.
task sourcesJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives sourcesJar
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我认为必须有一个更好的解决方案,通过配置maven插件,像uploadSource = true这样:
uploadArchives {
repositories{
mavenDeployer {
repository(url: "http://...") {
authentication(userName: "user", password: "myPassword")
}
uploadSources = true
}
}
}
Run Code Online (Sandbox Code Playgroud) 首先,我正在使用Ubuntu 12.04,Eclipse Juno和embebbed maven 3.0.4(m2eclipse),我必须在一个遗留项目中工作,这是我从SVN repositroy获得的.
我遇到了Maven和Eclipse的一种配置问题.
我第一次做Maven> Update项目时遇到了"Maven Java EE配置问题"类型的"未知错误".我检查了我的项目的属性,我意识到java合规性级别设置为1.5,但我已激活1.6 JRE.好吧,我已经改为1.6版本(在Java Facet中),但是当我执行Maven> Update项目时,我的项目属性将恢复为默认值(也就是1.5版本),并且未知错误仍然存在.
我的pom.xml文件似乎没问题,我也尝试使用空的pom.xml更新项目(仅使用modelVersion,groupId,artifactId,version,name和url标签)并且我总是得到相同的错误.
我真的被卡住了.有人有线索吗?
我希望ListActivity中的列表视图一直显示,即使列表数据为空,页眉和页脚也始终可见.
空列表会显示空视图,页眉和页脚将消失.但是我的标题有过滤UI,因此应始终可见.
我现在能够实现这一目标的唯一方法是,如果我从列表视图中取出页眉和页脚,并将其作为活动布局外部的静态视图实现.然而,这些始终是可见的,只有数据滚动.
我更希望两者都在滚动列表的顶部和底部.将它全部包装在滚动视图中不起作用,因为那时有两个嵌套的滚动视图(外部列表视图和包装一个).
除了添加假记录之类的黑客之外,有没有办法做得很好?
我想知道是否有人为我们提供了一个相对简单的解决方案.
我们创建了一个应用程序供我们的客户在我们提供的Android设备上使用.
我们希望客户端只能使用我们的应用程序并限制访问其他所有内容(例如设置,电子邮件等).在不使用第三方应用程序的情况下实现此目的的最佳方法是什么.
先感谢您!
有没有人知道如何使用Guice将依赖项注入到Android中的Activity的构造函数中?看起来活动通常只有默认构造函数,以便平台可以轻松创建新实例.虽然很容易有一个单例来引用注入器并以这种方式获得依赖关系,但它不那么干净并且引入了一些静态状态.
有什么建议?
我正在使用一种方法来检测Android设备上的pdf支持
public boolean canDisplayPdf() {
PackageManager packageManager = application.getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这一直很有效.我知道至少HTC默认查看器,droidreader和adobe acrobat会以这种方式报告并返回正确的结果.但是我现在得到了一个用户对市场控制台的评论说他在设备上有pdf支持,但从应用程序的描述行为我得出结论,这个方法返回false.
有没有更好的方法来检测PDF格式的支持?
PS:我希望能够向用户询问市场细节.
有没有关于Android 4.4 KitKat(特别是现在的Nexus 5)步进检测器和计数器API的文档?我试图搜索很多,但没有找到任何东西.
我打算尝试使用这些新概念,并希望使用API,但互联网上没有任何内容.
我已经开始使用Android StrictMode,并发现在开发期间始终运行它并不仅仅是我在git中创建的特殊分支上会很棒.我这样做的原因是我的应用程序要求以1.6及更高版本运行.
我在Android开发者博客上看到你可以设置它,以便通过反射激活它.我只是想知道它实际上是什么样的,如果有可能在这里(或其他地方)记录这些,而不是让所有想要使用它的人自己解决.
我正在尝试按照此处的指南测试Android中的扩展包文件(OBB):http: //developer.android.com/google/play/expansion-files.html
我正处于需要在Nexus 4上测试我的应用程序的步骤.
我使用jobb生成了我的.obb文件,并在此位置的设备中将其adb推送:
/mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb
Run Code Online (Sandbox Code Playgroud)
当应用程序运行时,它找不到该文件.
方法:
Helpers.doesFileExist(context, fileName, xf.mFileSize, false)
Run Code Online (Sandbox Code Playgroud)
为我的文件返回false.
我调试并发现它正在寻找文件:
/storage/emulated/0/Android/obb/my.package/main.1.my.package.obb
Run Code Online (Sandbox Code Playgroud)
具体来说,这是返回的路径:
Helpers.generateSaveFileName(c, fileName)
Run Code Online (Sandbox Code Playgroud)
Environment.getExternalStorageDirectory()返回的/ storage/emulated/0不存在,使用adb shell浏览设备.
但是它在运行时,在应用程序内部,我还检查了它包含的内容:它包含了我在/ mnt/shell/emulated/0中发现的几乎相同的东西,它包含Android/obb目录,它是空的.
我如何找到路径/mnt/shell/emulated/0/Android/obb/my.package/main.1.my.package.obb我放置了我的obb文件:
$ adb shell
$ ls -ld sdcard
lrwxrwxrwx root root 2013-10-16 17:34 sdcard -> /storage/emulated/legacy
$ ls -ld /storage/emulated/legacy
lrwxrwxrwx root root 2013-10-16 17:34 legacy -> /mnt/shell/emulated/0
Run Code Online (Sandbox Code Playgroud)
在里面,我已经找到了Android/obb目录,空了.
所以问题是:我应该在哪里把我的obb文件放在运行时的正确位置?
我做了一切在那里说:
在Market中创建了一个草案应用程序来获取公钥
生成一个20字节的随机数组(盐)
集成了play_licensing/library和play_apk_expansion/download_library
写了我的服务/接收器
使用助手等进行检查..完全像文件说的那样.
我想一切正常但我还不能在Play商店发布!我需要在本地测试,我需要在开发的初始阶段经常更改我的obb文件.
我无法在模拟器上测试,因为我使用3D和设备相机.