安卓程序代写 网上程序代写[原]Android开发技巧--Application
1. Application用途
创建Application时机 : Application在启动的时候会调用Application无参的构造方法创建实例;
Application构造方法 : Application的无参的构造方法必须是public的, 否则运行的时候会出现错误.
Application单例 : 在一个应用中, Application是单例的;
Application用途 : 所有的组件共享一个Application, 可以使用Application共享, 传递, 缓存数据;
Application用法 :
a. 组件间数据传递 : 组件之间传递数据的数据量比较大的时候, 尽量不要使用Intent附加域来传递, 可以将数据放在Application中, 以Application作为中转站;
b. 下载数据 : 从网络上下载的数据, 也可以暂时缓存到Application中, 如果下载的数据过多, 可以缓存到SD卡中;
c. 注意内存泄露 : Application是静态的, 存放数据的时候注意声明周期, 不要造成内存泄露;
2. 自定义Application技巧
在应用中经常用到自定义的Application, 自定义一个MyApplication, 将Application设置成单例, 并且在AndroidManifest.xml中注册这个MyApplication;
(1)设置MyApplication单例
a. 定义私有 静态 的MyApplication;
b. 设置一个公有的静态方法, 将this 赋值给自定义的MyApplication对象;
c. 设置一个获取MyApplication对象的方法, 该方法公共 静态;
public class MyApplication extends Application {
/*
* 单例模式 : 私有 静态 本类的对象
*/
private static MyApplication mApplication;
/*
* 单例模式 : 构造方法 , 注意 : Application的构造方法必须是public的
*/
public ReceiverApplication(){
mApplication = this;
}
/*
* 单例模式 : 公共静态获取方法
*/
public static MyApplication getInstance() {
return mApplication;
}
}
这样调用getInstance()方法, 就可以在任何类中调用Application了, 并能取到该类中的数据;
(2)在AndroidManifest.xml中注册自定义的Application
<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
<application
android:name=".MyApplication" >
</application>
</manifest>
(3)获取Application方法
调用系统方法 : 在Activity中可以调用getApplicationContext()方法获取Application;
通过自定义的方法 : 如我们上面自定义的Application那样, 可以调用自定义的getInstance()方法获取Application实例对象;
安卓程序代写 网上程序代写[原]Android开发技巧--Application的更多相关文章
- 安卓程序代写 网上程序代写[原]Android开发技巧--ListView
1. ListView中元素的排序 ListView中的元素排序, 即将数据源排序即可; 给集合排序的方法 : 调用Collections的sort(list, Comparator)方法, 该方法需 ...
- Android开发技巧——写一个StepView
在我们的应用开发中,有些业务流程会涉及到多个步骤,或者是多个状态的转化,因此,会需要有相关的设计来展示该业务流程.比如<停车王>应用里的添加车牌的步骤. 通常,我们会把这类控件称为&quo ...
- 安卓程序代写 网上程序代写[原]Android之Bluetooth编程
ViewGroup 相关资料 : http://www.incoding.org/admin/archives/199.html http://bbs.csdn.net/topics/37014474 ...
- 安卓程序代写 网上程序代写[原]Android应用的自动更新模块
软件的自动更新一般都与Splash界面绑定在一起, 由于需要维护的软件界面很复杂, 一个Activity中嵌入ViewPager, 并且逻辑比较复杂, 索性重新写一个Activity, 现在的软件都很 ...
- 安卓程序代写 网上程序代写[原]BluetoothDevice详解
一. BluetoothDevice简介 1. 继承关系 public static Class BluetoothDevice extends Object implement Parcelable ...
- 安卓程序代写 网上程序代写[原]vim编辑器配置及常用命令
最近工作不安分, 没有了刚入行时候的锐气, 不知道什么时候开始懈怠起来, 周末在电脑旁边看新闻, 搞笑图片, 追美剧, 一坐就是一天, 很是空虚. 我需要摆脱这种状态, 正好想学习一下安卓底层, An ...
- 安卓程序代写 网上程序代写[原]BluetoothAdapter解析
这篇文章将会详细解析BluetoothAdapter的详细api, 包括隐藏方法, 每个常量含义. 一 BluetoothAdapter简介 1.继承关系 该类仅继承了Object类; 2.该类作用 ...
- 安卓程序代写 网上程序代写[转]eclipse快捷键
F 键类 F2 显示详细信息 F3 跳到声明或定义的地方 Ctrl + 键类 Ctrl+1 快速修复 ( 最经典的快捷键 , 就不用多说了 ) Ctrl+D 删除当前行 Ctrl+E 快速显示当前 E ...
- 安卓程序代写 网上程序代写[转]SVN 在线代码托管工具
本文转载自 : http://blog.csdn.net/ithomer/article/details/8142920 作者:阳光岛主 在互联网环境使用SVN服务,你必须要有一台在互联网环境内支持 ...
随机推荐
- Android开发:SharedPreferences 存储数据、获取数据
Android开发:SharedPreferences 存储数据.获取数据 email:chentravelling@163.com 开发环境:win7 64位,Android Studio. 关于S ...
- Linux重启命令与如何重启网络?
分享下Linux重启命令的用法,linux如何重启网络的方法? 第一部分,有关Linux重启命令的用法 1.shutdown2.poweroff3.init4.reboot5.halt *---具体说 ...
- lua -- 清理数组
function UIBagController:ClearGoods( ) ,#self.itemArr do print("=======ClearGoods======" . ...
- [Windows Azure] How to Monitor Cloud Services
How to Monitor Cloud Services To use this feature and other new Windows Azure capabilities, sign up ...
- slack机器人运维
这里有一篇文章,够详细了:http://colobu.com/2015/11/04/create-a-slack-bot-with-golang/ 另外:这个py的库,test了一下,挺好使:http ...
- DIOCP开源项目-DIOCP3重写笔记-1
这几天在在重新DIOCP3,基本工作已经初步完成,进入测试阶段,今天加入排队投递,本认为是个很简单的工作,稍微不注意,留了两个坑,调了7,8个小时,刚刚总算找到问题,记录一下, 关于排队投递的流程 这 ...
- String.format和MessageFormat.format的对比用法
1.MessageFormat.format import java.text.MessageFormat; /** * Created by SYJ on 2017/9/13. */ public ...
- c语言中条件编译相关的预编译指令
一. 内容概述 本文主要介绍c语言中条件编译相关的预编译指令,包括#define.#undef.#ifdef.#ifndef.#if.#elif.#else.#endif.defined. 二.条件编 ...
- Emacs文件命令
[文件]----------------------------------------C-x C-f 读取文件到Emacs C-x r 只读的方式打开一个文件C-x C-q 清除一个窗口的只读属性 ...
- android之滑屏的实现
★理论知识 ●View在屏幕上显示出来要先经过measure(计算)和layout(布局). ◆当控件的父元素正要放置该控件时调用,父元素会问子控件“你想要用多大的地方?”,然后传入两个参数widt ...