旅遊類APP-Android模塊分析

2.Android模塊分析

2.1系統框架

Android系統框架

2.2Android APP啓動流程 AndroidManifest.xml

這裏寫圖片描述

2.3網絡交互

這裏寫圖片描述

2.4開發中的知識點

1.啓動時使用引導頁使用漸變效果:

protected void onDraw(Canvas canvas) {
    // Log.d("ly", "onDraw");
    // 清屏
    canvas.drawColor(Color.WHITE);
    // 創建畫筆對象
    Paint p = new Paint();
    // 設置畫筆對象的透明度爲當前透明度取值
    p.setAlpha(alpha);
    // 在視圖上利用畫筆繪製Logo圖像
    Rect src = new Rect(0, 0, logo.getWidth(), logo.getHeight());

    WindowManager wm = (WindowManager) getContext()
            .getSystemService(Context.WINDOW_SERVICE);

    int width = wm.getDefaultDisplay().getWidth();
    int height = wm.getDefaultDisplay().getHeight();
    Rect dst = new Rect(0, 0, width, height);
    canvas.drawBitmap(logo, src, dst, p);

}

public void repaint(int alpha) {
    this.alpha = alpha;
    // 拋出重繪事件
    invalidate();
}

外部啓動線程每隔100ms調用repaint函數,即可實現漸變效果。

2.TabActivity與事件分發

public boolean dispatchKeyEvent(KeyEvent event) {
    Log.d("ly", "TabHostAty dispatchKeyEvent " + event.getKeyCode());
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        // do something
        if (System.currentTimeMillis() - mFirstTime > 2000) {
            Toast.makeText(this, "再次點擊退出程序", Toast.LENGTH_SHORT).show();
            mFirstTime = System.currentTimeMillis();
            return true;
        }
    }
    return super.dispatchKeyEvent(event);
}

由於TabActivity沒有焦點,焦點在子Activity中,因此onKeyDown和onBackPressed只有在子Activity中才會響應,這裏使用dispatchKeyEvent攔截分發事件處理。

代碼地址 https://github.com/wWX152939/lvyou

旅遊類APP-環境搭建 http://blog.csdn.net/qq4551091/article/details/74356878

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章