小编Aye*_*ieh的帖子

找不到Javah错误android.app.Activity

我正在尝试为简单的NDK项目创建一个.h头文件.使用cygwin我浏览到myprojectDIR\jni目录,然后执行以下命令:

javah -o com_myproject_MyActivity.h -classpath  myprojectDIR\bin\classes com.myproject.MyActivity
Run Code Online (Sandbox Code Playgroud)

然后出现此错误消息:

Error: cannot access android.app.Activity
class file for android.app.Activity not found
Run Code Online (Sandbox Code Playgroud)

我在MyActivity类中有一个本机方法,所以我尝试创建一个名为NativeAccess(不扩展android SDK中的任何类)的新类,它工作正常,.h文件创建,ndk-build和测试设备成功!

所以我的问题是我需要在我创建的android活动和服务中使用我的本机方法,但我不能这样做因为Javah命令无法从android-sdk本身访问类.请注意我正在使用(Windows-7 x64),我有这些环境变量:

ANDROID_NDK : C:\Android\android-ndk-r7b
ANDROID_SDK : C:\Android\android-sdk
ANT_HOME    : C:\ANT\apache-ant-1.8.3
JAVA_HOME   : C:\Program Files\Java\jdk1.7.0_02
PATH        : %JAVA_HOME%\bin;%ANDROID_SDK%\tools;%ANDROID_SDK%\platform-tools;%ANDROID_NDK%;%ANT_HOME%\bin; (other unrelated stuff)
Run Code Online (Sandbox Code Playgroud)

提前致谢

java-native-interface android android-ndk javah

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

Firebase项目邀请

我有一个使用Firebase的项目,我需要为项目添加一个所有者.这是我加他的方式:

  1. 在Firebase控制台中打开项目.
  2. 单击项目名称旁边的设置轮以及所选权限.
  3. Firebase启动了一个新页面"IAM&Admin".
  4. 按下Add,显示弹出窗口.
  5. 输入用户gmail地址,该地址自动完成,因此永远不会是错误的电子邮件.
  6. 选择角色为OWNER.
  7. 按下ADD按钮.

现在它向我显示权限列表中的用户,并显示以下消息:

邀请已发送.待接受.

我看到了这个答案,其中说:

新添加的用户有时可能无法收到电子邮件邀请.所以一定要让他们知道你添加了它们.

我让用户在Skype上与我分享他的屏幕,这就是:用户确实收到了一封电子邮件邀请,当他按下接受邀请时,将打开firebase控制台页面,并在网址中显示项目名称!

但它没有显示我分享的项目.它只是加载Firbease控制台,显示他以前拥有的不同项目!

我仍然看到这个消息:

邀请已发送.待接受.

permissions sharing firebase google-cloud-messaging

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

Android 在单个请求中上传多个文件

我在多部分/表单数据请求中将内容发布到服务器。并且我发布的数据包含多个参数,包括文件数组参数 (files[])。

使用邮递员,我将参数和文件设置为:

first-parameter=text content
second-parameter=text content
files[0]={first selected file}
files[1]={second selected file}
Run Code Online (Sandbox Code Playgroud)

在邮递员上提交这个请求总是成功的,文件上传成功。

当我在邮递员上生成代码片段时,结果如下:

POST /api/*******/new HTTP/1.1
Host: ***.***.***.*** ip-address
Authorization: {authorization header}
Cache-Control: no-cache
Postman-Token: d15f13f1-4a65-81d1-bf91-f5accd1b1dd0
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="first-parameter"

first-parameter-value
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="second-parameter"

second-parameter-value
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="files[0]"; filename=""
Content-Type: 

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="files[1]"; filename=""
Content-Type: 

------WebKitFormBoundary7MA4YWxkTrZu0gW--
Run Code Online (Sandbox Code Playgroud)

在 Android 上,我将 Retrofit 与 HttpLoggingInterceptor 库一起使用,并在发布请求时使用 @PartMap 注释:

//API定义:

interface ApiDefinitions {

@Multipart
@POST("*******/new")
Call<ApiResponse> submitNew(@Header("Authorization") String authHeader,
                                      @PartMap Map<String, RequestBody> …
Run Code Online (Sandbox Code Playgroud)

android multipartform-data retrofit2

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

SimpleDateFormat解析时间和日期错误的分钟和秒

任何人都可以向我解释这段代码中有什么问题:

System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'").parse("2015-04-22T19:54:11.827Z"));

System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sss'Z'").parse("2015-04-22T19:54:11.0Z"));
Run Code Online (Sandbox Code Playgroud)

输出是:

Wed Apr 22 20:07:47 GMT+02:00 2015
Wed Apr 22 19:54:00 GMT+02:00 2015
Run Code Online (Sandbox Code Playgroud)

请注意输入时间中有毫秒的分钟差异.

java android date

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