我在JNI C/C++中有一个方法,它接受jstring并返回jstring,如下所示,
NATIVE_CALL(jstring, method)(JNIEnv * env, jobject obj, jstring filename)
{
// Get jstring into C string format.
const char* cs = env->GetStringUTFChars (filename, NULL);
char *file_path = new char [strlen (cs) + 1]; // +1 for null terminator
sprintf (file_path, "%s", cs);
env->ReleaseStringUTFChars (filename, cs);
reason_code = INTERNAL_FAILURE;
char* info = start_module(file_path);
jstring jinfo ;
if(info==NULL)
{
jinfo = env->NewStringUTF(NULL);
}
else
{
jinfo = env->NewStringUTF(info);
}
delete info;
info = NULL;
return jinfo;
}
Run Code Online (Sandbox Code Playgroud)
该代码与之前的Android 4.0版本(如2.2,2.3等)完美配合.使用ICS 4.0检查JNI默认打开,因此应用程序崩溃抛出以下错误
08-25 …
Run Code Online (Sandbox Code Playgroud) java-native-interface android android-ndk android-4.0-ice-cream-sandwich android-ndk-r7
我必须在android grpc客户端中添加自定义标头.我无法成功发送.
public class HeaderClientInterceptor implements ClientInterceptor {
@Override
public <ReqT, RespT> ClientCall<ReqT, RespT> interceptCall(MethodDescriptor<ReqT, RespT> method,
CallOptions callOptions, Channel next) {
return new SimpleForwardingClientCall<ReqT, RespT>(next.newCall(method, callOptions)) {
@Override
public void start(Listener<RespT> responseListener, Metadata headers) {
/* put custom header */
Timber.d("header sending to server:");
Metadata fixedHeaders=new Metadata();
Metadata.Key<String> key =
Metadata.Key.of("Grps-Matches-Key", Metadata.ASCII_STRING_MARSHALLER);
fixedHeaders.put(key, "primary.secondary");
headers.merge(fixedHeaders);
super.start(new SimpleForwardingClientCallListener<RespT>(responseListener) {
@Override
public void onHeaders(Metadata headers) {
/**
* if you don't need receive header from server,
* you can use {@link …
Run Code Online (Sandbox Code Playgroud) 我试图在不同的手机上测试我的NDK编程.相同的应用程序在所有其他手机上运行,但在三星4.0.2它只是停止,抛出以下错误.我错过了什么吗?任何帮助表示赞赏
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.Activity.performCreate(Activity.java:4486)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.ActivityThread.access$600(ActivityThread.java:127)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.os.Handler.dispatchMessage(Handler.java:99)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.os.Looper.loop(Looper.java:137)
10-29 12:02:57.729: E/AndroidRuntime(3626): at android.app.ActivityThread.main(ActivityThread.java:4511)
10-29 12:02:57.729: E/AndroidRuntime(3626): at java.lang.reflect.Method.invokeNative(Native Method)
10-29 12:02:57.729: E/AndroidRuntime(3626): at java.lang.reflect.Method.invoke(Method.java:511)
10-29 12:02:57.729: E/AndroidRuntime(3626): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:976)
10-29 12:02:57.729: E/AndroidRuntime(3626): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:743)
10-29 12:02:57.729: E/AndroidRuntime(3626): at dalvik.system.NativeStart.main(Native Method)
**10-29 12:02:57.729: E/AndroidRuntime(3626): Caused by: java.lang.UnsatisfiedLinkError: Cannot …
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取 Google 应用程序照片选择 UI。我正在使用 Appcompat 复选框来实现这一目标,但没有成功。我正在处理的步骤,1.将复选框背景设置为自定义圆形形状2.在xml中定义自定义形状
这是我的复选框 xml 的样子,
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:button="@drawable/custom_checkbox"
android:background="@drawable/checkbox_drawable"
/>
Run Code Online (Sandbox Code Playgroud)
我的自定义复选框背景,
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#78d9ff"/>
<solid
android:color="#79bfea"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
我的复选框按钮,
<selector>
<item android:drawable="@drawable/checkbox_drawable"
android:state_checked="false"/>
<item android:drawable="@drawable/selected_check"
android:state_checked="true"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
我什至从 android:background 更改为 android:button .. 没有任何东西给我圆形复选框 .. 感谢任何帮助吗?我应该使用浮动操作栏吗?或者一个视图?有什么建议 ?