java.io包中用於處理字符流的最基本的類,用來在字節流和字符流之間作為中介。
   ◇ 生成流對象
  public InputStreamReader(InputStream in);
  /*in是字節流,而InputStreamReader是字符流,但是其來源是字節流in,
  因此InputStreamReader就可以把字節流in轉換成字符流處理。/*

  public InputStreamReader(InputStream in,String enc) throws UnsupportedEncodingException;
  /*enc是編碼方式,就是從字節流到字符流進行轉換時改採用的編碼方式,
   例如 ISO8859-1,UTF-8,UTF-16等等*/

  public OutputStreamWriter(OutputStream out);
  /*out是字節流,而OutputStreamReader是字符流 */
  public OutputStreamWriter(OutputStream out,String enc) throws UnsupportedEncodingException; //enc是編碼方式
  InputStreamReader和OutputStreamWriter的方法:
  ◇ 讀入和寫出字符
  基本同Reader和Writer。
  ◇ 獲取當前編碼方式
  public String getEncoding();
  ◇ 關閉流
  public void close() throws IOException;

yuyu 發表在 痞客邦 留言(0) 人氣()

Android 的 layout 文件中 layout_width 或 layout_height 有時候可能會指定具體的單位,比如有時候為 px、dip 或者 sp 等等。
下面把常見的單位做下簡單的介紹:
 

yuyu 發表在 痞客邦 留言(0) 人氣()

package yu.android;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
public class Alertdialog extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    public void clickHandler(View v) {
        new AlertDialog.Builder(this).setTitle("訊息").setItems(R.array.strArray,
                //建造第一個彈出對話框
                new DialogInterface.OnClickListener() {
                    //對話框內每個項目做 click 事件
                    public void onClick(DialogInterface dialog, int which) {
                        String[] weekArray = getResources().getStringArray(
                                R.array.strArray);
                        new AlertDialog.Builder(Alertdialog.this).setMessage(
                                weekArray[which]).show();
                                //which 指到您所選取的 index
                    };
                }).show();
    }
}

yuyu 發表在 痞客邦 留言(0) 人氣()

Context 字面意思「上下文,文章脈絡」,位於 framework
package 的 android.content.Context 中,其實該類為 LONG 型,類似 Win32 中的 Handle 句柄,很多方法需要通過
Context 才能識別調用者的實例,比如說 Toast 的第一個參數就是 Context,一般在 Activity 中我們直接用 this 代替,代表調用者的實例為 Activity,而到了一個 button 的 onClick(View
view) 等方法時,我們用 this 時就會報錯,所以我們可能使用 ActivityName.this 來解決,主要原因是因為實現 Context 的類主要有 Android 特有的幾個模型,Activity、Service 以及 BroadcastReceiver。

yuyu 發表在 痞客邦 留言(0) 人氣()

在 Android 工程中,每添加一個資源,就會在gen目錄下的 R.java 中自動生成一個新的靜態整型變量來指向這個資源。程序文件中調用資源的時候,先在 R.java 中找到變量名,然後根據變量值查找資源。
將圖片放置在專案 ref/drawable/ 底下就可以,如果 drawable 資料夾不存在,請自行加入。另外,圖片的檔名需要小寫字母

yuyu 發表在 痞客邦 留言(0) 人氣()

引用於 Jollen 的 Blog

Android 應用程式的模式(application model),可由以下幾個觀念講起。在真正進入 Android 程式設計前,必須先了解以下幾個名詞觀念。
1. Android package(.apk)
Android 應用程式套件,包含應用程式本身,以及相關的資源檔案。將 apk 套件下載到 Android 手機後,即可安裝至手機上。Android Development Kit 可自動將 apk 套件下載至模擬器或實體手機。
2. task
Task 就是「應用程式」本身,也就是 Android 手機上的圖示,使用者可點擊圖示啟動 task。從開發者的角度來看,task就是一個或多個 activities。
3. process
Process 在作業系統的定義上,指的是「執行中的程式」,在 Android 的應用程式模式中,代表的是低階的執行程式,也就是系統層(kernel)的部份。一個 apk 套件裡的所有程式,都是在一個 process 裡執行。
4. 什麼是 Activity(android.app.Activity)
簡單來說,這昰一個與使用者互動的物件。一個 Activity 類別(class)負責建立視窗(window),我們可以透過 View 類別將UI放置在視窗上。
當 Activity 被啟動(active)或執行(running)時,就是在 foreground(前景)模式,在 foreground 模式的 Activity 會被顯示在螢幕上。
當執行中的 Activity 部份畫面被其他 Activity 蓋掉時,該 Activity 便被暫停(paused),被暫停的
Activity 在系統記億體不足時,便會被清除(kill)。只被蓋掉部份畫面,或是變成透明狀況的 Activity
不會停止,只會進入暫停狀態。

當執行中的 Activity 全部畫面都被其他 Activity 取代時,該 Activity 便被停止(stopped),當系統需要記憶體時,停止中的 Activity 會先被系統清除。
當系統需要清除 Activity 時,系統會要求 Activity 自行結束,或是直接殺掉 Activity 的 process。
5. 什麼是 View(android.app.View)
簡單來說,android.app.View 類別就是手機的 UI。View 負責繪製UI與處理事件(event),Android 利用
View 打造出所謂的 Widgets(元件),利用 Widget 可打造出互動式的使用者介面(interactive GUI)。

Android 應用程式的 UI 從程式碼的角度來看,就是一顆「view tree」,程式設計師可以利用直接撰寫程式碼,或是透過「XML layout」檔的方式,來安排應用程式的 view tree。
另外,還有一個特殊的 View 類別,稱為 ViewGroup(android.view.ViewGrup)。ViewGroup
是一種特別的 View,可以用來「裝載」其他的 View,對 ViewGroup 而言,這些被包含起來的 View 為 Children。

6. Process Types
在一般情況下,Android 應用程式都有一個自已的 Linux process。
在 Android 系統裡,process 的生命週期並不是直接由 Android
應用程式本身來決定,而是由系統來決定,也因此,Android 應用程式的開發者必須正確地撰寫程式碼,並使用 Android
的元件(component),否則系統不管應用程式是否仍在執行,仍會將應用程式的 process 清除(kill)掉。

Android 的 process 有五種類型:foreground process、visible process、service process、background process 與 empty process。

yuyu 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。