1. 程式人生 > >android簡單的有道詞典開發

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>

程式碼大概也就這些,是不是非常的簡單啊!所以感覺安卓無比的強大,只要有心,一定會學有所成的,最後附上軟體的截圖,介面比較簡潔,你們也可以拿去完善一下

第一次寫教程,寫得不好還請大家見諒啊!