Android 中如何给应用添加首次使用提示

来源:互联网 发布:linux系统命令大全 编辑:程序博客网 时间:2024/06/05 18:05

现在 Android 平台中很多应用在安装后,首次进入应用时,会有一个该应用的功能宣传或者提示的界面。

如下图是 360Camera 的一个首次应用提示界面:



通常会有好几幅画面,用来介绍该应用的一些特色。这里只截取一屏……

那么类似的这种功能是如何实现的呢?

一般都会设置一个 Preferece 配置项。譬如    

public static final String KEY_FIRST_USE_NOTE = "pref_first_use_note_key";

并且将其默认值设置为 TRUE 

当用户首次进入该应用时,就会判断该值,若该值为 false, 则不会显示该画面。

否则,就显示该画面。显示完该画面后或者说用户操作完该画面后顺利进入到应用时,将该 preference 值写为 false

private void showFirstUseNote(){Log.v(TAG,"showFirstUseNote ...");if (mPreferences.getBoolean(Settings.KEY_FIRST_USE_NOTE, true)){//do show the note work here}}


private void writeFirstUseNoteValue() {        // Clear the preference.        Log.v(TAG,"writeFirstUseNoteValue KEY_FIRST_USE_NOTE false");        Editor editor = mPreferences.edit();        editor.putBoolean(Settings.KEY_FIRST_USE_NOTE, false);        editor.apply();}

大部分第一次使用时提示的功能都是这样处理的。

如果第一次使用时没留意看那些提示,事后又想再看一下也是有办法的。

当然先要获取 root 权限。

adb remount success 后,进入到 /data/data/vStudio.Android.Camera360/shared_prefs 目录下,

执行 ls 命令即可看到 该应用有关的配置文件

root@android:/data/data/vStudio.Android.Camera360/shared_prefs # lslsGPhoto_PREF_3x0.xmlhelper.xmlmobclick_agent_header_vStudio.Android.Camera360.xmlmobclick_agent_state_vStudio.Android.Camera360.xmlmoto_bug.xmlpref_camera_3.0_beta2.xmlrenren_sdk_config_2_.xmlscene_current_temp.xmlvStudio.Android.Camera360_preferences.xml

执行 cat * 命令即可看到该应用所有的配置项,如果有兴趣,你可以根据设置字段名字去猜测该设置的意思

root@android:/data/data/vStudio.Android.Camera360/shared_prefs # cat *cat *<?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><boolean name="mSetting_IsSafeQuit" value="false" /><int name="mSetting_TilfShiftDirect" value="0" /><string name="mLastSavePath">/storage/sdcard0/DCIM/Camera/</string><int name="mSetting_TilfShiftPosBL" value="50" /><boolean name="mSetting_chk_use_stability" value="false" /><string name="SceneTemplateParam"></string><int name="mSetting_TilfShiftSizeBL" value="10" /><string name="SceneTemplateFile"></string><int name="mSetting_EffectIndex" value="1" /><int name="mSetting_CapDelayTimeIndex" value="0" /></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><boolean name="first_use_3x0_155" value="false" /></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><string name="header">{"os":"Android","package":"vStudio.Android.Camera360","cpu":"ARMv7 Processor rev 0 (v7l)","appkey":"4c528da01d41c85ecf000211","sdk_version":"3.3","app_version":"3.0.3","lng":0,"device_id":"865407010000009","resolution":"800*480","access":"Wi-Fi","country":"CN","os_version":"4.1.2","version_code":155,"idmd5":"6f86a11b1dda5f5bca7e11ec452","device_model":"vivo Y11","timezone":8,"sdk_type":"Android","carrier":"","language":"zh","channel":"鍐呯疆BBKPD1216T","lat":0}</string></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><long name="traffics_down" value="4837" /><string name="session_id">c330d7b5bd6920df0918bf413a2b4b26</string><long name="duration" value="0" /><long name="end_millis" value="-1" /><long name="start_millis" value="1367149680521" /><string name="appkey">4c528da01d41c85ecf000211</string><long name="traffics_up" value="3143" /><string name="activities"></string></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><boolean name="isSqlBug" value="true" /><boolean name="isStart" value="true" /></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><int name="curr_indexbutton_vibrate" value="0" /><int name="curr_indexsave_org_photo" value="1" /><int name="curr_indexpic_size" value="2" /><int name="curr_indexwhtie_balance" value="0" /><int name="curr_indexcontranst" value="1" /><int name="curr_indexsound" value="1" /><int name="curr_indexsave_path" value="0" /><int name="curr_indexbrightness" value="1" /><int name="curr_indexexposure" value="3" /><int name="curr_indexsharpness" value="-1" /><int name="curr_indexfocus_mode" value="0" /><int name="curr_indexsaturtion" value="-1" /><int name="curr_indexflash" value="0" /><int name="curr_indexshoot_mode" value="0" /><int name="curr_indexgps" value="1" /><int name="curr_indexcomposition" value="0" /><int name="curr_indexzoom" value="0" /><int name="curr_indextouch_taking" value="0" /><int name="curr_indexpreview_size" value="0" /><int name="curr_indexiso" value="0" /><int name="curr_indexframing" value="0" /><int name="curr_indexpic_quality" value="2" /></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map /><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><int name="current_camera_mode" value="0" /></map><?xml version='1.0' encoding='utf-8' standalone='yes' ?><map><string name="auto_checker_time">2013-4-28 涓嬪崍7:17:26</string><string name="list_tiltshiftpicsize">1</string><boolean name="check_gps" value="true" /><boolean name="chk_resizetomin" value="false" /><string name="list_photosize">2</string><string name="list_savepath">0</string><boolean name="has_bind_auto_update" value="true" /><string name="list_screen_brightness">1</string><string name="list_photo_quality">2</string><boolean name="pref_save_org_photo" value="true" /><long name="last_start_millis" value="20130428" /></map>

执行 rm * 命令即可清除所有的配置项。

root@android:/data/data/vStudio.Android.Camera360/shared_prefs # rm *rm *root@android:/data/data/vStudio.Android.Camera360/shared_prefs # exitexit

再从手机端进应用,就会出现你想要看到的提示了。不神奇吧。

如果具体要看某一个配置文件,可以通过 adb shell pull /data/data/vStudio.Android.Camera360/shared_prefs/vStudio.Android.Camera360_preferences.xml  C:\

这时C盘根目录下就有了该文件,以任何文件编辑器打开均可。

你甚至可以直接更改某个设置值,再将该文件 push 到相应目录中去,看看有什么变化发生。

通过此种方式可以调试某个值是否有写错。

原创粉丝点击