1.Demo说明与演示
Redirection这个Demo会涉及到三个Acitivity: RedirectEnter, RedirectMain,RedirectGetter。其Main Activity是RedirectEnter,它启动RedirectMain,然后在RedirectMain中根据条件来决定是否再启动RedirectGetter。主要知识点是SharedPreference的使用.
Demo效果图如下:



2.视频讲解
http://www.eyeandroid.com/thread-10683-1-1.html

3.Demo分析
Redirection示例涉及到三个Acitivity: RedirectEnter, RedirectMain,RedirectGetter。示例的主Activity为 RedirectEnter ,RedirectEnter 启动 RedirectMain, 而Activity 会根据某个条件来决定是否将应用的控制权传给RedirectGetter 或是保持在RedirectMain。

应用代码中使用到了Shared Preferences (在之前的示例中介绍过)。 RedirectMain 将检查某个shared preferences 值是否存在:
// Retrieve the current text preference. If there is no text
// preference set, we need to get it from the user by invoking the
// activity that retrieves it. To do this cleanly, we will
// temporarily hide our own activity so it is not displayed until the
// result is returned.
if (!loadPrefs()) {
Intent intent = new Intent(this, RedirectGetter.class);
startActivityForResult(intent, INIT_TEXT_REQUEST);
}


其它用到的还有startActivityForResult 。这个例子没有什么新的知识,只是涉及到了三个Activity。演示了如何根据条件触发不同的Activity,将应用控制权Redirection到不同的Activity。

这个例子用户点击“Go”按钮,RedirectEnter 启动RedirectMain ,RedirectMain 会根据shared preferences是否有值决定是否redirect 到RedirectGetter, 第一次或是点击”Clear and Exit”后,shared preferences 中不含有text值,应用会显示RedirectGetter 来取的用户输入,此时如果用户输入并“Apply”后,RedirectGetter将在Shared Preference储存textView 的值。此后,按“Back” 退回Activity List再启动RedirectEnter,按“GO”,由于Shared Preferences中有值,RediectMain不会把应用的控制权Redirect到RedirectGetter.

更多相关文章

  1. 分支和循环(二)(零基础学习C语言)
  2. ButterKnife--View注入框架
  3. Binder使用示例
  4. Android-SurfaceView示例
  5. ContentProvider示例-Calendar Provider
  6. android客户端和java服务端之间用socket来传输图片(示例代码)
  7. Build Android(安卓)Project with Gradle
  8. Android语音识别的具体实现实例特点分析
  9. pull解析器的简单示例

随机推荐

  1. Android 使用Camera2 调用摄像头显示预览
  2. Android图片上传的工具类
  3. android实现播放器反射性动画效果
  4. Android Toast 例子
  5. Android 复用自制的控件(2)
  6. Android 按钮 弹出对话框
  7. Android - 对话框(Dialog)和通知(Notific
  8. 获取Android系统程序信息
  9. Android之针对webview的缓存
  10. android 8.0 service