简单的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> |
代码大概也就这些,是不是非常的简单啊!所以感觉安卓无比的强大,只要有心,一定会学有所成的,最后附上软件的截图,界面比较简洁,你们也可以拿去完善一下

第一次写教程,写得不好还请大家见谅啊!

936

被折叠的 条评论
为什么被折叠?



