【使用首选项实现用户名密码保存获取】
打开src/main/ets/entryability路径下的EntryAbility.ts文件
在
export default class EntryAbility extends UIAbility {onCreate(want, launchParam) {hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
下边添加内容:
// 获取首选项实例对象,然后将实例对象全局处理,这样其他文件可以直接使用 preferences.getPreferences(this.context,'account').then(preference=>{// globalThis设置全局变量preference,让这个变量等于上边那个preference// 注意:这两个preference不是一个globalThis.preference=preferenceconsole.log("加载成功");})// 加载不成功catch.catch(reason=>{console.log(reason)})
打开pages文件夹下的index.ets文件:
import preferences from '@ohos.data.preferences' import router from '@ohos.router' @Entry @Component struct Index {@State username: string=''@State password: string=''pref: preferences.PreferencesonPageShow(){this.pref=globalThis.preference// 获取用户名跟密码,如果获取不到那么为空this.pref.get('username','').then(value=>{this.username=value.toString()})this.pref.get('password','').then(value=>{this.password=value.toString()})}
build() {Row() {Column() {TextInput({placeholder:'请输入用户名',text:this.username}).onChange(value=>{this.username=value})TextInput({placeholder:'请输入密码',text:this.password}).onChange(value=>{this.password=value})Button('登录').onClick(()=>{this.pref.put('username',this.username)this.pref.put('password',this.password)this.pref.flush()router.pushUrl({url:'pages/Page2'})})
}.width('100%')}.height('100%')} }
实际效果图: