android簡單的有道詞典開發
簡單的android有道詞典開發
第一次寫教程,不好勿怪哈!其實想寫這篇教程已經很久了,但卻一直沒有付諸行動,這個專案是偶然間在論壇裡發現的,我算是弄出來整理了一下吧!所以在此要感謝那些前輩們,沒有他們,也就沒有我們,不過這也要歸功於android的開源,好了廢話不多說,進入正題。
那些怎麼建專案,如何佈局的問題在此就不用贅述了,不會的在安卓論壇裡面一搜一大把!像安卓巴士以及EOE這樣的網站就挺好的。首先介紹一下開發這個軟體的思路,說實話,這個軟體唯一的優點就是方便,而且軟體也不大,20k都不到,實際上說白了也就是有道詞典手機網頁版的快捷方式而已。不過咱圖的就是方便,不是麼?額。。。扯遠了!咱繼續。。。首先在電腦上用瀏覽器開啟有道詞典的手機版的網頁
我們先來搜尋一個單詞吧!比如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> |
程式碼大概也就這些,是不是非常的簡單啊!所以感覺安卓無比的強大,只要有心,一定會學有所成的,最後附上軟體的截圖,介面比較簡潔,你們也可以拿去完善一下
第一次寫教程,寫得不好還請大家見諒啊!