小编Rom*_*'ai的帖子

如何获得Android 4.0+的外部SD卡路径?

三星Galaxy S3有一个extrenal SD卡插槽,安装到/mnt/extSdCard.

我的问题是:如何通过类似的方式获得这条路径Environment.getExternalStorageDirectory()?这将返回mnt/sdcard,我找不到外部SD卡的API.(或某些平板电脑上的可移动USB存储器)

谢谢!

android android-sdcard

91
推荐指数
9
解决办法
17万
查看次数

使用本地Maven仓库时未显示Javadoc

我在下面发布了一个带有build.gradle的工件:

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://maven")
            pom.groupId = 'com.totvnow'
            pom.artifactId = 'tonedetect-lib'
            pom.version = '0.1.0'
        }
    }
}

task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
    classifier = 'javadoc'
    from androidJavadocs.destinationDir
}

artifacts {
    archives androidJavadocsJar
}

我成功地在repo目录中获取了javadoc文件:

tonedetect-lib-0.1.0-javadoc.jar
tonedetect-lib-0.1.0-javadoc.jar.md5
tonedetect-lib-0.1.0-javadoc.jar.sha1

但是当我在另一个模块的build.gradle中使用它时:

buildscript {
    repositories {
        jcenter()
        maven { url 'somepath\\maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'somepath\\maven' …

android javadoc gradle android-studio

14
推荐指数
1
解决办法
749
查看次数

ContentProvider的ClassNotFoundException

我有一个ContentProvider类,并在AndroidMenifest.xml中声明如下:

<provider android:name=".MediaSearchProvider"
    android:authorities="org.iii.romulus.meridian.mediasearch">
    <path-permission android:path="/search_suggest_query"
        android:readPermission="android.permission.GLOBAL_SEARCH" />
</provider>
Run Code Online (Sandbox Code Playgroud)

它适用于大多数设备,但市场告诉我一些用户正在遭遇错误.堆栈跟踪是:

java.lang.RuntimeException: Unable to get provider org.iii.romulus.meridian.MediaSearchProvider: java.lang.ClassNotFoundException: org.iii.romulus.meridian.MediaSearchProvider in loader dalvik.system.PathClassLoader[/mnt/asec/org.iii.romulus.meridian-1/pkg.apk]
at android.app.ActivityThread.installProvider(ActivityThread.java:4509)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4281)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4237)
at android.app.ActivityThread.access$3000(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: org.iii.romulus.meridian.MediaSearchProvider in loader dalvik.system.PathClassLoader[/mnt/asec/org.iii.romulus.meridian-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.ActivityThread.installProvider(ActivityThread.java:4494)
... 12 more
Run Code Online (Sandbox Code Playgroud)

我完全不知道发生了什么,我无法在任何手机上重现它.我也试过干净和构建,但报告仍然出现.有人可以帮忙吗?谢谢!

android

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

Android Studio:制作模块时"无法为对象堆保留足够的空间"

我尝试使用Android Studio 0.1来构建一个用于练习的小项目,但是当我制作模块时,Android Studio会说:

Android Dex: [(Module Name)] Error occurred during initialization of VM
Android Dex: [(Module Name)] Could not reserve enough space for object heap
Run Code Online (Sandbox Code Playgroud)

我正在使用Windows 7 64位,JDK 1.7,8GB RAM.我不熟悉gradle,也不知道如何解决它.我的另一台几乎相同的PC没有这个问题.

我试图修改studio.exe.vmoptionsbin文件夹,当我设置-Xmx768M时,可以看到右下角更改为742M.但错误仍然存​​在.另外,如果我想设置像一个较大的值-Xmx2G,则studio.bat显示:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)

然后Android Studio就无法启动.

有没有办法让我的Android Studio可用?非常感谢你.

android android-studio

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

如何在Java/Android中定义新的Charset?

在台湾,我们有一个名为"Unicode At One(UAO)"的字符编码,它是BIG-5的扩展,但Java和Android不支持.
代码页位于http://moztw.org/docs/big5/table/uao241-b2u.txt

我的问题是,如何使用此Charset构建具有字节数组数据的String对象?
我想我会扩展String类并在其中做一些事情,但我不知道如何创建一个新的Charset.

java android character-encoding

10
推荐指数
1
解决办法
6938
查看次数

如何在Android Studio中导入库项目而不进行复制?

好的我知道人们已经问了好几千次这个问题,但Android工作室是如此难以理解和使用,我仍然找不到正确的方法.

我找到了几个解决方案,但他们都说要将库代码复制到主项目中.对我来说完全是无稽之谈.当我尝试为库构建一个独立项目时,我发现没有像Eclipse那样的"来自现有源的新项目".

我是否可以采取以下步骤:

  1. 我有一个主要的Android Studio项目
  2. 我有一个Eclipse Android库项目
  3. 没有制作图书馆项目的副本
  4. 我可以让主项目"使用"库项目

关键是,如果我有许多使用相同库源的应用程序项目,我只能修改一个副本.如果我需要在每个应用程序项目中放置库代码,那将是一场灾难.Eclipse可以毫无问题地执行此操作.

谢谢.我对Android Studio感到很沮丧,但我不能选择继续使用Eclipse,因为谷歌表示将不再支持ADT.

android android-studio

10
推荐指数
1
解决办法
5803
查看次数

如何以HDF5格式提供caffe多标签数据?

我想使用带有矢量标签的caffe,而不是整数.我已经检查了一些答案,看来HDF5似乎更好.但后来我遇到了错误:

accuracy_layer.cpp:34]检查失败:outer_num_ * inner_num_ == bottom[1]->count()(50 vs. 200)标签数量必须与预测数量匹配; 例如,如果标签轴== 1并且预测形状是(N,C,H,W),则标签计数(标签的数量)必须是N*H*W,{0,1,...,C-1}中的整数值.

HDF5创建为:

f = h5py.File('train.h5', 'w')
f.create_dataset('data', (1200, 128), dtype='f8')
f.create_dataset('label', (1200, 4), dtype='f4')
Run Code Online (Sandbox Code Playgroud)

我的网络由以下人员生成:

def net(hdf5, batch_size):
    n = caffe.NetSpec()
    n.data, n.label = L.HDF5Data(batch_size=batch_size, source=hdf5, ntop=2)
    n.ip1 = L.InnerProduct(n.data, num_output=50, weight_filler=dict(type='xavier'))
    n.relu1 = L.ReLU(n.ip1, in_place=True)
    n.ip2 = L.InnerProduct(n.relu1, num_output=50, weight_filler=dict(type='xavier'))
    n.relu2 = L.ReLU(n.ip2, in_place=True)
    n.ip3 = L.InnerProduct(n.relu1, num_output=4, weight_filler=dict(type='xavier'))
    n.accuracy = L.Accuracy(n.ip3, n.label)
    n.loss = L.SoftmaxWithLoss(n.ip3, n.label)
    return n.to_proto()

with open(PROJECT_HOME + 'auto_train.prototxt', 'w') as f: …
Run Code Online (Sandbox Code Playgroud)

python neural-network deep-learning caffe

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

Android AudioTrack不播放所有样本

我正在使用AudioTrack一系列正弦波,但是当我在HTC M9上运行它时,它只播放部分样本,并且它将播放多长时间是随机的.例如我有20个音调可以播放,但它只播放2到17.5个音调.是的,它甚至会在音调中间停止.

这是我的代码,来自另一个答案:

    ArrayList<double[]> samples = new ArrayList<>();
    int numSamples = 0;
    for (final ToneSegment seg : sequence) {
        int num =  seg.getDuration() * sampleRate / 1000;
        double[] sample = new double[num];
        for (int i = 0; i < num; ++i) {
            sample[i] = Math.sin(2 * Math.PI * i * seg.getPitch() / sampleRate);
        }
        samples.add(sample);
        numSamples += num;
    }

    byte generatedSnd[] = new byte[2 * numSamples];
    int idx = 0;
    for (double[] sample : samples) {
        for (final …
Run Code Online (Sandbox Code Playgroud)

android audiotrack

9
推荐指数
1
解决办法
741
查看次数

Android上的FCM通知是否可以覆盖前一个?

我正在使用FCM向Android设备发送通知.当应用程序处于后台时,如果我发送10个通知,则设备将在通知栏上显示10个条目.

我希望FCM在通知栏上只输入一个条目,即较新的条目将覆盖旧条目.我在https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream上找不到设置密钥的密钥.

有办法吗,或者不可能?谢谢.

android android-notifications firebase firebase-cloud-messaging firebase-notifications

7
推荐指数
1
解决办法
6433
查看次数

如何强制拆分ActionBar的标签和标题/主页/菜单?

我正在使用ActionBar带有a的标签功能PageViewer,但遇到问题.在我的Nexus 7上,标签显示如下:

在Nexus 7上

由于空间不足,您可以看到标题被剪切.但是对于Android 4.0的HTC Incredible S,它显示如下:

在此输入图像描述

这就是我想要的.我在factr中希望标签栏放在屏幕的底部,但是分成两行并且两者都在顶部是可以接受的.

有谁知道如何强制在Nexus 7上的应用程序也拆分标签栏到另一行?谢谢!

android

5
推荐指数
2
解决办法
8083
查看次数