小编Man*_*ser的帖子

使用Guice for Android是否有意义

我在一个非常复杂且具有很多业务逻辑的android项目中使用guice进行辩论.Guice似乎很合适,但每当我开始深入阅读它时,它开始看起来比它需要的更复杂.

我不明白的一件事是:如果Guice是如此伟大并且是编写java代码的最佳方式,那么为什么使用Guice的Android代码如此之少......为什么Google没有在内部使用guice来安装Android?

android guice roboguice

23
推荐指数
4
解决办法
1万
查看次数

使用gradle将源上载到nexus存储库

我使用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)

java nexus gradle

21
推荐指数
2
解决办法
2万
查看次数

为什么Maven会更改Eclipse项目首选项?

首先,我正在使用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标签)并且我总是得到相同的错误.

我真的被卡住了.有人有线索吗?

eclipse configuration m2eclipse maven

18
推荐指数
1
解决办法
1万
查看次数

列出具有页眉,页脚和空白全部可见的活动

我希望ListActivity中的列表视图一直显示,即使列表数据为空,页眉和页脚也始终可见.

空列表会显示空视图,页眉和页脚将消失.但是我的标题有过滤UI,因此应始终可见.

我现在能够实现这一目标的唯一方法是,如果我从列表视图中取出页眉和页脚,并将其作为活动布局外部的静态视图实现.然而,这些始终是可见的,只有数据滚动.

我更希望两者都在滚动列表的顶部和底部.将它全部包装在滚动视图中不起作用,因为那时有两个嵌套的滚动视图(外部列表视图和包装一个).

除了添加假记录之类的黑客之外,有没有办法做得很好?

android listview

15
推荐指数
2
解决办法
1万
查看次数

锁定Android设备只运行一个应用程序

我想知道是否有人为我们提供了一个相对简单的解决方案.

我们创建了一个应用程序供我们的客户在我们提供的Android设备上使用.

我们希望客户端只能使用我们的应用程序并限制访问其他所有内容(例如设置,电子邮件等).在不使用第三方应用程序的情况下实现此目的的最佳方法是什么.

先感谢您!

android locking kiosk-mode

14
推荐指数
2
解决办法
3万
查看次数

使用Guice将依赖项注入Android活动的构造函数

有没有人知道如何使用Guice将依赖项注入到Android中的Activity的构造函数中?看起来活动通常只有默认构造函数,以便平台可以轻松创建新实例.虽然很容易有一个单例来引用注入器并以这种方式获得依赖关系,但它不那么干净并且引入了一些静态状态.

有什么建议?

android guice roboguice

13
推荐指数
1
解决办法
6370
查看次数

可靠地检测Android设备上的PDF支持

我正在使用一种方法来检测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:我希望能够向用户询问市场细节.

pdf android

13
推荐指数
1
解决办法
3415
查看次数

Android 4.4步检测器和计数器

有没有关于Android 4.4 KitKat(特别是现在的Nexus 5)步进检测器和计数器API的文档?我试图搜索很多,但没有找到任何东西.

我打算尝试使用这些新概念,并希望使用API​​,但互联网上没有任何内容.

android android-4.4-kitkat

13
推荐指数
1
解决办法
4万
查看次数

适用于较低平台版本的StrictMode

我已经开始使用Android StrictMode,并发现在开发期间始终运行它并不仅仅是我在git中创建的特殊分支上会很棒.我这样做的原因是我的应用程序要求以1.6及更高版本运行.

我在Android开发者博客上看到你可以设置它,以便通过反射激活它.我只是想知道它实际上是什么样的,如果有可能在这里(或其他地方)记录这些,而不是让所有想要使用它的人自己解决.

android android-strictmode

12
推荐指数
3
解决办法
8265
查看次数

我在哪里放置OBB文件来测试Nexus 4上的Android扩展包文件(OBB)?

我正在尝试按照此处的指南测试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和设备相机.

android apk-expansion-files

12
推荐指数
1
解决办法
2万
查看次数