Jun_25.md

今日任務(wù)

  • 以主類為目標(biāo)嘗試新的分析方式

Que 0x01 整理分析的主類

當(dāng)前分析主類:

com.samsung.android.app.music.common.player.PlayController

整理如圖:

PlayController.png

Que 0x02 OnAirViewPopupListenerImpl

OnAirViewPopupListenerImpl

public OnAirViewPopupListenerImpl(Activity activity, IPlayerController playerController) {
            this.mActivity = activity;
            this.mPlayerController = playerController;
        }
  • 實(shí)現(xiàn)對 mActivity 和 mPlayerController 的初始化

getAirView

public View getAirView(View v) {
            Context context = this.mActivity.getApplicationContext();
            switch (v.getId()) {
                case R.id.next_btn:
                    String nextTitle = UiUtils.getTitle(context, this.mPlayerController.getNextUri());
                    if (nextTitle == null) {
                        nextTitle = TalkBackUtils.getButtonDescription(context, (int) R.string.tts_next);
                    }
                    return UiUtils.getAirTextView(this.mActivity, nextTitle);
                case R.id.prev_btn:
                    String prevTitle = UiUtils.getTitle(context, this.mPlayerController.getPrevUri());
                    if (prevTitle == null) {
                        prevTitle = TalkBackUtils.getButtonDescription(context, (int) R.string.tts_previous);
                    }
                    return UiUtils.getAirTextView(this.mActivity, prevTitle);
                default:
                    return null;
            }
        }
  • 獲取上/下一首歌名,如果獲取失敗則返回 button 的描述

Que 0x03 關(guān)于效率的思考

幾個小時的分析中,發(fā)現(xiàn)由于不熟悉面向?qū)ο缶幊趟枷?,?dǎo)致分析效率其實(shí)是比較低下的,并且有的地方是靠猜的,不能完全準(zhǔn)確,所以決定拿出一部分時間,學(xué)習(xí) java、Android 編程,然后按照現(xiàn)在的思路繼續(xù)分析。

Que 0x04 java 變量精度級別

byte < char < int < long < float < double

  • 低精度轉(zhuǎn)高精度:自動轉(zhuǎn)換
  • 高精度轉(zhuǎn)低精度:手動轉(zhuǎn)換
//eg:
float a = 100; //低精度轉(zhuǎn)高精度
float b = (double)3.14 //高精度轉(zhuǎn)低精度

(tip:float 類型變量的 f 不能省略,double 的 d 可以省略)

Que 0x05 聲明常亮

關(guān)鍵字 final

//eg:
final int PI = 3.14159;

Que 0x06 數(shù)組

聲明

//eg:
int a[];
int[] b;

以上兩種皆可。

分配空間

a = new int[7];

(tip:聲明和分配可以一步到位:int a[] = new int[7]

初始化

int a[] = {1,2,3}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容