【Java】Android版 日蒙簡易辞書

Android版 日蒙簡易辞書

Android版 日蒙簡易辞書

package net.hinekure.jmdic;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import android.text.ClipboardManager;
import android.text.SpannableStringBuilder;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
public class JMDictionary extends Activity {
/** Called when the activity is first created. */
private Button button_ok;
private Button button_cls;
private EditText text;
private TextView info;
private ListView list;
private Button_OK btok;
private Button_CLS btcls;
private ArrayAdapter<String> adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//
button_ok = (Button) this.findViewById(R.id.button1);
button_cls = (Button) this.findViewById(R.id.button2);
text = (EditText) this.findViewById(R.id.editText1);
info = (TextView) this.findViewById(R.id.textView1);
list = (ListView) this.findViewById(R.id.listView1);
text.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == v.getImeOptions()) {
// ENTER
clsIME(v);
}
return true;
}
});
//
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
clsIME(view);
}
});
//
list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
ListView listView = (ListView) parent;
//
String item = (String) listView.getItemAtPosition(position);
ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
//
cm.setText(item);
return true;
}
});
btok = new Button_OK();
button_ok.setOnClickListener(btok);
btcls = new Button_CLS();
button_cls.setOnClickListener(btcls);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1);
list.setAdapter(adapter);
clsList();
}
private void clsIME(View v) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
private void clsList() {
adapter.add(" Ver 1.00");
adapter.add("");
adapter.add(":hinekure_inovia\nhttp://twitter.com/hinekure_inovia/");
adapter.add(":");
adapter.add(" \nhttp://www.aa.tufs.ac.jp/documents/training/ilc/textbooks/2008mongolian.pdf");
adapter.add(" :\nhttp://nagano53.ojaru.jp/sonota/aisatsu.htm");
}
// OK
private class Button_OK implements OnClickListener {
@Override
public void onClick(View v) {
// TODO
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
adapter.clear();
//
SpannableStringBuilder ssb = (SpannableStringBuilder) text
.getText();
String keywords;
keywords = ssb.toString();
Resources res = v.getResources();
InputStream is = null;
BufferedReader br = null;
int result_num = 0;
try {
try {
is = res.openRawResource(R.raw.jmdic);
br = new BufferedReader(new InputStreamReader(is));
String str;
while ((str = br.readLine()) != null) {
//
if ((str.indexOf(keywords) != -1) || (keywords == "")) {
adapter.add(str);
result_num++;
}
}
info.setText("" + result_num + "!");
} finally {
if (br != null)
br.close();
}
if (result_num == 0) {
adapter.add("\n\n");
}
} catch (IOException e) {
info.setText("...");
}
}
}
// clear
private class Button_CLS implements OnClickListener {
@Override
public void onClick(View v) {
// TODO
adapter.clear();
clsList();
text.setText("");
info.setText("!");
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX