如何在Java中以编程方式获取android 2.3及更高版本中当前启动程序的包名?
我试图在Android NDK C++文件中使用STL.我尝试使用map,vector和各种其他stl类,我无法编译它,因为它找不到文件.
我的类标题以:
#pragma once
#include <map>
#include <iostream>
#include <stdexcept>
#include <vector>
#include <set>
#include <list>
#include <algorithm>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
2> In file included from jni/../../Classes/Assist/Test.cpp:1:
2> jni/../../Classes/Assist/Test.h:2:15: error: map: No such file or directory
2> jni/../../Classes/Assist/Test.h:3:20: error: iostream: No such file or directory
2> jni/../../Classes/Assist/Test.h:4:21: error: stdexcept: No such file or directory
2> jni/../../Classes/Assist/Test.h:5:18: error: vector: No such file or directory
2> jni/../../Classes/Assist/Test.h:6:15: error: set: No such file or directory
2> jni/../../Classes/Assist/Test.h:7:16: error: list: No such file or …
Run Code Online (Sandbox Code Playgroud) 如果点击列表视图项,如何禁用单击声音?
PS:我有android 2.3.4并用Java创建listview.
编辑:我通过添加以下内容解决了:
android:soundEffectsEnabled="false"
Run Code Online (Sandbox Code Playgroud)
到listview布局的xml.
是否有一个最小的纹理大小,某些硬件需要支持以符合OpenGL-ES 2.0规范?
类似GL_MAX_TEXTURE_SIZE值必须至少为1024或2048或类似的东西?
我想知道这个的原因是因为我在使用着色器的东西上工作,因此必须是OpenGL-ES 2.0.因此,我想使纹理尽可能大,而不必考虑每个硬件纹理限制(如只有512x512的旧手机).
如果有一个最小数量(或大多数设备支持的某个值)可以帮助我.
我的listview在2台设备上的行为是,当我过度滚动它时,它会变成黄色/橙色,或者它可以被过度滚动然后快速回退.后一种行为很糟糕,因为它显示了我想要阻止的背后的背景.
我试过了:
listview.setOverScrollMode(ListView.OVER_SCROLL_NEVER);
Run Code Online (Sandbox Code Playgroud)
并且它不再显示背景但现在有一个非常烦人的反弹效果.是否有可能同时禁用弹跳和过度滚动并使其滚动到达结束时刚刚结束而没有任何影响?
PS:我在两台设备上都使用android 2.3.
正如标题所说,我需要C/C++源代码或一个库,我可以使用它来解决二维矩形形状的Bin Packing问题,其中bin也是矩形,矩形也旋转了90°角以更好地适应.我已经拥有了所有必需的值,所以我不需要在线打包算法.
我只找到一个lib来处理一个方形箱而没有旋转,这对我的需求来说不够高效.
我真的很感激任何处理矩形bin和旋转的C/C++.
谢谢.
PS:计算所需的时间并不重要,只有结果.
PPS:它必须是C或C++,我没有找到任何有用的搜索stackoverflow ...
我正在为Android开发并使用Eclipse创建一个apk,它也有一个带有C++代码的.so文件.我的问题是,当我只更改C++代码并在Eclipse之外重新编译时,Eclipse并不总是看到它已被更改,我必须清理项目并重新构建它才能可靠地启动它.这种行为花费了我很多时间,因为Eclipse没有使用新的.so文件.
有没有办法强制Eclipse在运行之前始终重建项目?
(编辑:我尝试了一个只绘制三角形的样本,没有任何纹理或着色器,只有我的设备上的OpenGL-ES 1.1,并且可以看到相同的工件.我在模拟器中尝试了相同的样本,并且根本没有任何工件.这可能是Tegra 2问题还是我需要设置特定的状态或模拟器中不需要的东西?)
我在屏幕上渲染一个像素正确的正方形但是当我制作一个屏幕抓取并查看像素时,它们中的一些稍微偏离了像防褪色或过滤或类似的东西.您只能在放大它们时看到它,但这不是重点.我想在像素着色器中做一些数学运算,如果像素略微偏离,那对我没有好处.我需要它们就像我放入的位图一样.
这是一个问题的放大屏幕.在白线周围,暗值比它们应该略微亮一些:
我已经尝试过:
GLES20.glDisable(GLES20.GL_DITHER);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST );
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST );
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE );
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE );
Run Code Online (Sandbox Code Playgroud)
但它没有效果.像素略微偏离.它很容易在黑暗和白色像素之间看到,因为它旁边的暗像素略微更亮,并且用绘画程序检查r,g,b值也显示了我.
有人可以帮我这个吗?
更多信息:
我的设备的CPU是Tegra 2.0.我将256x256正方形渲染为256x256像素(我通过使用eclipse DDMS获取屏幕来检查).透明度关闭,位图的每个像素的alpha值为255.我使用alpha创建了表面为32位表面:
glSurface.setEGLConfigChooser(8, 8, 8, 8, 0, 0);
Run Code Online (Sandbox Code Playgroud)
我简化了代码,但在使用以下着色器渲染时仍然可以看到问题:
String vshaderquad = "attribute vec4 a_pos; \n" + // in position
"attribute vec2 a_tex; \n" + // in Texture coordinates
"varying vec2 vtex; \n" + // out Texture coordinates
"void main(void) { \n" +
" gl_Position = vec4(a_pos); \n" +
" vtex = a_tex; …
Run Code Online (Sandbox Code Playgroud) 在我的设备上运行应用程序中的服务(它不是我的应用程序,我无法卸载它,我的设备没有root),这总是耗电.我可以在我的设备应用程序设置中停止该服务,但有没有办法以编程方式停止它,所以我不必一直手动执行此操作?
也许像stopService(...); 工作?
是否有可能更改调度程序以防止重新启动服务?
"W/ActivityManager(178): Scheduling restart of crashed service xxxx in 5000ms
Run Code Online (Sandbox Code Playgroud)