您的位置:首页 > 理论基础 > 计算机网络

Android-网络编程:快乐词典

2017-06-15 09:31 176 查看
做了一款翻译软件,虽然重要部分翻译是引用了有道词典,为了使英语翻译更加好看一些,但是,还是能够查询英语单词的意思了~

任务:完成如图所示app



这个任务很简单,构造也是由两个文件组成

首先是布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="15dp"
android:orientation="vertical"
tools:context="cn.edu.bzu.happydirectory.MainActivity">
<SearchView
android:id="@+id/sv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:iconifiedByDefault="false"
android:queryHint="请输入搜索内容" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false" />
</LinearLayout>


运用到了SearchView控件,用来添加搜索输入框

MainActivity:

public class MainActivity extends AppCompatActivity implements
SearchView.OnQueryTextListener {
private SearchView sv;
private WebView webView;

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sv = (SearchView) findViewById(R.id.sv);
sv.setIconifiedByDefault(false);
sv.setOnQueryTextListener(this);
sv.setSubmitButtonEnabled(true);
sv.setQueryHint("翻译");

webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new HelloWebViewClient());
}
//设置搜索文本提交
public boolean onQueryTextSubmit(String query) {
String url = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&vendor=&q=";
webView.loadUrl(url + query);
Toast.makeText(MainActivity.this, "需要查询的单词为:" + query, Toast.LENGTH_SHORT).show();
return false;
}

public boolean onQueryTextChange(String newText) {
return false;
}

public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return false;
}

private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}


输入需要查询的单词后,弹出一个Toast,来提示需要搜索的是哪个单词。

这样任务就完成了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 网络编程