OSC APP 源碼解析一

閱讀App的源碼,通常都是從AndroidManifest.xml開始,OSC也不例外,咱們也從這個xml文件開始,具體的內容以下: java

<application android:name=".AppContext" android:icon="@drawable/icon" android:label="@string/app_name" >
    <activity android:name=".AppStart" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:screenOrientation="portrait">
        <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".ui.About" android:theme="@style/Theme.ZoomLight" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" android:launchMode="singleTask"/>
    ......
    <activity android:name="com.tencent.weibo.webview.OAuthV1AuthorizeWebView" android:label="@string/app_name"/>
    <activity android:name="net.oschina.app.common.QQWeiboHelper2"/>       <receiver android:name=".ui.BroadCast">                                                             <intent-filter>
            <action android:name="net.oschina.app.action.APPWIDGET_UPDATE" />
        </intent-filter>
    </receiver>
</application>
<!--權限配置-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />

OSC自定義了一個Application,名字是AppContext,主Activity是AppStart,這個Application主要用來作 數據共享、數據傳遞、數據緩存等做用。 android

主要還有以下的幾個類: web

AppConfig:該類爲一個配置類,主要是用來保存用戶的信息,用戶的設置信息(Properties) 緩存

AppException:捕獲異常和提示錯誤信息 app

AppManager:管理Activity和程序的退出(Stack) ide

AppStart:主界面 佈局

主界面首先是顯示一個圖片,而後經過漸變的效果,跳轉到Main Activity,代碼片斷以下: ui

AlphaAnimation aa = new AlphaAnimation(0.3f,1.0f);
aa.setDuration(2000);
view.startAnimation(aa);
aa.setAnimationListener(new AnimationListener(){
    @Override
    public void onAnimationEnd(Animation arg0) {
        redirectTo();
    }
    .......	
});
private void redirectTo(){        
        Intent intent = new Intent(this, Main.class);
        startActivity(intent);
        finish();
    }

Main Activity頁面就是主要的信息頁面,下面一節主要介紹Main頁面的佈局,實現。 this

待續........ spa

相關文章
相關標籤/搜索