安卓外部存储,即将数据存储在sdcard中,当然存储的前提是手机或者模拟器先具有sdcard目录 然而上一句话还是有歧义的。...事实上所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。...所以不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储。最关键的是,我们都是通过相同的api来访问可移动的sdcard或者手机自带的存储(外部存储)。...因为存储空间有限,内部存储只适用于存储数据量小的情况,当数据量比较大的时候(存放下载的电影音乐等),就需要将数据外部存储 ----------------------------------------..._数据存储技术_内部存储 安卓开发_数据存储技术_SharedPreferences类 安卓开发_数据存储技术_sqlite
安卓内部存储就是将信息保存在一个文件中放入手机内部一个特定的目录下,特别要注意,这里的内部存储不是内存存储。内部存储是系统中一个很特殊的位置。...读取数据都是根据文件名称来执行 下面根据一个简单的Demo来学习下内部存储 一、先看下Demo布局 ?...44 String str_filecontent = content.getText().toString().trim(); 45 //安卓给定的字节输出流...------------------------------------------------------------------------------- 相关知识: 安卓开发_数据存储技术_SharedPreferences...类 安卓开发_数据存储技术_外部存储
一、SQLite SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了。...SQLite已经被多种软件和产品使用 二、SQLite特性 1 2 1、轻量级 3 SQLite和C\S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。...(); 59 String[] name = {"Alice"}; 60 //第一个参数是修改的数据库名称,第二个参数是删除数据要符合的条件,第三个参数是修改的数据源...--------------------------------------------------------------------------------------------- 相关知识: 安卓开发..._数据存储技术_外部存储 安卓开发_数据存储技术_内部存储 安卓开发_数据存储技术_SharedPreferences类
有两种方式可以获得SharedPreferences对象 1、getSharedPreferences(): 如果需要多个使用名称来区分的共享文件,则可以使用该方法,其第一个参数就是共享文件的名称。...47 48 //如果在另一个activity中获取SharedPreferences存储的数据 ,要加上下面这行代码,在同一activity...SharedPreferences类存储的数据放在shared_prefs文件夹中 ?...data/data/包名 找到你的包名 里面有个shared_prefs文件,保存的文件data.xml就是 SharedPreferences类类保存的数据 该数据是以Map键值对的形式存放在xml...------------------------------------------------------------------- 相关知识: 安卓开发_数据存储技术_内部存储
——》个人平时笔记,看到的同学欢迎指正错误,文中多处摘录于各大博主精华、书籍 1、存储相关详解知识 安卓起初早年是有内置SD卡和可扩展插拔TF卡区分的,但是近年手机内置SD卡的高内存导致越来越少的手机支持...安卓中的运行时内存RAM,每个app一般分配16M或24M或者通过系统底层设置可以更改自定义。 (2)、存储(ROM) 内部存储(ROM): 就是相当于是PC中的硬盘的私有存储角色。...Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于JVM进行垃圾回收。...6、SharedPreferences需要注意: (1)、与commit方法相比,apply方法使用异步方式将数据更新到文件。...7、安卓7.0使用Uri访问本地文件添加了行为权限,Android 框架执行StrictMode API 的政策禁止在应用外部公开 file://URI,分享私有文件内容需要通过使用FileProvider
《个人平时笔记,看到的同学欢迎指正错误》 1、存储相关详解知识 安卓起初早年是有内置SD卡和可扩展插拔TF卡区分的,但是近年手机内置SD卡的高内存导致越来越少的手机支持TF卡(外置SD卡)扩展了。...以下项目app包名:com.fivefloor.bo.myview (1)、内存(RAM) 内存与PC的内存是一样的,是用来运行程序,不能用来永久存储数据,手机一旦关机,在内存中的所有数据都将会丢失,...安卓中的运行时内存RAM,每个app一般分配16M或24M或者通过系统底层设置可以更改自定义。 (2)、内部存储(ROM) 就是就相当于是PC中的硬盘的私有存储角色。...嵌入式的关系型数据库,它遵守ACID的关联式数据库管理系统,是主要针对于嵌入式设备专门设计的数据库。...Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于JVM进行垃圾回收。
一、安卓常用控件的使用方式 1.1 TextView TextView可以说是Android中最简单的一个控件了,你在前面其实已经和它打过一些交道了。...如果你不喜欢使用匿名类的方式来注册监听器,也可以使用实现接口的方式来进行注册,代码如下所示: public class MainActivity extends AppCompatActivity implements...,调用活动的方法时就能改变拖动条的当前值,达到最大值时,拖动条相当于就到了100% ProgressBar用于在界面上显示一个进度条,表示我们的程序正在加载一些数据。...这时你可能会问,旋转的进度条表明我们的程序正在加载数据,那数据总会有加载完的时候吧?如何才能让进度条在数据加载完成时消失呢?这里我们就需要用到一个新的知识点:**Android控件的可见属性。...,当然此处的代码实现的是不释放原来所占空间的隐藏实现方式。
做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下: 如有错误,欢迎指正。...2.受控于微信——比起APP,尤其是安卓版的高自由度,小程序要面对很多来自微信的限制,从功能接口,甚至到类别内容,都要接受微信的管控,部分敏感内容还很容易遭受封禁威胁。...支持率不高:现在ios手机端不支持pwa,IE也暂时不支持 Chrome在中国桌面版占有率还是不错的,安卓移动端上的占有率却很低 各大厂商还未明确支持pwa 依赖的GCM服务在国内无法使用 微信小程序的竞争...方式访问功能的网站。...Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。
做安卓时间长了,接触到各种各样的框架,前前后后遇到了很多问题,这里顺便记录一下那些年在安卓开发的发展过程中的那些跨平台开发技术框架,大致如下: 如有错误,欢迎指正。...2.受控于微信——比起APP,尤其是安卓版的高自由度,小程序要面对很多来自微信的限制,从功能接口,甚至到类别内容,都要接受微信的管控,部分敏感内容还很容易遭受封禁威胁。...:现在ios手机端不支持pwa,IE也暂时不支持 Chrome在中国桌面版占有率还是不错的,安卓移动端上的占有率却很低 各大厂商还未明确支持pwa 依赖的GCM服务在国内无法使用 微信小程序的竞争 PWA...https方式访问功能的网站。...,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。
消息推送的目的:让服务器端及时的通知客户端 实现方案 轮询:客户端每隔一定的时间向服务器端发起请求,获得最新的消息 特点:如果用在最新新闻通知上,效率就有点低了,技术简单,好实现 应用场景:服务器端以一定的频率更新时...,如:股票行情,就比较适用轮询了 当你把手机应用的聊天打开,过了一会发烫,基本就是轮询实现的 发短信:服务端发送短信,客户端对短信进行解析 特点:最及时,费用高 应用场景:土豪公司,没联网也可以收到信息...使用第三方的开源项目: androidPN (android push notify) 使用第三方的api: 百度推送,极光推送,各推,微信推送,等 消息推送的实现原理 长连接+心跳帧,我们平常的socket...连接都是短连接,当用完之后会close掉,长连接是一直保持这个连接状态,但是如果一段时间,服务器和客户端没有消息传递,这个连接会被断掉,这个时候就引入了心跳帧的概念,客户端每隔一段时间会发送一条心跳短消息
---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android...BLOB(二进制对象)数据类型,也接受varchar(n)、char(n)、decimal(p,s) 等数据类型, SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么...但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。..., new Object[]{1}); Toast.makeText(this, "删除数据成功", 0).show(); } 数据库的另外一种增删改查方法(重点) 使用google提供的另外一种方式操作数据库表...; 使用cd切换到数据库文件所在的目录; 使用sqlite3 数据库文件的名称打开数据; 使用增删改查语句操作数据库。
引言: 在我们每天使用的手机设备中,无时无刻都在进行着数据的存和取。...安卓作为一种手机操作系统,提供了如下方式的数据存取方式:Preference,File,Sqlite和网络,可以根据程序的实际需求选择合适的存取方式。...1、Preference 使用Preference方式来存取数据,用到了SharedPreferences接口和SharedPreferences.Editor,这连个接口在android.content...2、File 我们可以将一些数据直接以文件的形式保存在设备中,下面的例子分别举例说明了对文件的读取和从Sd卡中读写文件。...FileInputStream fis = new FileInputStream(file); //准备一个字节数组用户装即将读取的数据 byte[] buffer = new
Inflate Bind RecyclerView Adapter 一、Enabling View Binding android { // module级别的build.gradle文件中添加下名的配置...= null // 构造方法中传入了,resId,默认的onCreateView中会inflate内容,此时只需要bind即可 override fun onViewCreated(view: View
当前视频监控的存储方式,通常有以下几种:1)硬盘录像机(DVR)存储:DVR利用硬盘来储存视频数据,具有成本低、容量大、易于管理等优点。...以我们的安防监控视频汇聚平台EasyCVR为例子,EasyCVR支持多种存储方式,支持前端设备硬盘(或SD存储卡)存储、服务器平台存储、本地存储、对象云存储等。...在云存储方面,安防视频汇聚EasyCVR平台的录像计划录制的视频文件同步上传到第三方云存储服务里。随着安防监控体系的逐渐完善,各行业对于数据的价值也越来越重视,数据的存储需求越来越大。...云存储借助内存大、数据安全等特点,成为当前较为受欢迎的存储方式。...安防视频监控汇聚与视频集中存储EasyCVR平台,支持将视频录像资源存储在第三方存储服务平台,能满足视频监控的海量存储需求,不仅为视频监控数据的安全提供了极大的保障,同时也缓解了服务器的存储压力,实现了平台与云存储服务的无缝对接
、开机启动完成)作为一个广播消息发送其他的接收者; android应用程序里面的收音机:自己写的一个广播接收者的一个类。...android.intent.action.NEW_OUTGOING_CALL" /> 广播接受者案例_短信监听器(重点) pdus : protocol data unit s 协议数据单元...2.3的模拟器,4.0之后版本没有卸载、挂载、移除SD卡的功能。...设置要广播的事件类型 intent.setAction("com.itheima.broadcast.HMSSDT"); //设置广播的消息数据 intent.putExtra("news", "黑马...指定接收者需要添加了权限 //resultReceiver 指定哪个广播接收者最后接到消息 //scheduler 消息处理器 //initialCode 给消息指定初始代码 //initialData 指定消息的数据
生命周期的方法: onCreate:服务被创建的时候调用这个方法; onStartCommand :开启服务 onDestroy:销毁服务 bind方式开启服务的生命周期(重点) bindService...onDestrory方法,如果多次解除绑定会抛出异常; 推荐的方式: startService:开启并创建一个服务,服务长期运行在后台; bindService:绑定服务,可以调用服务里面的方法; unBindService...绑定服务调用服务方法的过程 通过bindservice方式实现调用服务里面业务逻辑方法: 步骤: 1、在服务类中创建一个中间人MyBinder,继承了Binder,Binder实现了IBinder接口:...(View view){ myBinder.callMethodInService(); } 绑定服务的应用场景 应用场景: 1、需要在后台运行一定的业务逻辑,而且需要与服务器端交互数据...; IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言; aidl
本篇文章主要说一下月日历数据、月视图绘制以及点击日期的实现。 数据 数据部分,网上能找到比较完整的工具类,主要是根据本月和上月的天数以及本月第一天是周几来计算。...1 再计算本月日期:本月内的数据根据该月的天数跑循环。...一月的数据: List date = new ArrayList(); int j = 1; for (int i = 0; i < 42; i++) { if (i <...数据有了,接着就是绘制这些数据。 MonthView MonthView继承于View,重写onDraw(canva)方法。...: 1、是不是本月的数据(用颜色区分本月和其他月的数据) 2、是不是今天 3、有没有选中的日期 4、显示不显示农历 其中今天和选中的日期用圆环表示,就需要在当天和选中的日期的矩形中绘制圆环。
一、数据共享作用 当我们需要把应用程序的数据共享给其他应用程序(当然有的可能会混淆SharedPreferences)这个时候需要用到安卓开发中另外的一个组件(ContentProvider),这样的组件是不论程序是否启动...(需要android:anthorities属性) 四、使用ContentProvider 1、介绍Uri 1.1、安卓访问Uri比如:content://study.provider/book(这里的...book是请求对象是可以改变的,content是固定格式,中间部分是那个注册ContentProvider时候的那个authority属性值) 2、使用ContentResolver操作数据 2.1常见方法...手机内音频文件 MediaStore.Images.Media.EXTERNAL_CONTENT_URI存储SD中的图片 六、监听ContentProvider数据改变 我们需要监控到ContentProvider...提供数据的动态变化那么就需要使用ContentObserver(自行查看手册)
吃饭,打人,喝茶 动作:action 数据:data intent的作用:激活组件和携带参数。...隐式意图和显式意图(重点) 隐式意图:开启activity的时候不需要直接指定activity的名称,通过指定一组动作和数据,让系统来找到这个特定的activity。...(重点) 可以数据类型: 1、8大基本数据类型、数组; 2、Bundle类似于map的数据结构; 3、Parcelable 序列化到内存; 4、Serializable 序列化到文件; 代码: 使用显示意图...(重点) 使用requestCode,resultCode来判断是哪个业务逻辑界面返回的数据....横竖屏切换的生命周期(重点) 禁用横竖自适应的方式: 1、screenOrientation: landspace横屏、 portrait竖屏、 横竖屏切换:先销毁当前的activity实例,再创建一个新
ContentProvider 概述 ContentProvider 是一种用于在应用程序之间共享数据的机制。...它允许一个应用程序通过 ContentProvider 的接口访问另一个应用程序的数据,比如联系人、媒体文件等。ContentProvider 提供了标准的API来查询、插入、更新和删除数据。...核心功能 数据共享: ContentProvider 提供了一种标准的方式来跨应用程序访问数据。 URI 访问: 使用统一资源标识符(URI)来指定要访问的数据。...{ // 返回数据的MIME类型 return null } } 学习资源 《第一行代码——Android》第12章 官方文档:Content providers 总结 Android的四大组件(Activity...、Service、BroadcastReceiver 和 ContentProvider)构成了应用程序的基础,每个组件都有其特定的用途和生命周期管理方式。
领取专属 10元无门槛券
手把手带您无忧上云