小编ran*_*ana的帖子

Android ICS 4.0 NDK NewStringUTF正在崩溃App

我在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

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

Android如何在grpc客户端中添加自定义标头?

我必须在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)

client android metadata grpc grpc-java

8
推荐指数
1
解决办法
6500
查看次数

Android NDK库仅在运行时未加载三星galaxy 4.0.2手机

我试图在不同的手机上测试我的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)

c c++ java android android-ndk

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

Android中自定义圆形复选框

我正在尝试获取 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 .. 没有任何东西给我圆形复选框 .. 感谢任何帮助吗?我应该使用浮动操作栏吗?或者一个视图?有什么建议 ?

checkbox android android-appcompat material-design

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