Gallery3d 学习笔记(12)

从今天开始我们就开始研究Android 4.0里面的Gallery3d (Gallery2)

4.0的代码就庞大许多,而且现在的包名变成了com.android.gallery3d了,是真正的Android写的了。我们看下AndroidManifast.xml,

我们先看一个简单的Activity,熟悉下代码

<activity android:name="com.android.gallery3d.app.MovieActivity"android:label="@string/movie_view_label"android:configChanges="orientation|keyboardHidden|screenSize"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="rtsp" /></intent-filter><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="http" /><data android:scheme="https" /><data android:scheme="content" /><data android:scheme="file" /><data android:mimeType="video/mpeg4" /><data android:mimeType="video/mp4" /><data android:mimeType="video/3gp" /><data android:mimeType="video/3gpp" /><data android:mimeType="video/3gpp2" /><data android:mimeType="video/webm" /><data android:mimeType="video/avi" /><data android:mimeType="application/sdp" /></intent-filter><intent-filter>!– HTTP live support –><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="http" /><data android:scheme="https" /><data android:mimeType="audio/x-mpegurl" /><data android:mimeType="audio/mpegurl" /><data android:mimeType="application/vnd.apple.mpegurl" /><data android:mimeType="application/x-mpegurl" /></intent-filter></activity>是不是时曾相识的代码?就是上次我们看的播放视频的代码。

因为看过类似的代码,我就快点过

我发现android也不厚道,写的代码都这么的相似,2.3让人家写代码,4.0就抄袭改进人家的代码,把别人踢开了。

不过也可以解释为本身代码就是个空框架,没什么好改的

public class MovieActivity extends Activity {}public class MoviePlayer implementsMediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener,ControllerOverlay.Listener {}不过播放器上的控制条,没有再像2.3那样使用Framework中的控制条,而是自己重新写了一个,实现播放控件和Framework的分离,我喜欢这个改进,松耦合

public class MovieControllerOverlay extends FrameLayout implementsControllerOverlay,OnClickListener,AnimationListener,TimeBar.Listener {}基本的流程和2.3的播放器一模一样的。

Android 还做了一个无耻的事情,请看AndroidManifast.xml

<!– we add this activity-alias for shortcut backward compatibility –><!– Note: The alias must put after the target activity –><activity-alias android:name="com.cooliris.media.Gallery"android:targetActivity="com.android.gallery3d.app.Gallery"android:configChanges="keyboardHidden|orientation|screenSize"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /></intent-filter></activity-alias>就是说,如果新的Android 系统上没有com.cooliris.media.Gallery,而有应用发送Intent要求打开一个图片,那么就会打开com.android.gallery3d.Gallery目前这个Android这个应用来打开,真是把人家一脚踢开,还要将他的油水榨干啊!

视频播放器就不说了,后面开始,还是按照我们原来的方法来研究 数据流程 消息流程 刷新流程,界面切换流程来研究下吧。

,不付出,却一定不会有收获,不要奢望出现奇迹。

Gallery3d 学习笔记(12)

相关文章:

你感兴趣的文章:

标签云: