1、使用dimens统一管理布局间距,margin/padding的距离。
复制代码
1
2
3
4
5
6
7
8
9
10
11<!-- ************************* 通用 ******************** --> <dimen name="margin_litter">2dp</dimen> <dimen name="margin_tiny">4dp</dimen> <dimen name="margin_small">8dp</dimen> <dimen name="margin_normal">15dp</dimen> <dimen name="margin_medium">20dp</dimen> <dimen name="margin_large">32dp</dimen> <dimen name="margin_huge">64dp</dimen> <dimen name="line_height">1dp</dimen> <dimen name="line_litter_height">0.5dp</dimen>
2、自定义Activity父类BaseActivity,声明一些抽象方法与公用代码,如initView(),initData()。
3、自定义权限声明类,管理程序运行时所需要动态申请的权限。
4、自定义SharedPreferences管理类,自定义put()和get()等方法。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20public static void put(String key, Object object) { SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); if (object instanceof String) { editor.putString(key, (String) object); } else if (object instanceof Integer) { editor.putInt(key, (Integer) object); } else if (object instanceof Boolean) { editor.putBoolean(key, (Boolean) object); } else if (object instanceof Float) { editor.putFloat(key, (Float) object); } else if (object instanceof Long) { editor.putLong(key, (Long) object); } else { editor.putString(key, object.toString()); } SharedPreferencesCompat.apply(editor); }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17public static Object get(String key, Object defaultObject) { SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); if (defaultObject instanceof String) { return sp.getString(key, (String) defaultObject); } else if (defaultObject instanceof Integer) { return sp.getInt(key, (Integer) defaultObject); } else if (defaultObject instanceof Boolean) { return sp.getBoolean(key, (Boolean) defaultObject); } else if (defaultObject instanceof Float) { return sp.getFloat(key, (Float) defaultObject); } else if (defaultObject instanceof Long) { return sp.getLong(key, (Long) defaultObject); } return null; }
5、在BaseActivity声明通用的ProgressDialog,并提供显示和隐藏函数。
6、关于onNewIntent()方法----
首先,在默认情况下,当您通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统都会创建一个新的Activity实例并显示出来。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置activity的加载方式(launchMode)以实现单任务模式,
launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法。
最后
以上就是认真星月最近收集整理的关于【Android】一些实际项目编程的经验(1)的全部内容,更多相关【Android】一些实际项目编程内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复