OSC APP 源码解析一

阅读App的源码,一般都是从AndroidManifest.xml开始,OSC也不例外,我们也从这个xml文件开始,具体的内容如下:

<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主要用来做 数据共享、数据传递、数据缓存等作用。

主要还有如下的几个类:

AppConfig:该类为一个配置类,主要是用来保存用户的信息,用户的设置信息(Properties)

AppException:捕获异常和提示错误信息

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

AppStart:主界面

主界面首先是显示一个图片,然后通过渐变的效果,跳转到Main Activity,代码片段如下:

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页面的布局,实现。

待续........

转载于:https://my.oschina.net/u/1162667/blog/178087

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值