您的位置:首页 > 移动开发 > Android开发

Android基础-实现有道词典实例

2015-06-21 10:04 417 查看
本次实验使用的一个新的控件-WebView具体实现如下:

实现有道词典分为:

1.创建项目-YoudaoDemo

2.创建布局文件

3.在清单文件中添加网络权限

4.在MainActivity.java中实现获取有道词典查找单词

实现效果:



2.布局文件:

<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: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="org.bzu.youdaodemo.MainActivity" >

<EditText
android:id="@+id/edtWord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:hint="输入查找的单词"
android:ems="10"
/>

<Button
android:id="@+id/btnFind"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/edtWord"
android:layout_toRightOf="@+id/edtWord"
android:onClick="findWord"
android:text="查找" />

<WebView
android:id="@+id/webResult"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@+id/edtWord" />

</RelativeLayout>


3.在清单文件中添加网络权限

<uses-permission android:name="android.permission.INTERNET" />


4.在MainActivity.java中实现查找单词并加载显示

public class MainActivity extends Activity {
Button button;//查找按钮
WebView webView;//显示控件
EditText text;//输入文本
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findId();//获取控件id
}
/**
* 获取控件的id
*/
@SuppressWarnings("unused")
private void findId() {
button=(Button) findViewById(R.id.btnFind);
webView=(WebView) findViewById(R.id.webResult);
text=(EditText) findViewById(R.id.edtWord);
}
public void findWord(View view) {
String strText=(text.getText().toString()).trim();//除去字符串开头和末尾的空格或其他字符
if (strText.length()==0) {//判断查找单词是否为空
Toast.makeText(MainActivity.this, "查询内容不能为空!", Toast.LENGTH_LONG).show();
}
else{
String strURL="http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="+strText;//加载路径
webView.loadUrl(strURL);//加载到WebView控件上显示
webView.setWebViewClient(new WebViewClient() {//禁止调用系统浏览器
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false;
}
});

}
}
}


5.运行程序即可。

有很多时候,我们请求的路径会直接跳转到系统浏览器。或者弹出浏览器选择(除了系统的,你还自己安装了其他浏览器)。

于是解决办法的原理就是,在webview中跳转。使用这种方法就能很好实现直接在WebView中显示

webView.setWebViewClient(new WebViewClient() {//禁止调用系统浏览器
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false;//false是禁止调用系统浏览器
}
});


本次实现源码:http://download.csdn.net/detail/kong_z/882
4000
5703
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 有道词典