小编Mar*_*los的帖子

Android 2.2上的View兼容方法(setScale和setPivot)

我有一个专为Honeycomb设计的应用程序,现在我需要让它在旧的Galaxy Tab(Android 2.2)上运行.

但我使用了一些不属于Froyo API的方法:

        //child is a View
        child.setPivotX(0);
        child.setPivotY(0);
        child.setScaleY(scaleFromOriginal);
        child.setScaleX(scaleFromOriginal);
Run Code Online (Sandbox Code Playgroud)

有人知道如何在2.2上取得相同的结果?

PS:我正在寻找兼容性包,但这些方法没有帮助.

android android-2.2-froyo android-3.0-honeycomb android-view

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

如何将unsigned char转换为jbyteArray

如何将unsigned char缓冲区转换为jbyteArray?我需要一个C++缓冲区并通过JNI返回Java.

这是我目前的代码.

JNIEXPORT jbyteArray JNICALL Java_com_rmsdk_wrapper_RMServices_getImageBuffer(JNIEnv *env, jobject thiso,
    jint w, jint h) {
    emh::PNGSurface * surface = services->getImageBuffer(w,h);
jbyteArray * buffer = (jbyteArray*)malloc(sizeof(jbyteArray)*surface->getBufferSize());
    unsigned char * imgBuff = surface->getBuffer();

    for(int i = 0; i < surface->getBufferSize();i++){
        buffer = imgBuff;
        buffer++;
        imgBuff++;
    }
    return *buffer;
};
Run Code Online (Sandbox Code Playgroud)

编译时出现以下错误.

Compile++ thumb  : rmsdk <= RMSDK_Wrapper_JNI.cpp
/home/marcos/dev/workspace/rmsdk.native.wraper/jni/RMSDK_Wrapper_JNI.cpp: In function '_jbyteArray* Java_com_rmsdk_wrapper_RMServices_getImageBuffer(JNIEnv*, _jobject*, jint, jint)':
/home/marcos/dev/workspace/rmsdk.native.wraper/jni/RMSDK_Wrapper_JNI.cpp:37: error: cannot convert 'unsigned char*' to '_jbyteArray**' in assignment
make: *** [/home/marcos/dev/workspace/rmsdk.native.wraper/obj/local/armeabi/objs/rmsdk/RMSDK_Wrapper_JNI.o] Error 1
Run Code Online (Sandbox Code Playgroud)

TY.

java java-native-interface

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

忽略重音SQLite3

如何使用LIKE子句忽略SQLite3上的重音?

PS:这是Android内置SQLite支持.

sql sqlite android

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

在Canvas.clipPath中使用hardwareAcceleration标志

我正在为Galaxy Tab 2移植一个为Galaxy Tab 2制作的项目,但是apk运行缓慢所以我在新应用程序的AndroidManifest.XML上添加了hardwareAccelerated标志.

但运行给我以下错误:

java.lang.UnsupportedOperationException
     at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:287)
     at br.com.iba.view.PageCurlView.drawCurl(PageCurlView.java:284)
     at br.com.iba.view.PageCurlView.onDraw(PageCurlView.java:353)
     at android.view.View.draw(View.java:9291)
Run Code Online (Sandbox Code Playgroud)

android opengl-es-2.0 android-3.0-honeycomb android-canvas

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

如何启用多点触摸以拖动事件

如何为应用程序启用多点触控支持,我希望两个用户触摸屏幕并同时发送应用程序的拖动事件.

我的组件上有这个代码

public boolean onTouchEvent(MotionEvent evt) {
        if (evt.getY() > 612) {
            east.notifyMotionEvent(evt);
            south.notifyMotionEvent(evt);
        } else {
            weast.notifyMotionEvent(evt);
            north.notifyMotionEvent(evt);
        }

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

但是只发送了一个拖动事件.

我现在支持的代码是

        for (int i = 0; i < evt.getPointerCount(); i++) {
            float y = evt.getY(i);
            if (y > 612) {
                eastPad.notifyMotionEvent(evt.getX(i), evt.getY(i));
                southPad.notifyMotionEvent(evt.getX(i), evt.getY(i));
            } else {
                weastPad.notifyMotionEvent(evt.getX(i), evt.getY(i));
                northPad.notifyMotionEvent(evt.getX(i), evt.getY(i));
            }
        }
Run Code Online (Sandbox Code Playgroud)

android multi-touch

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

用C/C++连接字符串

如何将字符串与C/C++连接?

我尝试了以下方法:

PS:errorInfo是一个char*我应该返回它.

        errorInfo = strcat("Workflow: ", strcat(
            workflowToString(workflow).utf8(), strcat(" ERROR: ",
                    errorCode.utf8)));

        sprintf(errorInfo, "Workflow %s ERROR: %s",
            workflowToString(workflow).utf8(), errorCode.utf8());

        errorInfo = "Workflow: " + workflowToString(workflow).utf8() + " ERROR: " + errorCode.utf8;
Run Code Online (Sandbox Code Playgroud)

只是sprintf编译,但运行我的应用程序崩溃.

PS:我正在使用Android的NDK

c c++ string android

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

Android游戏Android应用程序初学者问题

作为标题如何开始创建Android游戏?是否有任何Android游戏创建示例代码,使用了什么图形库?

谢谢.

android

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

设备根目录中的Acess文件

我正在为Galaxy Tab开发一个应用程序,现在我需要在/ data/data //文件夹中获取一些文件.

模拟器非常非常慢.所以我在设备上测试,需要从设备获取文件(我可以从模拟器中获取).我怎样才能做到这一点?

filesystems android

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

崩溃初始化std :: String

虽然Android-NDK(Android的JNI)我试图使用STL使其更容易使用字符串.

以下代码在执行时崩溃:

    __android_log_print(ANDROID_LOG_DEBUG, "RMSDK:RMServices", "[%s]", "Converting");
    std::string str("mark");
    __android_log_print(ANDROID_LOG_DEBUG, "RMSDK:RMServices", "[%s]", str);
Run Code Online (Sandbox Code Playgroud)

执行时,将打印以下堆栈.

DEBUG/RMSDK:RMServices(11786): [Converting]
INFO/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
INFO/DEBUG(31): Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
INFO/DEBUG(31): pid: 11786, tid: 11786  >>> br.com.iba <<<
INFO/DEBUG(31): signal 11 (SIGSEGV), fault addr deadbaad
INFO/DEBUG(31):  r0 00000000  r1 00000000  r2 00000027  r3 00000000
INFO/DEBUG(31):  r4 00000000  r5 deadbaad  r6 00001728  r7 4618bd80
INFO/DEBUG(31):  r8 00261938  r9 002a5df0  10 00000000  fp 00000000
INFO/DEBUG(31):  ip …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android android-ndk android-stlport

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

收听WebView的javascript调用

我有以下HTML

<div>
    <input type="submit" onClick="anyJSFunction('Test')">
</div>
Run Code Online (Sandbox Code Playgroud)

我在WebView上打开它:

        web = new WebView(this);

        WebSettings settings = web.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setSupportMultipleWindows(false);
        settings.setSupportZoom(false);
        settings.setPluginsEnabled(true);
        settings.setDomStorageEnabled(true);

        web.setVerticalScrollBarEnabled(false);
        web.setHorizontalScrollBarEnabled(false);

        web.loadUrl("file:///sdcard/test.html");
Run Code Online (Sandbox Code Playgroud)

现在我想在调用'anyJSFunction'时听Java,并且能够获得它的参数.

怎么做到呢?

android android-webview

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