我正在尝试编写自己的jni源代码.看一些ndk示例,我发现他们经常使用那些宏JNIEXPORT和JNICALL,这些宏的名字跟java包一样
JNIEXPORT void JNICALL Java_com_example_plasma_PlasmaView_renderPlasma(JNIEnv * env, jobject obj, jobject bitmap, jlong time_ms)
我用Google搜索,但我无法理解何时以及如何使用这些宏
我的项目是关于在java中实现hyperGraph
我的hyperGraph包含各种类型的hyperEdge,具体取决于我所拥有的顶点类型
顶点类型:图像,标签......
HyperEdge =同质(关联相同类型的顶点)/异构(关联不同类型的顶点)
同构HyperEdge =图像图像HyperEdge/Tag-tag hyperEdge
这是一个快速绘制的UML图

这是我的代码
public interface HomogenousHyperedge< T extends Vertex<L>, L> extends Hyperedge {
public abstract List<T> searchNearstNeighborsVertex(
Hypergraph hypergraph, T vertex);
}
Run Code Online (Sandbox Code Playgroud)
public class ImageImageHyperedge implements
HomogenousHyperedge<ImageVertex, Map<String,Instance>> {
@Override
public List<ImageVertex> searchNearstNeighborsVertex(Hypergraph hypergraph,
ImageVertex vertex) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
问题出在ImageImageHyperEdge类中我应该知道基于它的特征是什么类型我将搜索ImageVertex最近邻居我不能将它传递给超级接口的抽象方法因为TagTagHyperEdge类不需要它
如果我用{featureOneHyperEdge类,... featureFiveHyperEdge类}替换ImageImageHyperEdge类(我知道它的特征类型)它将是一个重复的代码,因为它是相同的最近邻搜索算法
feature =图像的低级特征(例如颜色直方图)
我有5种低级特征
我将使用每种特征来搜索当前图像的最近邻居
所有特征都存储在一个简单的文本文件中
,使用相同的算法为了搜索最近的邻居
,每次只更改文件
我正在开发一个Android应用程序,它从java服务器接收图像URL,加载图像然后显示它
收到服务器响应后,我收到此错误
java.net.URISyntaxException: Illegal character in scheme at index 0: http://farm1.static.flickr.com/131/371306796_7e18d505fb_b.jpg
Run Code Online (Sandbox Code Playgroud)
那么如何解决这个问题呢?
我有一个6231x16825矩阵H和一个16825x1列向量W.
例如,如果W = [2; 3; 3 ...]' 和H = [1 2 3; 4 5 6 ...],我需要获得:
prod = [1*2 2*3 3*3; 4*2 5*3 6*3]
Run Code Online (Sandbox Code Playgroud)
这该怎么做?谢谢
我目前正在使用嵌入模式下的netbeans + hibernate + hsqldb开发一个java桌面应用程序.
在创建新数据库时,我遇到了以下异常: Cannot establish a connection to jdbc:hsqldb:hsql://localhost using org.hsqldb.jdbcDriver (java.net.ConnectException: Connection refused: connect)

这是我的干预BinaryHeterogenousHyperedge:
public interface BinaryHeterogenousHyperedge
<M extends Vertex<L>, L,T extends Vertex<E>, E>
extends Hyperedge
{
public <T> List<Vertex> search(T centroid ,List<M> allElemntsVertex);
}
Run Code Online (Sandbox Code Playgroud)
方法搜索有两个参数:
T(例如Tag Vertex)M!= T(例如Image Vertex)并返回两个类型T和的顶点列表M
TagsImagesHyperEdges 实现这个接口:
public class TagImagesHyperedge
implements BinaryHeterogenousHyperedge
<ImageVertex,Map<String, Instance> ,TagVertex,String>
{
@Override
public <T> List<Vertex> search(T centroid, List<ImageVertex> allElemntsVertex)
{
// TODO Auto-generated method stub
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么T不推断类型?
我有一个存储在文本文件中的双值对角矩阵.
size(file)~410 Mo
Run Code Online (Sandbox Code Playgroud)
我想通过舍入我的双值来减小大小.
如果它是一个好主意,如何在java中做到这一点
0.1706524958886193=>0.17
Run Code Online (Sandbox Code Playgroud)
我需要稍后在matlab中使用这个文件
当我尝试
dlmread(文件)我出现内存不足错误
这是我的连接代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DL_URL = "http://localhost:8080/project-server/rest/?value=test";
downloadJsonFile();
}
private void downloadJsonFile() {
try {
createFileAndDirectory();
URL url = new URL(DL_URL);
HttpURLConnection urlConnection;
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.connect();
int status = urlConnection.getResponseCode();
Log.v("gg", Integer.toString(status));
if (status == HttpURLConnection.HTTP_OK) {
FileOutputStream fileOutput = new FileOutputStream(jsonFile);
InputStream inputStream = urlConnection.getInputStream();
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ((bufferLength = inputStream.read(buffer)) > 0) {
fileOutput.write(buffer, 0, bufferLength);
}
fileOutput.close();
}else{
Toast.makeText(MainActivity.this,"error :)", Toast.LENGTH_LONG).show();
}} …Run Code Online (Sandbox Code Playgroud) 这是我的Android活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_client_rest);
pdialog=new ProgressDialog(this);
query = getIntent().getExtras().getString("query");
if(!TextUtils.isEmpty(query))
new GetRestTask().execute(query);
}
private class GetRestTask extends AsyncTask<String, Void, ObjectExchanged>
{
@Override
protected void onPreExecute() {
pdialog.setCancelable(true);
pdialog.setMessage("Sending ....");
pdialog.show();
}
@Override
protected ObjectExchanged doInBackground(String... request) {
Map<String, String> vars = new HashMap<String, String>();
// vars.put("query", ClientRestActivity.this.query);
if(request != null && request.length > 0)
{
try
{
return ( getRestTemplate()).getForObject(URL, ObjectExchanged.class,query );
}
catch (RestClientException e) {
e.printStackTrace();
return null;
}
}
return null;
} …Run Code Online (Sandbox Code Playgroud) 这是我的班级:
public class class1{
public static void main(String[] args) {
File source = new File("E:\\NUS_WID_Tags\\All_Tags.txt");
File target = new File("fiche1Filtered3.txt");
int i=0;
try {
Scanner s = new Scanner(source);
PrintStream psStream= new PrintStream(target);
while (s.hasNext()) {
System.out.println(i++);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
程序进入无限循环.