首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
调用有道词典查询单词
时间:
2015-07-16 23:57:08
阅读:
254
评论:
0
收藏:
0
[点我收藏+]
标签:
package com.example.happydictionary;
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.example.happydictionary.dao.WordDao;
public
class MainActivity
extends Activity {
private WordDao wordDao;
private EditText etWord;
private TextView tvResult;
@Override
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}
private
void initViews() {
etWord = (EditText) findViewById(R.id.etWord);
tvResult = (TextView) findViewById(R.id.tvSearchResult);
}
@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;
}
public
void searchWord(View view) {
String english = etWord.getText().toString();
wordDao =
new WordDao(
this);
if (TextUtils.isEmpty(english)) {
tvResult.setText(
"请输入您想查询的单词");
}
else {
String chinese = wordDao.getChinese(english);
tvResult.setText(chinese);
}
}
}
二 activity_main.xml
[java]
view plain
copy
<RelativeLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@drawable/mainbg"
android:paddingBottom=
"@dimen/activity_vertical_margin"
android:paddingLeft=
"@dimen/activity_horizontal_margin"
android:paddingRight=
"@dimen/activity_horizontal_margin"
android:paddingTop=
"@dimen/activity_vertical_margin"
tools:context=
".MainActivity" >
<EditText
android:id=
"@+id/etWord"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:layout_alignParentTop=
"true"
android:layout_marginTop=
"31dp"
android:background=
"@android:drawable/edit_text"
android:ems=
"10"
android:hint=
"@string/searchHint"
android:singleLine=
"true"
android:textColor=
"#552006"
android:textColorHint=
"#782f10" >
<requestFocus />
</EditText>
<Button
android:id=
"@+id/btnSearch"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignBaseline=
"@+id/etWord"
android:layout_alignBottom=
"@+id/etWord"
android:layout_marginLeft=
"16dp"
android:layout_toRightOf=
"@+id/etWord"
android:background=
"@drawable/ibsearchword"
android:onClick=
"searchWord"
android:text=
"@string/serachWord" />
<TextView
android:id=
"@+id/tvSearchResult"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_alignLeft=
"@+id/etWord"
android:layout_below=
"@+id/etWord"
android:layout_marginTop=
"22dp"
android:textSize=
"25sp"
android:background=
"@drawable/bg_roundcorner"
android:textAppearance=
"?android:attr/textAppearanceMedium" />
</RelativeLayout>
[java]
view plain
copy
三 DBHelper 类
[java]
view plain
copy
package com.example.happydictionary.db;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import com.example.happydictionary.R;
import com.example.happydictionary.R.raw;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import android.util.Log;
/**
* 实现将数据库文件从raw目录拷贝到手机里存放数据库的位置
*
* @author cabbage
*/
public
class DBHelper {
private
final
int BUFFER_SIZE =
400000;
public
static
final String DB_NAME =
"idiom.db";
// 保存的数据库文件名
public
static
final String PACKAGE_NAME =
"com.example.happydictionary";
// 应用的包名
public
static
final String DB_PATH =
"/data"
+ Environment.getDataDirectory().getAbsolutePath() +
"/"
+ PACKAGE_NAME +
"/databases";
/*// SDCard 定义数据库的存放路径
private final String DATABASE_PATH = android.os.Environment
.getExternalStorageDirectory().getAbsolutePath() + "/dictionary";*/
private Context context;
public DBHelper(Context context) {
this.context = context;
}
public SQLiteDatabase openDatabase() {
try {
File myDataPath =
new File(DB_PATH);
if (!myDataPath.exists()) {
myDataPath.mkdirs();
// 如果没有这个目录则创建
}
String dbfile = myDataPath +
"/" + DB_NAME;
if (!(
new File(dbfile).exists())) {
// 判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库
InputStream is = context.getResources().openRawResource(
R.raw.dictionary);
// 欲导入的数据库
FileOutputStream fos =
new FileOutputStream(dbfile);
byte[] buffer =
new
byte[BUFFER_SIZE];
int count =
0;
while ((count = is.read(buffer)) >
0) {
fos.write(buffer,
0, count);
}
fos.close();
is.close();
}
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile,
null);
return db;
}
catch (FileNotFoundException e) {
Log.e(
"Database",
"File not found");
e.printStackTrace();
}
catch (IOException e) {
Log.e(
"Database",
"IO exception");
e.printStackTrace();
}
return
null;
}
}
调用有道词典查询单词
标签:
原文地址:http://www.cnblogs.com/zhengyuqi/p/4652614.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!