
Android基础
lrx之成长记录
这个作者很懒,什么都没留下…
展开
-
Android应用程序开发以及背后的设计思想深度剖析(2)
Android的系统设计,与别的智能手机操作系统有很大区别,甚至在以往的任何操作系统里,很难找到像Android这样进行全面地系统级创新的操作系统。从创新层面上来说,Android编程上的思想和支持这种应用程序运行环境的系统,这种理念本身就是一种大胆的创新。整个Android系统,实际主要目的,就是打造一个功能共享的世界。功能共享最重要的交互,于是Android创造出一种Intent和In转载 2012-10-31 10:23:45 · 892 阅读 · 0 评论 -
Android基础之组件生命周期
引言应用程序组件有一个生命周期——一开始Android实例化他们响应意图,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见。组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。本文主要讨论活动的生命周期及他们可能的状原创 2012-08-02 10:42:14 · 638 阅读 · 0 评论 -
Android基础之Service
Android中的service类似于windows中的service,service一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。我们可以通过如下三个方面来了解Service:<!--p {margin-bottom:0.21cm}-->1、使用Service的步骤2、如何启动Service3、S原创 2012-09-26 11:13:36 · 612 阅读 · 0 评论 -
Android基础之如何关闭线程
在android中开启的线程用Thread.stop()来关闭是不会真正关闭的,当我们再次start线程的时候,会产生异常:Thread is already started.针对这个问题可以在线程的run方法里,加一个判断标志。例如: class TestThread extends Thread{ publi原创 2012-12-21 14:49:12 · 6249 阅读 · 0 评论 -
Android基础之SharedPreferences
SharedPreferences存储类效率分析SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存,它是什么样的处理方式转载 2012-10-25 16:26:49 · 473 阅读 · 0 评论 -
Android基础之控件事件监听
下面是各种常用控件的事件监听的使用①EditText(编辑框)的事件监听---OnKeyListener②RadioGroup、RadioButton(单选按钮)的事件监听---OnCheckedChangeListener③CheckBox(多选按钮)的事件监听---OnCheckedChangeListener④Spinner(下拉列表)的事件监听---OnItemSelect原创 2012-09-19 14:41:35 · 2235 阅读 · 0 评论 -
Android基础之单线程模型中Message、Handler、Message Queue、Looper之间的关系
<!--p {margin-bottom:0.21cm}-->在单线程模型中Message、Handler、MessageQueue、Looper之间的关系简单的说,Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理。原创 2012-08-27 14:19:20 · 1083 阅读 · 0 评论 -
Android基础之App Widget创建
简单的说一下怎么建立App Widget以及点击进入相应的Activity。创建一个App Widget需要四个步骤:一、在AndroidManifest中配置在AndroidManifest中配置App Widget其实和写广播接收器一样: <meta-data原创 2013-12-26 15:22:44 · 861 阅读 · 0 评论 -
Android基础之onTouch事件传递机制
Android onTouch事件介绍:Android的触摸事件:onClick, onScroll, onFling等等,都是由许多个Touch组成的。其中Touch的第一个状态肯定是ACTION_DOWN, 表示按下了屏幕。之后,touch将会有后续事件,可能是:ACTION_MOVE //表示为移动手势ACTION_UP //表示为离开屏幕ACTION_CAN转载 2014-01-13 14:11:28 · 892 阅读 · 0 评论 -
Android基础之Intent传递二进制数值的两种方法
大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解转载 2014-01-13 11:34:01 · 770 阅读 · 0 评论 -
关于AsyncTask与Handler
AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点: 简单,快捷 过程可控使用的缺点: 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.转载 2014-03-19 15:55:38 · 762 阅读 · 0 评论 -
Android基础之输入法开发
分为两个部分,上部分是候选窗口(CandidateView),用来显示候选词,现在常用的输入法都有这个功能,如在搜狗、google输入法中输入abc,输入框中就会显示很多相关联的中文词。下部分就是软键盘了,这个没什么好说的。输入法中核心类是InputMethodService其次就是:CandidateView 和KeyboardView CandidateView为候选窗口,In原创 2014-06-13 09:48:52 · 4597 阅读 · 0 评论 -
Android基础之启动过程分析
当按下Android设备电源键时究竟发生了什么?Android的启动过程是怎么样的?什么是Linux内核?桌面系统linux内核与Android系统linux内核有什么区别?什么是引导装载程序?什么是Zygote?什么是X86以及ARM linux?什么是init.rc?什么是系统服务?当我们想到Android启动过程时,脑海中总是冒出很多疑问。本文将介绍Android的启动过程,希望能帮助你转载 2014-06-20 14:26:13 · 4149 阅读 · 0 评论 -
Android网络编程概述
Android网络编程概述首先,应该了解的几个问题:1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。比如:创建URL,以及URLConnection/HttpURLConnection对转载 2015-03-09 21:48:33 · 4200 阅读 · 0 评论 -
android基础之多国语言文件夹文件汇总
中文(中国):values-zh-rCN中文(台湾):values-zh-rTW中文(香港):values-zh-rHK英语(美国):values-en-rUS英语(英国):values-en-rGB英文(澳大利亚):values-en-rAU英文(加拿大):values-en-rCA英文(爱尔兰):values-en-rIE英文(印原创 2012-10-18 15:27:12 · 3268 阅读 · 0 评论 -
Android基础之文件操作
android的文件操作要有权限:[xhtml] view plaincopyprint? 1. SD卡下的文件操作:1、判断SD卡是否插入[java] view plaincopyprint? 1. Environment.getExternalStorageState().equals( 2.原创 2012-10-18 15:36:03 · 952 阅读 · 0 评论 -
Android基础之Handler
handler是线程通讯工具类。用于传递消息。它有两个队列:1.消息队列2.线程队列消息队列使用sendMessage和HandleMessage的组合来发送和处理消息。线程队列类似一段代码,或者说一个方法的委托,用户传递方法。使用post,postDelayed 添加委托,使用 removeCallbacks移除委托。由上面的特性我们可以简单看出handler类似一个转载 2013-11-25 14:35:42 · 818 阅读 · 0 评论 -
Android应用程序开发以及背后的设计思想深度剖析(1)
本文内容,主题是透过应用程序来分析Android系统的设计原理与构架。我们先会简单介绍一下Android里的应用程序编程,然后以这些应用程序在运行环境上的需求来分析出,为什么我们的Android系统需要今天这样的设计方案,这样的设计会有怎样的意义, Android究竟是基于怎样的考虑才变成今天的这个样子,所以本文更多的分析Android应用程序设计背后的思想,品味良好架构设计的魅力。分五次连载完成转载 2012-10-31 10:22:20 · 1011 阅读 · 0 评论 -
Android应用程序开发以及背后的设计思想深度剖析(3)
1. 支撑应用程序的Android系统分析一个系统的构成,可以有多个出发点。从不同出发点,我们可从不同侧面分析这个系统的设计,以及为什么要这样设计:T 从系统结构出发,Android系统给我们的感觉就是一种简洁的,分层式的构架实现,从这种分层式的构架实现角度,我们可以理解这个系统是如何被组织到一起。T 从系统的运行态角度出发,我们又可以从Android的整个启动过程里做了哪些工作,系统转载 2012-10-31 10:25:26 · 994 阅读 · 0 评论 -
Android应用程序开发以及背后的设计思想深度剖析(4)
1.4 性能Android使用Java作为编程语言,这一直被认为是一局雄心万丈,但凶险异常的险棋。Java的好处是多,前面我们只是列举了一小部分,但另一种普遍的现象是,Java在图形编程上的应用环境并不是那么多。除了出于Java编程的目的,我们是否使用过Java编写的应用程序?我们的传统手机一般都支持Java ME版本,有多少人用过?我们是否见过Java写就的很流畅的应用程序?是否有过流行转载 2012-10-31 10:26:49 · 955 阅读 · 0 评论 -
Android应用程序开发以及背后的设计思想深度剖析(5)
1.5 功耗控制 在嵌入式领域,功耗与运算量几乎成正比。操作系统里所需要的功能越来越复杂、安全性需求越来越高,则会需要更强大的处理能力支持。像在老式的实时操作系统里,没有进程概念,不需要虚拟内存支持,这时即便是写一些简单应用,所需要的运算量、内存都非常小,而一旦换用支持虚拟内存的系统,则所需要的硬件处理能力、电量都会成倍上涨,像一些功能性手机平台,可以成为一台不错的手机,但运行起一个Linux转载 2012-10-31 10:28:17 · 987 阅读 · 0 评论 -
Android基础之多线程详解
使用线程处理 耗时比较长的“业务” 有以下几种方式: 1)Activity.runOnUiThread(Runnable) 2)View.post(Runnable) ;View.postDelay(Runnable , long) 3)Handler 4)AsyncTask Android是单线程模型,这意味着Android U原创 2013-03-04 14:01:39 · 3042 阅读 · 1 评论 -
Androd基础之编码规范
一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详情如下LayoutView:lv原创 2013-03-05 09:53:53 · 1136 阅读 · 0 评论 -
Android基础之四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。一:了解四大基本组件Activity :应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Intent 的描述结原创 2013-02-26 14:16:47 · 760 阅读 · 0 评论 -
Android基础之Activity加载模式
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:standardsingleTopsingleT转载 2013-03-14 16:46:26 · 891 阅读 · 0 评论 -
Android基础之解析res目录
目录Directory资源类型Resource Types res/anim/XML文件,它们被编译进逐帧动画(frame by frameanimation)或补间动画(tweened animation)对象 res/drawable/.png、.jpg文件,它们被编译进以下的Drawa原创 2013-04-12 11:27:47 · 1342 阅读 · 2 评论 -
Android基础之Launcher开发
第一步,把我们的应用程序作为home(即实现按下home键,启动自己的launcher.)要把我们的应用程序作为home,只需要在AndroidManifest.xml中添加: xml version="1.0" encoding="utf-8"?>manifest xmlns:android="http://schemas.android.com/原创 2013-07-23 21:03:32 · 837 阅读 · 0 评论 -
Android基础之分页加载
Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样会有更好的用户体验。因此,很多应用都是采用分批次加载的形式来获取用户所需的数据。例如:微博客户端可能会在用户滑动至列表底端时自动加载下一页数据,也可能在底部放置一个"查看更多"按钮,用户点击后,加载下一页数据原创 2013-08-07 11:28:29 · 980 阅读 · 0 评论 -
Android基础之Adapter
Adapter介绍 Adapter是将数据绑定到UI界面上的桥接类。Adapter负责创建显示每个项目的子View和提供对下层数据的访问。 支持Adapter绑定的UI控件必须扩展AdapterView抽象类。创建自己的继承自AdapterView的控件和创建新的Adapter类来绑定它们是可能的。 一些Android提供的Adapter介绍 在多数情况下,你不转载 2013-11-15 11:15:22 · 802 阅读 · 0 评论 -
Android基础之Content Provider
Android之ContentProvider总结1.适用场景1) ContentProvider为存储和读取数据提供了统一的接口2) 使用ContentProvider,应用程序可以实现数据共享3) android内置的许多数据都是使用ContentProvider形式,供开发者调用的(如视频,音频,图片,通讯录等)2.相关概念介绍1)ContentProvider简转载 2013-11-19 16:58:15 · 936 阅读 · 0 评论 -
Android View的工作流程
ViewRootImpl我们沿用《Window机制探索》中 Window 的添加流程图,我们所要分析的绘制机制,便从 ViewRootImpl 的 setView() 方法展开。//ViewRootImplpublic void setView(View view, WindowManager.LayoutParams attrs, View panelParentView) { //...转载 2018-03-05 11:27:00 · 663 阅读 · 0 评论