---- 在Android开发中怎样使用Application类 ---- 自己独立开发项目才发现以前对Application类并不是十分了解,现在开始直接搭建一个新项目的框架才重新踩过这个坑。...Context类型 Android是用Java语言来编写和,然而Android却需要一个完整的Android工程环境,在这个环境下,我们熟悉的Activity、Service、ContentPrivoder...Application类在项目开发中的使用 首先在项目目录下一个Java类继承Application类,实现是onCreate()方法。...Application类或Context类的误用情况 1. 不能用Application缓存数据!!!...因为Application会因为进入background后内存不足被系统干掉,进入后系统会重现创建一个Application类,而导致缓存在Application类里的数据全部初始化而丢失。 2.
Application类 application是用来保存全局变量的,并且是在package创建的时候就跟着存在了。 当我们需要创建全局变量的时候,而直接在application中去实现。...只需要调用Context的getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应的处理。...每个Android App运行时,会首先自动创建Application 类并实例化 Application 对象,且只有一个。...当然我们也可以自定义,通过 继承 Application 类自定义Application 类和实例。...初始化应用程序级别的资源,如全局对象、环境配置变量等 数据共享、数据缓存,如设置全局共享变量、方法等 2. 获取应用程序当前的内存使用情况,及时释放资源,从而避免被系统杀死 3.
接着上次总结的Application类的实际项目使用Android开发中怎样使用Application类,最近我又发现了一个取巧的使用方法,给想要快速开发的同学分享下心得,也是给大家多提供一个思路吧。...两个使用技巧: 1、Application中保存Activity的引用,获取当前Activity 这个不多说,直接上代码,大家就全明白了: public class App extends Application...统一全局的Dialog样式,你就可以在这个帮助类中获取App的当前Activity实例来显示Dialog. 2、工具类中用static关键字引入Application实例类的单例对象 这个才是今天我主要想说的...Activity去做显示操作(显示Dialog等),也可以获取全局的Application实例来做很多骚操作。...第二种方法当然在设计模式上有耦合度很高的缺点,导致这些工具类都要依赖App类,但是在Android开发中,这个你可以封装一个BaseApplication的Application的基础类来,让其他的Application
特点 2.1 实例创建方式:单例模式 每个Android App运行时,会首先自动创建Application 类并实例化 Application 对象,且只有一个 即 Application类 是单例模式...方法介绍 那么,该 Application 类有什么作用呢?下面,我将介绍Application 类的方法使用 ?...,当该应用程序被杀死,这些数据也会被清空,所以 只能存储一些具备 临时性的共享数据 具体使用 // 复写方法需要在Application子类里实现 private static final...应用场景 从Applicaiton类的方法可以看出,Applicaiton类的应用场景有:(已按优先级排序) 初始化 应用程序级别 的资源,如全局对象、环境配置变量等 数据共享、数据缓存,如设置全局共享变量...具体使用 若需要复写实现上述方法,则需要自定义 Application类 具体过程如下 步骤 1:新建 Application 子类 即继承 Application 类 public class CarsonApplication
通过继承Application类,可以完成一下3项工作: · 对Android运行时广播的应用程序级事件做出相应。 · 在应用程序组件之间传递对象。 ...· 管理和维护多个应用程序组件使用的资源。 其中,后两项工作通过使用一个单态类能够更好地完成。Application的实现在本质上是单态的,并应作为单态实现,以便提供对其方法和成员变量的访问。...一、扩展和使用Application类 如下程序是扩展了Application类的框架代码,并把它实现为一个单态。...类后,需要在Manifest的application节点中注册它,如下所示: 1 application 2 android:allowBackup="true" 3...类实例化对象 2 myApp.setTest("测试数据");//更改状态变量 3 String test = myApp.getTest();//获取状态变量 我们知道,在Activity
来源: http://developer.android.com/training/basics/data-storage/files.html Android使用了一种类似于其它平台上基于磁盘文件系统的文件系统...本节课描述了如何使用 File API在Android文件系统中读写文件. File 对象适用于用一种没有跳跃的从开始一直到结尾的方式读写大量数据....如果你想要在外部存储上保存公共的文件,使用 getExternalStoragePublicDirectory() 方法来获取一个表示外部存储上对应文件的 File ....查询空闲空间 ---- 如果你事先知道要保存多少数据,你就可以通过调用 getFreeSpace() 或者 getTotalSpace() 发现是否有足够空间保存这些数据,而不会导致一个 IOException...); 注意: 当用户卸载你的应用时,Android系统会删除下面这些东西 : 所有你保存在外部存储中的文件 所有你使用 getExternalFilesDir() 保存在内部存储上的文件.
与 全局变量 : -- 基本作用 : Application 在 Android 中是为了 保存全局变量 而设计的类; -- Android 全局变量定义 : 在 Android 中可以不使用 public...static 定义全局变量, 定义在 Application 中的普通变量 在Android应用中可以当作全局变量使用; (3) Application 使用方法 Application 使用方法 :...Application 使用场景 1 --> 组件间的数据传递 (1) 使用 Application 传递数据 Application 媒介传递数据方式 : -- Appliction 集合 : 在...Application 使用场景 2 --> 应用中的数据缓存 Application 缓存数据 : -- 缓存少量数据 : 从互联网获取的少量数据可以直接存放在 Application 中用于数据缓存的...自定义 Application 基本使用 (1) 创建 自定义 Application 创建 Application : 创建一个类, 继承 android.app.Application 类, 实现最基本的
数字Java文件IO的API 熟悉SQL数据库 大多数Android应用需要存储数据,即使只是在onPause()期间存储有关应用的状态信息,以便用户的操作进度不会丢失掉。...本课程向你介绍向你介绍在Android中存储数据的主要选择,包括: 在一个共享的首选项文件中保存简单数据类型的键值对 在Android的文件系统中保存任意文件 使用有SQLite管理的数据库...保存键值对 如果你有一小撮键值对想要保存,你就应该使用SharedPreferences API....每一个SharedPreferences文件由框架来进行管理,并且可以是私有的或者是共享的。 这里向你展示如何使用SharedPreferences API来存储和获取简单的值。...使用诸如putInt()和putString()方法传入你想要写入的键值对。然后调用commit()来保存更新。
有时我们的数据属于保存到数据库,对于Android应用和IOS应用,我们一般都会使用SQLite这个嵌入式的数据库作为我们保存数据的工具。...由于我们直接操作数据库比较麻烦,而且管理起来也非常的麻烦,以前用ormlite,最近项目尝试用greendao来保存数据。 ?...使用gradle导入greendao包和greendao-generator包并配置我们的路径 其中greendao用于我们操作数据库的类。...而greendao-generator是用来产生我们的的数据库的数据类。包含了Bean、DAO、DaoMaster、DaoSession 。...在src/main下创建一个java-gen的包,用于生成我们的bean类文件 ? 创建Dao的生成类文件YeehotGeneratorDao.java,用于生成上面说的几个类。
特点 2.1 实例创建方式:单例模式 每个Android App运行时,会首先自动创建Application 类并实例化 Application 对象,且只有一个 即 Application类...方法介绍 那么,该 Application 类有什么作用呢?下面,我将介绍Application 类的方法使用 ?...注:这些共享数据只在应用程序的生命周期内有效,当该应用程序被杀死,这些数据也会被清空,所以只能存储一些具备 临时性的共享数据 具体使用 // 复写方法需要在Application子类里实现 private...具体使用 若需要复写实现上述方法,则需要自定义 Application类 具体过程如下 步骤1:新建Application子类 即继承 Application 类 public class CarsonApplication..." // 此处自定义Application子类的名字 = CarsonApplication application> 步骤3:使用自定义的Application类实例 private
前言: 上一篇文章写了在Android中利用SharedPreferences保存数据,SharedPreferences在保存数据的时候主要是保存一些应用程序的设置信息或者少量的用户信息,并且是以key-value...形式保存的String类的信息,比较有局限性。...Android中以文件形式把数据保存到磁盘上与其他平台基本上都是类似的,本篇文章将会介绍如何利用java.io.Files的API函数进行文件的读写操作。...在手机出厂的时候会在这块磁盘上烧上android系统,android系统会把整个磁盘进行分区,一部分提供给android系统存放系统文件使用,类似windows的系统盘,但是要比windows上权限严格的多...如果这个文件被保存在内部存储上,你也可以调用Context.deleteFile(String name)方法类删除文件。
协议类让你可以在同一个包的所有其它类那里使用相同的常量. 这让你可以在一个地方对列名称的改变传播到你所有的代码. 组织一个协议类最好的方式是将对你的整个数据库全局可用的定义放置到类的根一级别 ....注意: 通过实现 BaseColumns 接口, 你的内部类可以继承到一个称作 _ID 的主键域,一些诸如游标适配器的Android类将希望有这个东西 ....它也不是一定要有的,但它有助于你的数据库同Android框架更加的协调 .... 内部存储 中的文件, Android 将你的数据库保存在同应用程序相关联的私有磁盘空间上....当你想要使用这个类来获取你的数据库的引用时,系统只会在需要时并且不会是应用启动时,执行创建和更新数据库的可耗时较长的操作.
而且还有Android手机版本[https://keepass2android.codeplex.com/]。...如果是第一次使用,我们首先的是要创建数据库,也就是存放密码的数据库,KeePass将会把你的所有密码存储在这个数据库中。...单击菜单上的“文件—新建”,选择数据库存放的路径,选择一个路径来保存我们的数据库,然后点击保存: ?...l Keepass数据的备份 备份你所保存的密码数据库文件(*.kdb)。如果你生在了密钥,还要保存密钥文件。...提示:如果用户的密码记录经常变动,那么相应的KeePass数据也要经常备份。保存好你的数据。尽管你有数不清的密码,但只需看好一个KeePass数据备份就可以了。
特点 2.1 实例创建方式:单例模式 每个Android App运行时,会首先自动创建Application 类并实例化 Application 对象,且只有一个 即 Application类 是单例模式...下面,我将介绍Application 类的方法使用 3.1 onCreate() 调用时刻: Application 实例创建时调用 Android系统的入口是Application类的 onCreate...,如全局共享变量、方法等 注:这些共享数据只在应用程序的生命周期内有效,当该应用程序被杀死,这些数据也会被清空,所以只能存储一些具备 临时性的共享数据 具体使用 // 复写方法需要在Application...应用场景 从Applicaiton类的方法可以看出,Applicaiton类的应用场景有:(已按优先级排序) 初始化 应用程序级别 的资源,如全局对象、环境配置变量等 数据共享、数据缓存,如设置全局共享变量...具体使用 若需要复写实现上述方法,则需要自定义 Application类 具体过程如下 步骤1:新建Application子类 即继承 Application 类 public class CarsonApplication
接下来就讲讲使用SharedPreferences来保存密码和账号,也许有些人会考虑的数据库,但是我个人认为对于保存简单的数据,使用的数据库就大材小用了,SharedPreferences比较轻量级 首先写好布局..." android:text="保存" android:layout_width="match_parent" android:layout_height...,还有在加载页面时获取数据 //获取info文件的内容,第一参数为保存时的key,第二个是如果获取不到的默认值 String numberStr1 = sp.getString("number...(key,value)保存数据 ④使用editor调用apply()或者commit()才会生效 读取 ①通过getSharedPreferences("文件名",模式)获得SharedPreferences...②通过sp.getXXX(key,defValue)直接可以获得数据 加密 明文保存好像很不安全,那我们就对密码简单加密,下面是加密和解密的方法 /** * 加密方法 *
EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。...简而言之就是你想断电后arduino还要保存一些参数,就使用EEPROM吧。...AVR芯片均带有EEPROM,也有外接的EEPROM芯片,常见arduino控制器的EEPROM大小:Arduino UNO、Arduino duemilanove-m328、Zduino m328均使用...,arduino的库已经为我们准备好了EEPROM类库,我们要使用得先调用EEPROM.h,然后使用write和read方法,即可操作EEPROM。...另:下面的官方例子由于写成较早,所以讲EEPROM的大小都定为了512字节,实际使用中,大家可参照上面所说的EEPROM大小,自行更改。
上两节我们都是使用文本文件保存用户的信息,这明显是存在漏洞的。同时对文件中的内容不好管理。今天我们学习用SharedPreference保存。...sharedPreference是专门保存一些比较零散的数据的。 我们还是用上节的例子分析,将用户的信息使用SharedPreference来保存。...注意:如果不知道是什么例子,请看Android 存储学习之在内部存储中读写文件 当点击确定按钮后,就会保存用户的信息: public void login(View v) { String name...Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show(); } else { if(cb.isChecked()) { //使用...sharedPreference来保存用户的信息, //SharedPreference的默认路径是:当前进程包名下的/share_prefs/ SharedPreferences sp =
总之大部分的程序都是在和数据打交道。Android中数据保存比较方便灵活,今天就按照官网说说数据保存。...大多数Android应用程序都需要存储数据,在Android生命周期方法onPause中,你可以保存用户在程序中的进度数据,在用户再次进入程序时进行读取恢复。...下面就给大家介绍一下在Android中数据是如何保存的。 key-value键值集合保存数据: 如果你有一些相对较少的键值数据集需要保存,那么SharedPreferences应该能够满足你。...google给出的建议是尽量不要用这种机制来进行数据共享传递,可以用其他方法来代替这种机制,比如使用ContentProvider,BroadcastReceiver或者Service。...获取数据很简单,分两步: 1、获取SharedPreferences对象; 2、调用get方法获取key对应的值; 以上就是利用SharedPreferences进行数据保存的知识,基本上包含了所有使用
有四种一般的尺寸: 小,一般大,大,超大 还有四种一般的像素密度: 低 (ldpi), 中 (mdpi), 高 (hdpi), 超高 (xhdpi) 为了声明你想要使用在不同屏幕上的布局和位图...每一个布局应该被保存在对应的资源路径中,使用带有 - 后缀的名称 . 例如,对于大屏幕的单独布局应该被保存在 res/layout-large/ 下面....注意 : Android 会自动缩放你的布局,来适当的适应屏幕 ....更多有关Android如何选择对应的资源的信息可以在 提供资源 指南中找到 ....portrait) main.xml layout-large-land/ # large landscape main.xml 注意: Android
Android 会根据设备在运行时的方言设置来加载相近的资源 . 更多信息,键 提供可选资源. 一旦你已经决定了你所要支持的语言,那就要创建资源子路径和字符串资源文件了....在运行时,Android系统会基于用户设备的当前方言设置来使用相近的字符串资源集合 . 例如,下面是一些用于不同语言的字符串资源文件 ....> Mon Application Bonjour...使用 String 资源 你可以使用由元素名称属性定义的资源名称来引用你的资源代码和XML文件中的字符串资源。 在你的源代码中,你可以使用 R.string....@string/ 来应用一个字符串资源 .
领取专属 10元无门槛券
手把手带您无忧上云