android简单的有道词典开发
简单的android有道词典开发
第一次写教程,不好勿怪哈!其实想写这篇教程已经很久了,但却一直没有付诸行动,这个项目是偶然间在论坛里发现的,我算是弄出来整理了一下吧!所以在此要感谢那些前辈们,没有他们,也就没有我们,不过这也要归功于android的开源,好了废话不多说,进入正题。
那些怎么建项目,如何布局的问题在此就不用赘述了,不会的在安卓论坛里面一搜一大把!像安卓巴士以及EOE这样的网站就挺好的。首先介绍一下开发这个软件的思路,说实话,这个软件唯一的优点就是方便,而且软件也不大,20k都不到,实际上说白了也就是有道词典手机网页版的快捷方式而已。不过咱图的就是方便,不是么?额。。。扯远了!咱继续。。。首先在电脑上用浏览器打开有道词典的手机版的网页http://dict.youdao.com/m,然后出现如下界面:
我们先来搜索一个单词吧!比如android,点击查词,页面变为
当然我们最主要的不是看这里,而是看地址栏变成了什么
注意,这个网址待会儿会用到。好了,现在我们开始建项目了,打开eclipse建立一个工程,项目名自拟,类名自拟,当然这里还是以我所建立的工程为例吧!
建立一个名为Youdao的工程,然后在src目录下建一个noon.youdao包,然后再建一个Youdao类,将下列代码复制到里面
package noon.youdao; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; 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 query,reset; //输入框申明 private EditText mETinfo; //加载数据的WebView申明 private WebView mWebView; //菜单按钮功能 final static int EXIT=1; final static int ABOUT=EXIT+1; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获得布局的几个控件 query = (Button)findViewById(R.id.query); reset = (Button) findViewById(R.id.reset); mETinfo = (EditText) findViewById(R.id.myEditText1); mWebView = (WebView) findViewById(R.id.myWebView1); //查询按钮添加事件 query.setOnClickListener(new Button.OnClickListener() { public void onClick(View arg0) { String strURI = (mETinfo.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&vendor=&q=" + strURI; mWebView.loadUrl(strURL); } } }); //清空按钮添加事件,将EditText置空 reset.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { mETinfo.setText(""); } }); } //添加菜单按钮功能 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0,EXIT,1,R.string.exit); menu.add(0,ABOUT,2,R.string.about); return super.onCreateOptionsMenu(menu); } /* (non-Javadoc) * @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem) */ @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ case EXIT:finish(); case ABOUT:{ AlertDialog.Builder builder = new Builder(YouDao.this); builder.setTitle("作者信息"); builder.setPositiveButton("确定", null); //builder.setIcon(android.R.drawable.ic_dialog_info); builder.setMessage("MADE BY NOON\n2013.4.21"); builder.show(); } } return super.onOptionsItemSelected(item); } } |
这里所要用到的是刚才在浏览器那儿显示的地址,后面加上的是所要搜索的字符串。
在布局文件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" android:background="@color/gainsboro" > <!-- 建立一個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/query" android:layout_width="60px" android:layout_height="40px" android:text="@string/chaxun" android:layout_x="205px" android:layout_y="35px" /> <Button android:id="@+id/reset" android:layout_height="40px" android:layout_width="50px" android:text="@string/qingkong" 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:focusable="false" /> </AbsoluteLayout> |
最主要的是在AndroidManifest.xml里面添加一个网络权限,如果不添加,程序会报错的
<uses-permission android:name="android.permission.INTERNET" /> |
Sting.xml里面的内容如下
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, Main!</string> <string name="app_name">NOON词典</string> <string name="chaxun">查询</string> <string name="qingkong">清空</string> <string name="exit">退出</string> <string name="about">关于</string> </resources> |
还有在values目录下建一个color.xml文件
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="gainsboro">#DCDCDC</color><!--淡灰色 --> </resources> |
代码大概也就这些,是不是非常的简单啊!所以感觉安卓无比的强大,只要有心,一定会学有所成的,最后附上软件的截图,界面比较简洁,你们也可以拿去完善一下
第一次写教程,写得不好还请大家见谅啊!
android简单的有道词典开发相关推荐
- Android进阶2之有道词典开发
本博文只是实现有道词典的功能,并着重界面. 首先,你需要获取有道开发平台的API key.点击打开链接 申请一个吧. 利用数据接口获取数据: http://fanyi.youdao.com/opena ...
- android学习-有道词典开发实例
最近学习android程序开发,在网看上到一个关于android手机开发有道词典的例子.但是,并不能正常运行,现在个人改进版本源代码和思路献上之供学习之用. 第一步,申请API key,申请地址:ht ...
- Android有道词典开发
第一步,申请API key,申请地址:http://fanyi.youdao.com/openapi?path=data-mode 数据接口: http://fanyi.youdao.com/open ...
- 使用Android简单实现有道电子词典
前言: 毕业设计的内容,仅仅有Java基础.没学过Android. 本着用到什么学什么.花费了10多个晚上完毕毕业设计. 当然,仅仅是简单的实线了电子词典功能,自始至终没有考虑过性能等问题. 本电子词 ...
- 有道词典之父:曾梦想执笔去教书,却转岗当上CEO
周枫分别于2000年和2002年在清华大学获得计算机学士和硕士学位,2007年于加州大学伯克利分校获得博士学位,主要研究兴趣是面向大规模服务的软件基础设施.操作系统和编程语言. 现任网易高级副总裁,网 ...
- android有道词典简单开发
Android剪切板(ClipBoardManager)复制的内容,可以粘贴到任何地方,对于一些词典,翻译工具等app具有较高的使用价值.有道词典在3.6版本后就使用到该功能,本文来剖析具体的实现过程 ...
- 有道词典Android客户端包体积优化之路
1 背景 有道词典从移动互联网之初就凭借小巧快速.功能强大的印象让用户爱上翻译查词,爱上学习.随着业务不断地迭代以及功能不断完善,有道词典不再是单纯的查词软件,而是变成了用户的综合学习平台.我们探索过 ...
- Android复制查词功能,有道词典Android 3.6版发布 新增“复制查词”功能
有道词典Android 3.6版发布 新增"复制查词"功能 2013-03-06 13:40:43 来源:网络 扫码可以: 1.在手机上浏览 2.分享给微信好友或朋友圈 摘要: ...
- Android有道词典查询功能
有道词典 任务要求:完成查词等功能 因为需要申请API key,这里直接给出地址供使用:http://fanyi.youdao.com/openapi?path=data-mode 1.activit ...
最新文章
- 下述程序有什么问题?
- 美!视差滚动在图片滑块中的应用【附源码下载】
- leetcode1070. 产品销售分析 III(SQL)
- php discuz 定时计划,为什么discuz这个功能计划任务功能不用事件调度呢?
- python3 asyncio_asyncio--python3未来并发编程主流、充满野心的模块
- 百度开撕离职前高管:侵犯商业机密索赔 5000 万!
- 现代通信原理5.2:带通信号的(复包络)低通表示
- 设计检验轧辊的虚拟现实的集成软件
- linux实用技巧:ubuntu18.04安装配置ibus中文输入法
- 支付宝首次揭秘红包技术
- php表格合并_合并表格怎么合并
- ROS话题通信c++和python实现
- node 热更新代码,无需每次重启命令
- 高通 安卓 Uefi 的理解
- “隐私—数据收集”问题的两难分析
- Unity3d 接入VKSDK登陆和分享 IOS篇
- 学生管理系统——PHP
- 前后端分离最佳实践:搭建一个复习算法题的网站ReviseCode(一)
- Android A/B System OTA分析(四)系统的启动和升级
- ROS学习笔记-log日志以及输出工具(rqt_console)