閱讀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