小编naw*_*ara的帖子

何时在Android NDK中使用JNIEXPORT和JNICALL?

我正在尝试编写自己的jni源代码.看一些ndk示例,我发现他们经常使用那些宏JNIEXPORT和JNICALL,这些宏的名字跟java包一样

JNIEXPORT void JNICALL Java_com_example_plasma_PlasmaView_renderPlasma(JNIEnv * env, jobject obj, jobject bitmap, jlong time_ms)

我用Google搜索,但我无法理解何时以及如何使用这些宏

c++ macros java-native-interface android android-ndk

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

在这种情况下如何避免重复代码?

我的项目是关于在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种低级特征
我将使用每种特征来搜索当前图像的最近邻居
所有特征都存储在一个简单的文本文件中
,使用相同的算法为了搜索最近的邻居
,每次只更改文件

java oop inheritance interface

9
推荐指数
1
解决办法
446
查看次数

java.net.URISyntaxException:索引0的scheme中的非法字符

我正在开发一个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)

那么如何解决这个问题呢?

java android uri

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

将矩阵中的每列乘以向量中的相应行

我有一个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)

这该怎么做?谢谢

matlab matrix multiplication

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

在嵌入模式下使用HSQLDB

我目前正在使用嵌入模式下的netbeans + hibernate + hsqldb开发一个java桌面应用程序.

在创建新数据库时,我遇到了以下异常: Cannot establish a connection to jdbc:hsqldb:hsql://localhost using org.hsqldb.jdbcDriver (java.net.ConnectException: Connection refused: connect)

在此输入图像描述

java netbeans hibernate desktop-application hsqldb

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

与多种泛型类型交互?

这是我的干预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)
  • Vertx类型的列表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不推断类型?

java generics interface

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

在java中舍入为double

我有一个存储在文本文件中的双值对角矩阵.

size(file)~410 Mo
Run Code Online (Sandbox Code Playgroud)

我想通过舍入我的双值来减小大小.

如果它是一个好主意,如何在java中做到这一点

0.1706524958886193=>0.17
Run Code Online (Sandbox Code Playgroud)

我需要稍后在matlab中使用这个文件

当我尝试

dlmread(文件)我出现内存不足错误

java double matlab file rounding

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

将Android设备连接到PC时,异常连接被拒绝

这是我的连接代码

  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)

java url android http

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

Spring Rest Template Client:连接到http:// localhost:8080拒绝

这是我的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)

java rest spring android json

-1
推荐指数
1
解决办法
4856
查看次数

扫描仪具有无限循环

这是我的班级:

  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)

程序进入无限循环.

java java.util.scanner

-1
推荐指数
1
解决办法
83
查看次数