Моят код гласи
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. Как да го направя на android? И групирам ли тези файлове по правилния начин? Има ли друг начин да го направя?
ИЛИ има ли заобиколно решение, което не включва задаване на променлива на средата? Някой запознат с това или JWI да ми помогне?