可否仅在jni中获取系统时间

可否仅在jni中获取系统时间,第1张

一 获取当前系统时间和日期并格式化输出:

import javautilDate;

import javatextSimpleDateFormat;

public class NowString {

public static void main(String[] args) {

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

Systemoutprintln(dfformat(new Date()));// new Date()为获取当前系统时间

}

}

二 在数据库里的日期只以年-月-日的方式输出,可以用下面两种方法:

1、用convert()转化函数:

String sqlst = "select convert(varchar(10),bookDate,126) as convertBookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";

Systemoutprintln(rsgetString("convertBookDate"));

2、利用SimpleDateFormat类:

先要输入两个java包:

import javautilDate;

import javatextSimpleDateFormat;

然后:

定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);

sql语句为:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";

输出:

Systemoutprintln(dfformat(rsgetDate("bookDate")));

比如要获取 要获取libjnixcldso绝对路径

File file=new File("/data/data/comdtBankappservice/lib/libjnixcldso")

简单的说就是/data/data/packagename/你的文件夹名称/文件名

非隐藏文件可以这样获取

以上方法只能获取动态共享库的绝对路径

对于像mindedat,publicdat以及其他一些文件获取路径的方式如下:

一,将文件放入assets文件夹下面(放入此文件夹下面的文件可通过InputStream in=contextgetAssets()open("publicdat"));

获得其二进制形式的流,具体例子如下

package comdtBankappservice;

import javaioFile;

import javaioFileOutputStream;

import javaioInputStream;

import javaioOutputStream;

import androidcontentContext;

import androidosEnvironment;

import androidutilLog;

/

获得加密文件的路径

@author hb

/

public class getEncryptionFilePath {

class Obj{

InputStream in;

String fileDir;

String folder;

}

String lock="";

private void getCryptFilePath(Obj obj){

synchronized(lock){

try{

if (EnvironmentgetExternalStorageState()equals(EnvironmentMEDIA_MOUNTED)) {

File cryptDir= new File(objfolder);

Logv("bb","创建的文件夹:"+objfolder);

cryptDirmkdirs();

OutputStream os= new FileOutputStream(objfileDir);

byte[] buf = new byte[102410];

int l;

Logv("bb","开始写文件");

InputStream in=objin;

while ((l = inread(buf)) != -1) {

oswrite(buf, 0, l);

osflush();

}

Logv("bb","文件已写完");

osclose();

inclose();

}

}catch(Exception e){

eprintStackTrace();

}

}

}

// 调用此方法获取文件在sdcard上面的绝对路径

public void execute(Context context){

InputStream in=null;

OutputStream out=null;

try{

in =(contextgetAssets()open("mixeddat"));

String fileDir_mixed="/sdcard/xcloudmixed/mixeddat";

final Obj obj=new Obj();

objin=in;

objfileDir=fileDir_mixed;

objfolder="/sdcard/xcloudmixed";

new Thread(){

@Override

public void run(){

getCryptFilePath(obj);

}

}start();

in =(contextgetAssets()open("publicdat"));

String fileDir_public="/sdcard/xcloudpublic/publicdat";

final Obj obj1=new Obj();

obj1in=in;

obj1fileDir=fileDir_public;

obj1folder="/sdcard/xcloudpublic";

new Thread(){

@Override

public void run(){

getCryptFilePath(obj1);

}

}start();

}catch(Exception e){

eprintStackTrace();

}

}

}

你这样直接转换是不行的JNIEXPORT jbyteArray JNICALL Java_Test_getByteArray(JNIEnv env, jobject obj){jbyteArray firstMacArray = env->NewByteArray( 6 );elidedjbyte bytes = env->GetByteArrayElements( firstMacArray, 0);for ( int i = 0; i < sizeof( pAdapterInfo->Address ); i++ ){bytes[ i ] = pAdapterInfo->Address[ i ];}env->SetByteArrayRegion(firstMacArray, 0, 6, bytes );return firstMacArray;}另外,给你一个有关各种转换的博客 >

OCX应该是activex控件啊,不需要用jni的,直接JS调用就可以了

引用方式

<object id="test" style="width: 100%; height: 100%;" classid="CLSID:xxxxxxxxxxxxxxxxxxx" CODEBASE="<%=requestgetContextPath()%>/XXXOCX#version=xxxxx">

</object>

调用直接使用js的test方法名(参数)就可以了!跟JNI没关系

以上就是关于可否仅在jni中获取系统时间全部的内容,包括:可否仅在jni中获取系统时间、如何获取android项目下某个文件的绝对路径、jni如何读取assets下图片/二进制文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9721348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存