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

任务:完成如图所示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 implementsSearchView.OnQueryTextListener {private SearchView sv;private WebView webView;@Overridepublic 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 {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}}
}

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

这样任务就完成了!

Android-网络编程:快乐词典相关推荐

  1. Android网络编程系列 一 Socket抽象层

    在<Android网络编程>系列文章中,前面已经将Java的通信底层大致的描述了,在我们了解了TCP/IP通信族架构及其原理,接下来我们就开始来了解基于tcp/ip协议层的Socket抽象 ...

  2. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介

    Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...

  3. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api

    Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...

  4. 【Android】Android网络编程概述

    Android网络编程概述 原文来自:http://blog.csdn.net/kieven2008/article/details/8210737 首先,应该了解的几个问题: 1)Android平台 ...

  5. Android网络编程http派/申请服务

    最近的研究Android网络编程知识,这里有一些想法,今晚学习.与您分享. 在实际的应用程序的开发非常需要时间appserver请求数据,那么app怎样发送请求呢?以下的代码就是当中的一种情况.使用H ...

  6. Android网络编程(八) 之 HttpURLConnection原理分析

    1 使用回顾 我们在前面博文<Android网络编程(四) 之 HttpClient与HttpURLConnection>中已经对HttpURLConnection的使用进行过介绍.今天我 ...

  7. Kotlin第五章: android网络编程

    1. Android网络编程 OkHttp OkHttp是一个高效的HTTP客户端,它的横空出世,让其他的网络请求框架都变得黯然失色. Retrofit Retrofit是一个基于OkHttp的RES ...

  8. Android网络编程只局域网传输文件

    Android网络编程只局域网传输文件 首先创建一个socket管理类,该类是传输文件的核心类,主要用来发送文件和接收文件 具体代码如下: ```java1 package com.jiao.file ...

  9. Android 网络编程(二) HTTP协议解析

    文章目录 引言 HTTP 简介 什么是HTTP,HTTPS 又是什么? HTTP 协议的特点 HTTP URL 格式 HTTP的报文 请求报文 请求行 请求报头 请求数据 响应保文 状态行 响应报头 ...

  10. Android网络编程(一)

    Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包 ...

最新文章

  1. 15个目标检测开源数据集汇总
  2. 查看安装的cuda和cudnn的版本号
  3. UTF-8和Unicode
  4. service启动activity_「 Android 10 四大组件 」系列—Service 的 quot; 启动流程 quot;
  5. 使用【Linux操作系统】必须掌握的基本命令
  6. Bootstrap3 工具提示插件的选项
  7. html子级透明度不随父级别,我不想从CSS的父级继承子级不透明度
  8. vagrant 网络三种模式
  9. Ant 执行 YUICompressor
  10. 计算机系统硬盘内存主频,内存时序和频率_内存硬盘-中关村在线
  11. 交叉验证(Cross Validation)
  12. mdf导入mysql navicat_Navicat如何导入sql server的MDF文件和LDF文件
  13. 关于topk accuracy
  14. pc端支付宝扫码支付
  15. 软件工程第五次作业-项目选题
  16. FPGA时序分析和时序约束
  17. element-ui中tree组件双击事件的实现
  18. 计算机毕业设计-基于VUE+SpringBoot+MyBatis+MySQL的学生作业管理系统
  19. upper_bound和lower_bound
  20. php bloomfilter,【Bloom filter】Python实现Bloom filter

热门文章

  1. 数据结构第六章——图
  2. 从头开始swift2.1 仿搜材通项目(八) 制定通用的Controller规则
  3. C语言:字符函数与字符串函数(一)
  4. SAP成都研究院飞机哥: SAP C4C中国本地化之微信聊天机器人的集成
  5. Layui lay-skin=switch 表格修改状态
  6. 01. Excel_数据处理_基本操作(1)
  7. 服务端渲染ssr(server side render)
  8. 我的DUILIB常用库
  9. python登录微信pc版_微信PC版2.9.0测试版更新:新增小程序面板
  10. Linux服务器搭建测试环境笔记