Welcome 微信登录

首页 / 移动开发 / Android

解析Android中的Serializable序列化

解析Android中的Serializable序列化

1、为何要序列化?-- 把内存中的java对象能够在磁盘上持久保存-- 通过网络传输对象-- 通过RMI(Remote Method Invocation 远程过程调用)传输。通过序列化可以把对象转化为与平台无关的二进制流,在重新使用前进行反序列化,重新转化为java对象。(远程过程调用针对分布式Java应用,对开发人员屏蔽不同JVM和网络连接等细节,是的分布在不同JVM上的对象似乎存在于一个统一的JVM中,能够方便的通讯)2、如何让Java对象可以被序列...
详解Android开发中Activity的四种launchMode

详解Android开发中Activity的四种launchMode

Activity栈主要用于管理Activity的切换。当使用Intent跳转至某个目标Activity,需要根据目标Activity的加载模式来加载。Activity一共有以下四种launchMode:1.standard:默认,每次使用Intent跳转到目标Activity时都创建一个新的实例。坏处是每次进入都要创建新的实例,执行OnCreate方法。2.singleTop:如果要跳转的目标Activity正好在task的顶部(说明当前肯定不在目标tas...
深入理解Android中的Handler异步通信机制

深入理解Android中的Handler异步通信机制

一、问题:在Android启动后会在新进程里创建一个主线程,也叫UI线程(非线程安全)这个线程主要负责监听屏幕点击事件与界面绘制。当Application需要进行耗时操作如网络请求等,如直接在主线程进行容易发生ANR错误。所以会创建子线程来执行耗时任务,当子线程执行完毕需要通知UI线程并修改界面时,不可以直接在子线程修改UI,怎么办?解决方法:Message Queue机制可以实现子线程与UI线程的通信。该机制包括Handler、Message Queue...
从源码剖析Android中的Intent组件

从源码剖析Android中的Intent组件

我们知道,Intent主要用来激活安卓几大组件,那么它具体是怎样来激活的?激活时是否可以携带java对象?为何要将对象序列化后才能传递?一、Intent官网解释Intent可以被startActivity用来加载Activity,也可以被broadcastIntent发送给指定的BroadReceiver组件,或者被startService、bingService来与后台service通信。Intent最主要作用就是加载Activity,好比Activit...
详解Android应用开发中Intent的作用及使用方法

详解Android应用开发中Intent的作用及使用方法

Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的Int...
Android App的运行环境及Android系统架构概览

Android App的运行环境及Android系统架构概览

Android基于linux内核,面向移动终端的操作系统。主要包括以下几个方面:Application Framework:这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provider,Notification Manager,以及各种窗口 Widget 资源等。所有的APP都是运行在这一层之上。Dalvik 虚拟机:Dalvik VM采用寄存器架构,而不是JVM的栈架构,更适于移动设备。java源代码...
Android实现搜索功能并本地保存搜索历史记录

Android实现搜索功能并本地保存搜索历史记录

本文实例为大家分享了Android实现搜索功能,并且需要显示搜索的历史记录,供大家参考,具体内容如下效果图:本案例实现起来很简单,所以可以直接拿来嵌入项目中使用,涉及到的知识点: - 数据库的增删改查操作 - ListView和ScrollView的嵌套冲突解决 - 监听软键盘回车按钮设置为搜索按钮 - 使用TextWatcher( )实时筛选 - 已搜索的关键字再次搜索不重复添加到数据库 - 刚进入页面设置软键盘不因为EditText而自动弹出代码Rec...
Android中使用RecyclerView实现下拉刷新和上拉加载

Android中使用RecyclerView实现下拉刷新和上拉加载

推荐阅读:使用RecyclerView添加Header和Footer的方法 RecyclerView的使用之HelloWorldRecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。本文给大家介绍如何为RecyclerView添加下拉刷新和上拉加载,过去在ListView当中添加下拉刷新和上拉加载是非常方便的利用addHeaderView和addFooterView,R...
使用RecyclerView添加Header和Footer的方法

使用RecyclerView添加Header和Footer的方法

RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展示和处理:使用LayoutManager来确定每一个item的排列方式。为增加和删除项目提供默认的动画效果。RecyclerView虽然作为ListView的替代者有着较好的性能提升,但是ListView的一些常用功能却没有提供,比如我们平时会经常用到的addHeaderView,addFooter...
RecyclerView的使用之HelloWorld

RecyclerView的使用之HelloWorld

话说RecyclerView已经面市很久,也在很多应用中得到广泛的使用,在整个开发者圈子里面也拥有很不错的口碑,那说明RecyclerView拥有比ListView,GridView之类控件有很多的优点,例如:数据绑定,Item View创建,View的回收以及重用等机制。RecyclerView是伴随Android 5.0发布的新控件,是一种列表容器,Google意在用新的RecyclerView来取代老旧的ListView和GridView,它的使用灵...
RecyclerView的使用之多种Item加载布局

RecyclerView的使用之多种Item加载布局

本文给大家介石介绍下如何利用RecyclerView实现多Item布局的加载,多Item布局的加载的意思就是在开发过程中List的每一项可能根据需求的不同会加载不同的Layout。下面给大家展示下演示效果图:* 图片资源版权归属于Facebook dribbbleRecyclerView实现加载不同的Layout的核心就是在Adapter的onCreateViewHolder里面去根据需求而加载不同的布局。具体的实现步骤:(以Android Studio作...
Android 日常开发总结的60条技术经验

Android 日常开发总结的60条技术经验

1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.4. 不要相信庞大的管理类的东西会带来什么好处,可能是一场灾难,而要时刻注意单一职责原则,一个类专...
<< 241 242 243 244 245 246 247 248 249 250 >>