小编Har*_*der的帖子

我可以使用C++中的Android NDK创建位图并将其快速传递给Java吗?

我需要使用ndk在C++中创建Bitmaps并将它们传递给Java.我不是指复制,但实际上将它们作为参数传递或返回值或其他任何类似的东西,因为复制它们会太慢.我也真的需要在NDK部分而不是在java中创建它们.

有谁知道这样做的方法?

c++ java android bitmap

5
推荐指数
1
解决办法
3835
查看次数

在Java for Android中同步访问对象的推荐方法是什么?

我有需要在1个线程中显示的对象,并且还在2.线程中不断更新.Android上的Java是否有推荐的方式来处理对像互斥体这样的对象的这种访问(锁定/解锁)?

java multithreading android mutex

5
推荐指数
1
解决办法
266
查看次数

如何让我的android对话框全屏?

我已经尝试了所有我能找到的东西(在stackoverflow和网上),但我不知道怎么办不能将我的对话框设置为全屏.它有一个带有textview的scrollview,当textview中的文本不多时,scrollview不是全屏.即使没有多少文字可见,我怎么能强制它全屏?

我创建这样的对话框:

    final   TextView    box;
    final   Dialog      info    = new Dialog(cx);
    final   ScrollView  scroll;

    info.setContentView(R.layout.dialoginfo);
    info.setTitle("Info");
    info.setCancelable(true);
    info.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);

    scroll = ((ScrollView) info.findViewById(R.id.scrollviewinfo));
    scroll.setPersistentDrawingCache(ScrollView.PERSISTENT_NO_CACHE);
    scroll.setScrollbarFadingEnabled(false);
    box = (TextView) info.findViewById(R.id.infotext);
    box.setText(text);
    info.show();
Run Code Online (Sandbox Code Playgroud)

这是xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/infolayout"
>

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ImageView01"
        android:layout_weight="1.0"
        android:id="@+id/scrollviewinfo">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/infolayout2">

            <TextView   android:layout_margin="5dip" android:layout_width="fill_parent" android:layout_height="wrap_content"
                android:id="@+id/infotext"
                android:textSize="8sp" 
                android:text=""/>

        </LinearLayout>

    </ScrollView>


</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

java android fullscreen scrollview textview

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

如何在Java中将int []转换为ByteBuffer?

正如标题所说,我需要在Java中将int []转换为ByteBuffer.有推荐的方法吗?

我想通过JNI将ByteBuffer传递给C++.在这种情况下,对于任何特定的字节序转换,我需要注意什么?

编辑:对不起,我错误地写了ByteArray,但意味着类型ByteBuffer.

编辑:示例代码:

我剥掉了不必要的部分.我从c ++调用JNI上的Java函数来加载资源并将其作为bytebuffer传递回c ++.它适用于各种其他资源.现在我有一个"int []",并想知道是否有一种优雅的方式将其转换为bytebuffer,或者我必须采用旧式方式并将其填入for循环中.

ByteBuffer  resource= null;
resource = ByteBuffer.allocateDirect((x*y+2)*4).order(ByteOrder.nativeOrder());
.
.
ByteBuffer GetResourcePNG(String text)
{
    .
    .
    int []  pix;
    map.getPixels(pix,0,x,0,0,x,y);

    return resource;
}
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface

3
推荐指数
1
解决办法
3374
查看次数

如何在Android OpenGL-ES 2.0片段着色器中设置可以使用它们的纹理?

我尝试在1个片段着色器中访问2个纹理.

为此我有2个纹理,我用以下代码设置:

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

glVertexPointer(2, GL_FLOAT, 0, vbuff);
glTexCoordPointer(2, GL_FLOAT, 0, tbuff);

glActiveTextureARB(GL_TEXTURE0_ARB);
glBindTexture(GL_TEXTURE_2D, texture0);
glEnable(GL_TEXTURE_2D);

glActiveTextureARB(GL_TEXTURE1_ARB);
glBindTexture(GL_TEXTURE_2D, texture1); 
glEnable(GL_TEXTURE_2D);
Run Code Online (Sandbox Code Playgroud)

我尝试将它们与以下片段着色器结合使用:

uniform sampler2D tex0;
uniform sampler2D tex1;
void main()
{
    vec4 texval1 = texture2D(tex0, TextureCoordOut);
    vec4 texval2 = texture2D(tex1, TextureCoordOut);
    gl_FragColor = 0.5*(texval1 + texval2)
}
Run Code Online (Sandbox Code Playgroud)

不知何故,这不起作用,它只显示第二个纹理.

PS:我正在开发Windows7上的着色器,但是想在Android设备上使用C++代码和Android NDK上的着色器.

编辑:我得到它的工作,我在这里发布代码,以便其他人可以从中受益:

顶点着色器

varying vec2 TextureCoordOut;
void main()
{
    gl_Position = ftransform();
    TextureCoordOut = vec2(gl_MultiTexCoord0);
}
Run Code Online (Sandbox Code Playgroud)

片段着色器

varying mediump vec2 TextureCoordOut;
uniform sampler2D tex0;
uniform sampler2D tex1;
void main()
{
    gl_FragColor = …
Run Code Online (Sandbox Code Playgroud)

android opengl-es fragment-shader

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

如何改变android复选框按钮的大小?

我更改了Android 2.3.4复选框的位图,并希望设置位图的大小以缩放它们.我改变了这样的复选框:

<CheckBox
    android:id="@+id/cb1"
    android:button="@drawable/checkbox"
    android:layout_alignParentLeft="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Sort: 1" />
Run Code Online (Sandbox Code Playgroud)

与匹配的xml drawable

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"  android:state_focused="true"    android:drawable="@drawable/checkbox_on_background_focus_yellow"/>
    <item android:state_checked="false" android:state_focused="true"    android:drawable="@drawable/checkbox_off_background_focus_yellow"/>
    <item android:state_checked="false" android:drawable="@drawable/checkbox_off_background" />
    <item android:state_checked="true"  android:drawable="@drawable/checkbox_on_background" />
</selector>
Run Code Online (Sandbox Code Playgroud)

如何设置dip/dp值来更改复选框位图的大小?

java checkbox android bitmap

0
推荐指数
1
解决办法
5256
查看次数

带有意外发现博客的Apache rewriterule不起作用

我正在使用意外的博客,并希望在apache htaccess文件中进行重写,当在浏览器中打开/ info时它会打开/index.php?/categories/1-Info.

我试过跟随rewriterule:

RewriteRule ^info index.php?/categories/2-Info [L]
Run Code Online (Sandbox Code Playgroud)

它不起作用.当我改变替换成别的东西(如http://www.google.com)它去那里,所以模式应该工作,但它并没有告诉我,我想看到的偶然性类别.当我手动输入时,地址确实有效.

我阅读了十几个带有指南的网页,并使用"http://martinmelin.se/rewrite-rule-tester/"来验证我的重写,但我仍然无法让它工作.不幸的是,我也看不到或设置任何记录.

我如何更改重写?

编辑:

我的.htaccess文件如下所示:

# BEGIN s9y
ErrorDocument 404 /data/script/index.php
DirectoryIndex /data/script/index.php
Options -MultiViews

RewriteEngine On
RewriteBase /data/script/
RewriteRule ^info index.php?/categories/2-Info [L]

<Files *.tpl.php>
    deny from all
</Files>

<Files *.tpl>
    deny from all
</Files>

<Files *.sql>
    deny from all
</Files>

<Files *.inc.php>
    deny from all
</Files>

<Files *.db>
    deny from all
</Files>

# END s9y
Run Code Online (Sandbox Code Playgroud)

apache .htaccess mod-rewrite

0
推荐指数
1
解决办法
126
查看次数

在某种程度上可以用Eclipse为Java提供不同的文件名吗?

正如标题已经说过的那样,我想知道是否有可能在Eclipse中使用Eclipse为类提供不同的文件名?

编辑:我只想知道Eclipse是否可行.如果你不知道答案,请抵制回应的反应.

编辑2:我在这里得到什么样的回应真是太搞笑了.我想知道的是,是否有可能有一个具有不同文件名的类(我的意思是公共类)而没有别的.我认为这是提出这些问题的论坛,但我得到的第二个反应已经是一种侮辱.这是某种禁忌问题还是发生了什么?

java eclipse filenames classname

-1
推荐指数
1
解决办法
165
查看次数