Относительно папки активов и переменных среды на Android

Мой код читает

package com.fyp.jwi;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import edu.mit.jwi.Dictionary;
import edu.mit.jwi.IDictionary;
import edu.mit.jwi.item.IIndexWord;
import edu.mit.jwi.item.IWord;
import edu.mit.jwi.item.IWordID;
import edu.mit.jwi.item.POS;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ---->  String wnhome = "file:///android_asset/";   <----
     String path = wnhome + File.separator + " dict ";
     URL url = null;
     try{ url = new URL("file", null, path); } 
          catch(MalformedURLException e){ try {
            e.printStackTrace();
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } }
          if(url == null) return;

     // construct the dictionary object and open it
     IDictionary dict = new Dictionary ( url);
     try {
        dict.open ();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

     // look up first sense of the word "dog "
     IIndexWord idxWord = dict . getIndexWord ("dog", POS. NOUN );
     IWordID wordID = idxWord . getWordIDs ().get (0) ;
     IWord word = dict . getWord ( wordID );
     System .out . println ("Id = " + wordID );
     System .out . println (" Lemma = " + word . getLemma ());
     System .out . println (" Gloss = " + word . getSynset (). getGloss ());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

Код, который я выделил с помощью '->', был изначально

String wnhome = System.getenv("WNHOME");

Где WNHOME - это переменная среды, которая относится к каталогу, в котором на вашем компьютере находятся определенные файлы, помогающие Java Wordnet API. Это прекрасно работает, когда я компилирую код. Мне нужна отдельная Java-программа на моем компьютере.

Я приложил изображение, чтобы прояснить ситуацию

Теперь я знаю, как устанавливать и использовать переменные окружения в Windows. Как это сделать на андроиде? И правильно ли я упаковываю эти файлы? Есть ли другой способ сделать это?

ИЛИ есть ли обходной путь, который не включает установку переменной среды? Кто-нибудь знаком с этим, или JWI поможет мне?

0 ответов

Другие вопросы по тегам