Android中一共提供了四种数据存储方式:
Shared Preferences主要用于系统配置信息的保存,比如用户登录时,输入了用户名密码,下次登录时保留这一次的输入内容。类型window中常见的*.ini文件。数据不共享,只能提供给一个应用使用
Files就是把需要保存的东西都存到文件中,需要时,则通过读取这个文件来获取。一般用了体积较大的文件,比如图片
SQlite是一个开源的关系数据库,可以存储大量数据,并且可以很容易的进行增删改查。
shared preference
示例:
/* 装载数据 */ // 取得活动的preferences对象. SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE); // 取得值. mbMusic = settings.getBoolean("bmusic", false); if (mbMusic) { mTextView.setText("当前音乐状态:开"); mbMusic = true; mMIDIPlayer.PlayMusic(); } else { mTextView.setText("当前音乐状态:关"); }
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { /* 这里我们在推出应用程序时保存数据 */ // 取得活动的preferences对象. SharedPreferences uiState = getPreferences(0); // 取得编辑对象 SharedPreferences.Editor editor = uiState.edit(); // 添加值 editor.putBoolean("bmusic", mbMusic); // 提交保存 editor.commit(); if ( mbMusic ) { mMIDIPlayer.FreeMusic(); } this.finish(); return true; } return super.onKeyDown(keyCode, event); }
// Intent intent = new Intent(Intent.ACTION_MAIN);
// intent.addCategory(Intent.CATEGORY_LAUNCHER);
// ComponentName cn = new ComponentName("com.cn.livall.activity", "com.cn.livall.activity.LoginActivity");
// intent.setComponent(cn);
// startActivity(intent);
Intent intent=new Intent();
intent.setClassName("com.estrongs.android.pop", "com.estrongs.android.pop.view.FileExplorerActivity");
startActivity(intent);
}
windows Phone 7 视图是由Frame和Page组成,每一个应用程序有自己的一个Frame和多个Page。
进行页面之间的切换有两种方法:
1、可以使用this.NavigationService.Navigate(Uri)前往要去的页面,该方法会执行该页面的构造方法。
2、使用this.NavigationService.goBack()或者this.NavigationService.goFarward()进行切换,不会执行要进入页面的构造方法,因为这两个方法是从缓冲区中获取要切换的页面,刚才已经创建过了。
但是我有一个问题希望有能力的读者留言回答:假如说我有A、B、C三个页面,这三个页面对用户的优先级来说是同等重要的,在每一个页面都有三个按钮要切换到对应的这三个页面,最直接的方法是使用this.NavigationService.Navigation(Uri)来进行切换,可是这种方法每次都要执行对应页面的构造方法,相当于重新建立了一个页面,没有保留刚才的操作痕迹。但是goBack()和goFarward()方法只能切换到前后一个页面,没法自由的在三个页面直接任意切换,有没有什么方法可以解决呢?
请教了高人解决方法如下:
由于windows Phone 7 的这种页面机制,在这种情况下没有办法解决。
不过可以将每个页面封装成一个控件,将每一个控件作为Pivot Page的一个Item,就可以了。 Pivot Page是windows phone7 的多页面。
QQ:506454223 验证码:wp7