Android-网络编程:快乐词典

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

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

任务:完成如图所示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应用实例---有道词典 相关控件:  SearchView控件: SearchView简单用法:http://blog.csdn.net/u010214991/article/details/48437209                                          http://blog.csdn.net/airsaid/article/details/51087226 阅读详情

相关推荐

Android-数据储存:用户登录界面(存储)

新学了一个Android平台的一个轻量级的储存类:SharedPreferences,主要通过键值对的方式用于储存一些应用程序的配置参数。 SharedPreferences获取对象的主要方式是Context类中的getSharedPreferences(“文件名称”,context.MODE_PRIVATE)方法 怎么使用SharedPreferences储存数据呢 ···调用SharedP

MisCoder的博客 5878

三种搜索方法(二)

解释在第一部分。源码:MainActivity.java:mport android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.view.Menu;import android.view.MenuItem;import android.widget.ArrayAdapter;...

陈赛_7019 343

Android-UI:用户登录界面

前几天学了各种布局方法,为了更加熟练地运用,今天做了一个综合练习题,来巩固这几日的学习。 怎么才能达到这个效果呢? 首先分析一下这个程序的构造,背景是一个渐变的浅蓝色,上面有两个文本框,一个是请输入账号,一个是请输入密码,在其下方有两个按钮,是平均分配的一个效果,一个白色半透明的圆角背景,下半部分很简单,就是插入一个ImageView,因此采用相对布局和线性布局相结合的方式,来完成这个效果。

MisCoder的博客 2038

关于SearchView中onQueryTextSubmit方法执行两次的解决方法

我们在使用SearchView的时候,总会用到监控文本框变化的事件,代码如下:         //文本框输入事件 searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { //输入完成后,点击回车或是完成键 @Override

我本无名的专栏 7439

详细解读Android中的搜索框(一)—— 简单小例子

  这次开的是一个讲解SearchView的栏目,第一篇主要是给一个小例子,让大家对这个搜索视图有一个了解,之后再分布细化来说。   目标: 我们先来定个目标,我们通过搜索框来输入要搜索的联系人名字,输入的时候下面的listview就展现出候选的人。   思路: 1.要得到联系人数据,就需要有访问联系人的权限 2.必须通过ContentResolver来得到操作联系人名单的指针 ...

weixin_33862993的博客 498

SearchView的使用

SearchView的使用 SearchView是搜索框组件,可以让用户在文本框内输入文字, 并允许通过监听器监控用户输入,当用户输入完成后提交搜索时, 可以通过监听器执行实际的搜索 SearchView的属性 incoifiedByDefault="false"   是否自动缩小为图标  默认是true 为false时显示输入文本框 maxW

张小贝的博客 725

GreenHat 中文系列教程 2025.10 更新

龙哥盟 2039

Android 字典

android.intent.action.GET_CONTENT: 调用系统程序用的,比如一个打开一个文件的时候会提示你用哪个软件打开,setType()就是设置默认用哪种格式打开,比如"video/*","audio/amr" Intent intent = new Intent(); /* 开启Pictures画面Type设定为image */ intent.set...

weixin_30692143的博客 1133

基于google android平台电子词典的设计与实现

    基于 google android 平台电子词典软件的 设计与实现                     摘   要 本文阐述了在 Android 平台下电子词典软件的设计与实现过程。其目的是让人们能够在基于 Google Android 平台的移动设...

小白 1693

android 快速关闭键盘的方法,如何在Android SearchView中关闭键盘?

如何在Android SearchView中关闭键盘?我在ActionBar中有一个searchView。 当用户完成输入后,我想关闭键盘。 我在searchView上有以下queryTextListenerfinal SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {@...

weixin_35552177的博客 1105

ActionBar中添加搜索框( search )及遇到的空指针问题

在这几天的开发学习中,看到一个需求,就是要在导航栏中添加搜索框,于是乎就各种查资料,学习以及使用. 导航栏有两种实现方式,一种是用ActionBar,另一种是用ToolBar.(我在这里是用的ActionBar) 添加的方法; 在menu菜单下的代码如下 <menu xmlns:android="http://schemas.android.com/apk/res/android" xm

sx1650840284的博客 730

SearchView提交搜索后收起键盘及SearchView视图

前几天做SearchView时,想要搜索提交后就收起键盘及SearchView视图,找了找资料,可以这么做:@Override public boolean onQueryTextSubmit(String query) { ... updateItems(); searchView.setQuery("", false); s

allbule的博客 7068

Android-第一页:Android Studio 的安装

第一次安装Android一、安装Android Studio,先找到你所在系统对应的文件,譬如我是Windows 10,就下载了一个名字叫:android-studio-bundle-145.3276617-windows.exe 的安装包。 二、如图所示: 1.打开后,根据提示Next。 2.出现两个选择,AndroidSDK和Android Virtual Device,Android

MisCoder的博客 1529

Android-广播接收者:发送有序广播

Android系统中,根据广播的执行顺序不同,可将其分为有序广播和无序广播。 无序广播:当无序广播发送一条广播消息时,所有的广播接收器都可以接收到,不会被拦截。 有序广播:有序广播是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接收到这条消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传播,所以这时的广播接收器是有先后顺序的,并可以被拦截。实验:发送有序

MisCoder的博客 1238

Android-数据存储与访问:快乐动物成语

本次任务是完成一款成语介绍的app,界面为成语选择,点击想要明白的成语,会出现此成语的解释首先先将已经得到的成语数据库存入手机内存中,即在db包下建立一个DBOpenHelper类public class DBOpenHelper { private final int BUFFER_SIZE = 400000;//缓冲区大小 public static final String D

MisCoder的博客 525

Android-UI :手机信息页面

为了检测这几天的学习成果,综合知识点,老师给我们出了一个练习题,将国际化、样式和主题、布局结合起来,从而达到以下成果。看到这个图片,首先想到的是,怎么才能在中英文中互换,这就要考虑到国际化的问题。第一步:先把用到的图片导入到drawable中,方便使用。第二步:在strings.xml文件夹中建立两个xml文件,来实现国际化的效果,并在其中进行命名分配,将图片一一对应起来。 中文版: 英文版

MisCoder的博客 521

Android-数据存储与访问:商品展示

本次关于Android数据存储与访问的实验要求是:开发一个购物车,需要将购物车里的商品以列表的形式展示,并且还需要对购物车中的商品进行增删改查操作。 运行效果图如图所示:完成增删改查功能

MisCoder的博客 512

Android-第二页:Android UI 的开发

UI界面在Android应用中是非常重要的,它是由View和ViewGroup对象构建的,VierGroup是View的一个扩展,可以容纳多个View,通过ViewGroup类可以创建有联系的子View组成的复合控件。 下面就来介绍UI的布局类型: 相对布局(RelativeLayout): Android Studio中默认的即为相对布局,一般有两种形式,一种是相对于容器而言的,一种是相对于控

MisCoder的博客 464
上一篇: Android-广播接收者:发送有序广播
MisCoder
博客等级 码龄10年 3粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值