Android实现有道辞典查询功能实例详解

本文实例讲述了Android实现有道辞典查询功能的方法。分享给大家供大家参考,具体如下:

这是我做的一个简单的有道Android的DEMO,只是简单的雏形。界面设计也有点丑陋呵呵~ 看看下面的效果图:

第一步:思路解析

从界面看一共用了三个控件EditText,Button,WebView。其实是四个,是当我们查询内容为空的时候用来提示的Toast控件。

我们在EditText输入查询内容,这里包括中文,英文。然后通过参数的形式,从http://dict.youdao.com/m取出数据把结果
存放在WebView里。

如下图所示:

第二步:入手程序

首先是布局界面main.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
 <!-- 建立一個EditText -->
 <EditText
 android:id="@+id/myEditText1"
 android:layout_width="200px"
 android:layout_height="40px"
 android:textSize="18sp"
 android:layout_x="5px"
 android:layout_y="32px"
 />
 <!-- 建立一個Button -->
 <Button
 android:id="@+id/myButton01"
 android:layout_width="60px"
 android:layout_height="40px"
 android:text="查询"
 android:layout_x="205px"
 android:layout_y="35px"
 />
<Button
  android:id="@+id/myButton02"
  android:layout_height="40px"
  android:layout_width="50px"
  android:text="清空"
  android:layout_y="35px"
  android:layout_x="270px"
 />
 <!-- 建立一個WebView -->
 <WebView
 android:id="@+id/myWebView1"
 android:layout_height="330px"
 android:layout_width="300px"
 android:layout_x="7px"
 android:layout_y="90px"
 android:background="@drawable/black"
 android:focusable="false"
 />
</AbsoluteLayout>

其次是主类YouDao.Java

package AndroidApplication.Instance;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class YouDao extends Activity
{
 //查询按钮申明
 private Button myButton01;
 //清空按钮申明
 private Button myButton02;
 //输入框申明
 private EditText mEditText1;
 //加载数据的WebView申明
 private WebView mWebView1;
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //获得布局的几个控件
  myButton01 = (Button)findViewById(R.id.myButton01);
  myButton02 = (Button) findViewById(R.id.myButton02);
  mEditText1 = (EditText) findViewById(R.id.myEditText1);
  mWebView1 = (WebView) findViewById(R.id.myWebView1);
  //查询按钮添加事件
  myButton01.setOnClickListener(new Button.OnClickListener()
  {
   public void onClick(View arg0)
    {
     String strURI = (mEditText1.getText().toString());
     strURI = strURI.trim();
     //如果查询内容为空提示
     if (strURI.length() == 0)
     {
      Toast.makeText(YouDao.this, "查询内容不能为空!", Toast.LENGTH_LONG)
        .show();
     }
     //否则则以参数的形式从http://dict.youdao.com/m取得数据,加载到WebView里.
     else
     {
      String strURL = "http://dict.youdao.com/m/search?keyfrom=dict.mindex&q="
        + strURI;
      mWebView1.loadUrl(strURL);
     }
    }
  });
  //清空按钮添加事件,将EditText置空
  myButton02.setOnClickListener(new Button.OnClickListener()
  {
   public void onClick(View v)
   {
    mEditText1.setText("");
   }
  });
 }
}

程序大功告成。其实大家会发现,这个应用相当简单,只是你们没有想到而已,Narcissism一下呵呵~。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android组件WebView编写有道词典小案例分享

    最近学习了WebView组件,写了一个有道词典的小案例,分享给大家,供大家参考,具体内容如下 效果图: 源码下载:https://coding.net/u/gxs1225/p/YouDaoDictionary/git 代码如下: 布局 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schema

  • Android 软件自动更新功能实现的方法

    相信所有的用户都遇到过软件提醒更新的情况,下面就将实现此功能 首先看一下程序目录结构    步骤: 1.新建一个类UpdateManger,用于显示提示更新 复制代码 代码如下: public class UpdateManger { // 应用程序Context private Context mContext; // 提示消息 private String updateMsg = "有最新的软件包,请下载!"; // 下载安装包的网络路径 private String apkUrl

  • Android编程操作联系人的方法(查询,获取,添加等)

    本文实例讲述了Android编程操作联系人的方法.分享给大家供大家参考,具体如下: Android系统中的联系人也是通过ContentProvider来对外提供数据的,我们这里实现获取所有联系人.通过电话号码获取联系人.添加联系人.使用事务添加联系人. 获取所有联系人 1. Android系统中的联系人也是通过ContentProvider来对外提供数据的 2. 数据库路径为:/data/data/com.android.providers.contacts/database/contacts2

  • 浅析Android手机卫士之号码归属地查询

    使用小米号码归属地数据库,有两张表data1和data2 先查询data1表,把手机号码截取前7位 select outkey from data1 where id="前七位手机号" 再查询data2表, select location from data2 where id="上面查出的outkey" 可以使用子查询 select location from data2 where id=(select outkey from data1 where id=&q

  • Android 有道词典的简单实现方法介绍

    首先看程序界面如下! 1.布局文件: 复制代码 代码如下: <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >

  • Android编程实现号码归属地查询的方法

    本文实例讲述了Android编程实现号码归属地查询的方法.分享给大家供大家参考,具体如下: 我们通过发送XML访问 WebService就可以实现号码的归属地查询,我们可以使用代理服务器提供的XML的格式进行设置,然后请求提交给服务器,服务器根据请求就会返回给一个XML,XML中就封装了我们想要获取的数据. 发送XML 1.通过URL封装路径打开一个HttpURLConnection 2.设置请求方式,Content-Type和Content-Length XML文件的Content-Type为

  • Android优化查询加载大数量的本地相册图片

    一.概述 讲解优化查询相册图片之前,我们先来看下PM提出的需求,PM的需求很简单,就是要做一个类似微信的本地相册图片查询控件,主要包含两个两部分: 进入图片选择页面就要显示出手机中所有的照片,包括系统相册图片和其他目录下的所有图片,并按照时间倒叙排列 切换相册功能,切换相册页面列出手机中所有的图片目录列表,并且显示出每个目录下所有的图片个数以及封面图片 这两个需求看似简单,实则隐藏着一系列的性能优化问题.在做优化之前,我们调研了一些其他比较出名的app在加载大数量图片的性能表现(gif录制的不够

  • Android手机号码归属地的查询

    一个简单的Demo,从聚合数据申请手机号码归属地数据接口: 在EditText中输入待查询号码,获取号码后在子线程中使用HttpUrlconnection获取JSON数据,之后进行解析: 数据获取完成后,在主线程中更新UI,显示获取的号码归属地信息. 布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android

  • Android实现上传文件功能的方法

    本文所述为一个Android上传文件的源代码,每一步实现过程都备有详尽的注释,思路比较清楚,学习了本例所述上传文件代码之后,你可以应对其它格式文件的上传.实例中主要实现上传文件至Server的方法,允许Input.Output,不使用Cache,使Androiod上传文件变得轻松. 主要功能代码如下: package com.test; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.

  • android实现倒计时功能代码

    效果图,每隔1秒,变换一下时间  xml: 复制代码 代码如下: <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="mat

  • Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)

    由于考虑到数据库的安全性,不被轻易SQL注入,执行查询语句时,一般不使用直接拼接的语句,而是使用参数传递的方法.然后在使用参数传递的方法中时,发现当使用like方式查询数据时,很容易出现一个问题. 错误案例: 复制代码 代码如下: String myname = "abc";String sql = "select * from mytable where name like '?%'";Cursor cursor = db.rawQuery(sql, new St

随机推荐