第一篇:Android技术总结2
立成软件文档制度规范
//adt Installer http://apps.hi.baidu.com/share/detail/42194887
//Source Code 滑动
http://gekie.iteye.com/blog/1104426
//Source Code 集合
http://emmet1988.iteye.com/category/157490?show_full=true
//开发小技巧
http://terryblog.blog.51cto.com/1764499/p-6
//android:shape的使用-实心 渐变 描边 圆角 http://abc20899.iteye.com/blog/1068660
//Android 深入研究布局长度
(一)http://
//自定义 loading http://
//联系人选择
http:// http://blog.csdn.net/gfaiswl/article/details/6315647
//Android学习之 ColorStateList按钮文字变色 http://emmet1988.iteye.com/blog/1127151
//Android apk 数字签名
http://
-第1页-
立成软件文档制度规范
在任意位置获取应用程序CONTEXT http://
-第2页-
第二篇:Android总结
Android四大组件:
Activity—表现屏幕界面
Service—后台服务
BroadcastReceiver—实现广播机制
ContentProvider—实现数据存储
Intent类:用来启动程序并传递信息的类
用于Activity、Receiver、Service之间进行交互的类,通过无参构造方法创建对象,增加其action、category、data、extra等属性进行信息传递,并通过Activity中的startActivity(Intent intent)进行界面的跳转;通过Context中的StartService(Intent intent)进行服务跳转;通过Context中的registerReceive(Intent intent)对广播进行注册,并通过sendBroadcast()进行无序消息发送,或可以通过SendOrderedBroadcast()进行有序的消息发送。Handler类:
用来发送和处理消息,并配合主线程完成UI的更新;消息Message/Runnable传递通过MessageQueue(消息队列,先进先出)进行传递,并通过Lopper进行接收,传递的消息可以为Message对象,也可以是Runnable对象;接收方法通过HandleMessage(Message msg)进行获取。SharedPreferences类:
一般用于第一次登录时的设置,或者是各个界面的一些小型格式设置,如字体等。是本地的小型共享数据库,可以通过Context的静态方法getSharedPreferences获得其对象,对象内的值均为键值对进行储存。通过SharedPreferences对象调用editor()获取SharedPreferences.Editor对象,向共享数据库中增加数据,putString(),并提交数据,commit();通过SharedPreferences对象获取共享数据库中的数据,getString()。
ViewPager:实现界面滑动的类;
通过设置OnPagerChangedListener设置ViewPager的监听事件;
实现流程:
①布局文件中设置ViewPager控件;
②代码中进行绑定控件;
③通过继承PagerAdapter抽象类进行设置适配器,并传递数据源;
④适配器中实现两个抽象方法,两个重写方法:getCount()—获取滑动界面的数量,isViewFromObject()—判断视图是否是来自于Object文件中;重写两个方法,分别为destoryItem—销毁指定位置的视图;InstantiateItem(),设置指定位置的视图;
Timer与TimerTask类:
Timer为计时器的类,通过无参构造方法可以获取对象,通过Timer.schedule(TimerTask task,long time)进行设置多久后执行某任务,当任务执行完后,取消计时的功能,Timer.cancle();TimerTask类为抽象类,实例化时,必须重写run方法;执行的内容,均在run方法中进行设置,并且执行时,已在子线程中进行执行。自定义View:用到的类有Paint、Canvas、Spec、SpecF、Path、View.MeasureSpec、Timer、TimerTask;
抽象类,通过子类继承,获取对象;在布局文件中绑定后,通过代码,设置自定义View的属性;自定义View中,通过重写OnMeasure方法,对布局文件中的尺寸进行测量,并由View中的setMeasureDimenson()方法,进行数据的保存;通过重写Ondraw方法,进行绘图;当需要绘制动态图形时,使用计时器Timer的schedule(TimerTask,long time,delay time2)方法,在time时间后,每隔time2时间,重写执行run方法中的内容;将耗时的操作设置在run方法中,并通过View中的invalidate()方法刷新主线程中的绘的图形,通过postInvalidate()刷新子线程中的图形。数据库:
常用的数据库有Oracle,需要安装和配置的大型收费数据库;MySQL是中型数据库,同样需要安装配置,但不需要收费;Sqlite是小型免费的嵌入式数据库,占用内存低,最新版本为3.0。Sqlite数据库需要通过SqliteDatabaseOpenHelper进行创建数据库,并通过SqliteDatabase进行数据库的操作。辅助类是抽象类,通过继承,重写两个方法,并在子类的构造方法中通过OpenHelper的构造方法(Context context,String SqlName,SqliteDatabase.CursorFactory factory,int version)进行数据库的创建,在onCreate方法中,进行数据库表的创建,在onUpdate中进行数据库的版本更新。在数据库的操作类中,执行exect方法,通过sql语句对数据库进行操作。Create table student(_id integer primary key auto increament ,name text);insert into student(_id,name)values(1,zx);delete from student where _id=1;update student set _id=2 where name=zx;select *from student;ListView、GridView适配器的优化:
将布局文件中的控件进行封装,当视图加载时,判断可变视图是否存在,当不存在时,通过布局文件获取视图,并新建封装类,将地址通过setTag()进行发送;当视图存在时,重复利用地址—getTag()。反射:
存储数据的方式:
共享数据库、数据库、文件、网络、内容提供者
广播:
广播传播时,需要接收者、发送者、广播频道;根据发送者的发送方式不同,分为有序广播、无序广播;有序广播为接收者有接收顺序,根据设置的优先级不同,确定先后顺序,接收者同时也是发送者,向后面的广播发送消息,发送过程中,可以添加信息,也可以停止广播的传输;无序广播,接收者之间无联系,均从发送者处接收信息;广播在传输过程中,不能被添加信息,也不可能被停止。广播在发送前,需要对接收者进行注册,注册方式有两种,动态注册、静态注册。动态注册,是在代码中进行,通过Context对象调用静态方法进行注册,所有的广播均可以用动态注册,其生命周期依赖于应用,相对于静态注册,比较节省内存;静态方法在清单文件中进行注册,部分系统广播不能通过静态注册进行,其生命周期依赖于系统,当系统启动,即运行接收广播,较耗内存。广播接收者需要继承BroadcastReceiver,并实现抽象方法onReceive(),通过回调接口,进行数据的传输。注意:广播发送前,必须进行接收者的注册,并且,当显示跳转时,不需要意图过滤器。安卓布局:九种布局
线性布局,水平或垂直方向两种格式,主要特点为权重,即规定各控件在视图中的占有的比例;
相对布局,相对于父控件或兄弟控件的布局,各控件需指定相对位置; 绝对布局,指定各控件在视图中的绝对位置,几乎不再使用; 表格布局,子布局放在行中,列由控件表示(TableRow); 帧布局:覆盖前面布局的布局,一般用于暂停按钮等; 风格布局:可以跨行、跨列的布局,占满换行;
左右侧滑:可以实现左右侧滑,通过设置主菜单和二级菜单设置左右两个菜单; 下拉刷新:设置下拉刷新、上拉加载的功能; 抽屉布局;
安卓版本及对应的API:
1.6—4;2—7;3—11;4—15;4.3—18;5—20;5.1—21;6—23;7—25; 安卓四层架构:
应用层:Java语言开发,主要从事App开发;
运行库层:Java语言与C语言,View视图、管理类等的开发; 架构层:C语言与Linux语言,各种框架、浏览器等; 内核层:Linux、C语言,开发各种驱动; 安卓四大组件:
Activity:界面,实现程序与用户之间的交换,有自己的生命周期,七个生命周期;4种启动模式 Service:
BroadcastReceive:三要素,发送者、接收者、发送频道(Intent);类型:有序(接收有序,有数据传送,可以拦截数据)、无序广播(相对);注册方式:静态注册,持久监听,占用内存比较高生命周期跟随系统,动态注册(代码中),所有广播都可以动态注册,部分系统广播不能动态注册,临时监听,占用内存较少,生命周期随应用进行;
ContentProvide:不能存放数据,五种存放数据方式之一,特点为:①为数据的获取等操作添加一个统一的接口②可以实现跨应用访问数据;③可以实现Android中通讯录、消息、音频、视频等的访问或操作;通过ContentReceive进行数据的访问,可以对数据进行增删改查操作。
动画: IO流: 序列化: AlertDialog:
Set实现类: 手机电量检测:
自定义SurfaceView:
自定义View:三个构造方法的区别
Message:Handler.obtain/new/Message.obtain
HttpUriConnection访问网络
gride 异步任务 动画
抽象类和接口 反射 克隆 序列化 侧滑的实现 数据库 Socket:
Gson解析
异步任务和子线程区别 WebView 版本更新 照片的圆角化
Collection与Collections Sql语句
MVP框架与MVC: TCP与UDP的区别: 一键分享的流程: Http协议的理解: 不使用框架访问网络: List集合与set集合: 自定义View的流程: 线性布局的特点: ViewPager的原理: 服务的启动方式:
Activity的启动方式: Xml数据解析:
第三篇:手机软件开发必学Android技术
手机软件开发必学Android技术
席卷IT培训市场,开发因其领域新,覆盖面广,而受到广大应届毕业生的关注。现在大学生空有一张文凭,就业形势却颇为紧张,相反,Android开发的职位空缺却相当大,所以很多大学生看准这块“肥肉”,纷纷投身Android培训,希望通过系统培训解决当前就业难,薪水低的问题。
学习Android开发,先要了解主要开发什么。其实主要是针对Android平台开发应用软件和游戏软件。应用软件涉及种类广泛,如办公工具、通信工具、视频播放工具、阅读器等,在智能手机普及的今天,手机用户对于各种应用软件的需求越来越高。这个时候不但需要大量的Android人才储备,还对其技术有了更高的要求。而手机游戏是目前最受年轻人喜爱的,趣味性更强,薪水也乐观。如此耀眼的舞台,自然给了年轻人更多发挥的空间,但这里要注意,学习Android开发,需要对软件开发感兴趣,具备一定的Java基础。
甲骨文盈佳科技通过一个多月的零基础阶段教学,让学员掌握扎实的编程功底,课程内容包含Java开发环境、编程语言基础、面向对象思想、设计模式、数据结构等。而在学员掌握基本的Android开发能力后,甲骨文盈佳科技第三阶段教学,会重点讲授Android游戏开发,利用四周的时间,使学员可以掌握基于Cocos2d框架进行游戏开发的能力。
其实大学生能有足够远见去学一门技术,说明能够认识自身问题。选择Android开发这个新领域,发挥自身学习能力强的优势,在培训中锻炼自己实际操作的能力,弥补动手能力弱,无项目经验的弱点,自然可以从根本上解决大学生就业问题。现在移动互联网属于朝阳产业,正敞开怀抱吸纳Android开发人才。今天选择学习Android开发,就是为今后的成功打下坚实的基石。
第四篇:Android高级开发技术教学大纲
《Android高级开发技术》课程教学大纲
课程名称(中文):Android高级开发技术
课程名称(英文):Advanced Android Development Technology 适用专业:计算机科学与技术、软件工程、网络工程 课程类别及课程模块:学科专业课程/特色创新课程 课程编码:11A023 学分/开课学期和周学时/学时类型/折算后总学时:
学分:
开课学期: 6
周学时:2+2 学时类型: 理论+实践
折算后总学时:64 教材名称及作者、出版社、出版时间、版次:《第一行代码Android第2版》,郭霖,北京:人民邮电出版社, 2016 大纲主笔人:樊相奎 大纲审定人:李贵洋
一、课程的目的、要求和任务
近几年移动终端的开发发展迅速,相关公司越来越多,随着时间的推移,预计社会对移动终端开发领域人才的需求量也会迅速增多。据悉,在成都的软件开发企业中,有多数企业都或多或少涉及移动终端开发领域。对于移动终端开发平台,目前市场占有率最高,未来发展最有希望是iOS和Andriod开发平台。其中Andriod由具有极度创新能力的Google公司开发,同时Andriod采用开源方式,引入了大量合作开发伙伴,目前全世界有大量的公司采用Andriod作为移动终端开发平台,包括三星、华为、小米等。
开设本课程的目的是使学生比较全面地了解和掌握移动终端设计的基本概念、原理及相关技术,为以后的深入学习打下坚实的基础。具体要求和任务是掌握Andriod移动终端开发平台的具体开发语言、开发工具、调试方法等相关技术。
二、大纲基本内容及学时分配
(一)Android开发起步(2课时)1.2.3.4.5.Android平台简介、背景介绍和平台架构 Android开发环境的搭建,相关软件的下载与安装 虚拟设备的创建和使用 创建“Hello Android” Android应用程序的调试
说明:
(1)基本要求:介绍Android开发起步的相关知识,包括 Android平台Android的背景及其应用程序的框架,通过让学生完成一个hello world app的开发,体验一个android开发过程;
(2)教学重点:Android平台Android的背景及其应用程序的框架,搭建Android的开发环境,使用开发平台创建Android项目;(3)教学难点:平台架构,Android应用程序的调试;
(二)Android应用程序的构成(4课时)
1.2.3.4.5.6.7.8.Android系统架构 Activity生命周期 Android界面的布局 服务—Service 三大组件间通信—Intent AndroidManifest.xml解析 共享数据—content Provider 通知用户—Android Notification
9.Android应用程序的生命周期
说明:
(1)基本要求:主要对Android的基本组件及Android应用程序的构成进行介绍,同时还将对Android应用程序的生命周期进行分析,主要目的是让读者了解Android应用程序的构成,掌握Android基本组件的特性及使用方法。(2)教学重点:了解Android应用程序的构成,掌握Android基本组件的特性及使用方法,Activity以及Intent的概念及使用;
(3)教学难点:掌握应用程序的生命周期以及具体使用场景;
(三)Android布局管理器(4课时)
1.2.3.4.5.6.控件类概述,View类简介、ViewGroup类简介
线性布局,LinearLayout类简介、线性布局案例
表格布局,TableLayout类简介、表格布局案例
相对布局,RelativeLayout类简介、相对布局案例
帧布局,FrameLayout类简介、帧布局案例
绝对布局,AbsoluteLayout类简介、绝对布局案例
说明:
(1)基本要求:介绍的内容为Android平台下的布局管理器。Android中的布局包括线性布局、表格布局、相对布局、帧布局和绝对布局,分别对每个布局管理器进行详细的介绍。
(2)教学重点:了解Android平台下的布局管理器及使用方法;(3)教学难点:布局管理器的嵌套使用,如何合理有效的使用嵌套布局;
(四)Android常用基本控件(2课时)
1.2.文本控件的介绍,TextView类简介、EditText类简介以及使用案例
按钮控件,Button类简介、ImageButton类简介、Patch图片简介以及Patch图片使用案例
3.4.状态开关按钮,ToggleButton类简介以及开关按钮的使用
单选按钮与复选按钮,CheckBox和RadioButton类简介以及单选按钮和复选按钮使用案
5.6.图片控件,ImageView类简介以及图片查看器
时钟控件,AnalogClock和DigitalClock类简介以及时钟控件使用案例 7.日期与时间选择控件,DatePicker类简介、TimePicker类简介以及日期时间控件使用案例
说明:
(1)基本要求:对进行用户界面开发时常用到的Android基本控件进行介绍,主要包括文本框、按钮、单选按钮和复选按钮、状态开关按钮和日期时间控件等,了解这些基本控件的工作方式有助于学习后面要介绍的Android中的高级控件。(2)教学重点:掌握Android基本控件及使用方法;(3)教学难点:不用布局文件,直接代码生成控件;
(五)Android常用高级控件(4课时)
1.2.3.4.5.6.7.8.自动完成文本框,AutoCompleteTextView类简介以及自动完成文本使用案例
下拉列表控件,Spinner类简介以及下拉列表使用案例
列表视图,ListView类简介以及列表视图使用案例
网格视图,GridView类简介以及网格视图使用案例
画廊控件,Gallery类简介以及画廊控件使用案例
滚动视图,ScrollView类简介以及滚动视图使用案例
选项卡,TabHost类简介以及选项卡使用案例
滑块、进度条与星级滑块,ProgressBar、SeekBar、RatingBar类简介以及使用案例
说明:
(1)基本要求;上一章已经介绍了Android中的一些基本控件,本章对Android中常用的高级控件逐一进行介绍。
(2)教学重点:掌握Android常用高级控件及使用方法;(3)教学难点:BaseAdapter适配器的概念以及使用;
(六)菜单与对话框(4课时)
1.菜单功能的开发,包括选项菜单和子菜单简介、选项菜单和子菜单使用案例、上下文菜单
2.对话框功能的开发,包括对话框简介、普通对话框、列表对话框、单选按钮对话框、复选框对话框、日期及时间选择对话框、进度对话框
3.消息提示,Toast的使用,Notification的使用
说明:
(1)基本要求:介绍用户界面中菜单与对话框的开发,同时还会对Android平台下的Toast和Notification进行介绍。
(2)教学重点:掌握Android常用菜单和对话框的概念和使用;(3)教学难点:Notification的概念和使用;
(七)Android事件处理模型(2课时)
1.了解Android中的事件处理概念和模型;基于回调机制的事件处理,基于监听接口的事件处理。
2.掌握Android中的事件处理具体方法,包括OnClickListener、OnLongClickListener、OnFocusChangeListener、OnKeyListener、onTouchEvent、OnCheckedChange、OnItemSelected、日期和时间监听事件等;
3.说明:
(1)基本要求:对Android平台用户界面的各种事件响应进行详细介绍,加深对Android平台的事件处理模型的理解,熟练掌握控件的各种事件处理方法。
(2)教学重点:掌握Android中的事件处理概念以及具体的常用事件及其处理方法;(3)教学难点:理解基于回调机制和基于监听接口事件处理机理;
(八)消息广播与服务(2课时)
1.2.BroadcastReceiver组件,BroadcastReceiver类简介,基于广播的案例
Service组件,Service类简介,基于服务的案例
说明:(1)基本要求:在很多应用程序中,都会通过广播形式来发送和接收消息,当应用程序接收到消息后,一般启动一个Activity或者一个Service进行处理。本章对服务组件Service进行详细介绍,章末通过对一个单机版的音乐播放盒的介绍帮助掌握服务组件的使用方法。
(2)教学重点:对Android的消息广播机制及服务组件运行机理和具体使用方法;(3)教学难点:广播Broadcast、服务Service的运行机制和处理原理;
(九)多线程及消息处理(4课时)
1.2.3.4.Android多线程,概述、创建线程、操作线程 UI线程与非UI线程
多线程中的常用类,包括Handler类、AsyncTask类、Timer定时器等 Android多线程通信机制
说明:
(1)基本要求:了解线程的概念、生命周期,通过实例学习,掌握多线程的创建、使用以及多种具体事项方式。
(2)教学重点:对Android的多线程运行机理和具体使用方法;(3)教学难点:线程同步;
(十)数据处理(4课时)
1.掌握SharedPreferences的使用方法 2.3.4.5.6.掌握各种文件存储的区别与适用情况 了解SQLite数据库的特点和体系结构 掌握SQLite数据库的建立和操作方法 理解ContentProvider的用途和原理(选讲)掌握ContentProvider的创建与使用方法(选讲)
说明:
(1)基本要求:本章要介绍访问手机存储卡的方法及如何在程序中使用SQLite数据库。(2)教学重点:掌握Android数据存储的相关机制和具体使用方法;(3)教学难点:SQLite数据库的具体使用;
授课内容及学时说明:前述大纲章节及学时分配是本门课程指导性意见,针对不同专业学生以及具体授课情况,授课教师对具体章节的内容及学时可进行适当调整,但主要章节知识点(除可选部分)需要覆盖到。
三、与其他课程的关系
1.先行课程:数据库原理、Java 2.后续课程:无
四、考核方式
考核形式:考查
评分标准:平时成绩占30%(主要考察课堂与上机考勤、实验等方面),两次阶段性上机考试占40%,期末作品占30%。
五、参考书目
1.明日科技编著,《Android从入门到精通》,北京:清华大学出版社, 2016 2.李刚编著,《疯狂Android讲义(第3版)》,北京:电子工业出版社, 2015 3.(美)Erich Gamma等著,《设计模式》,北京:机械工业出版社,2013
第五篇:Android WebView总结
Android WebView总结
1、添加权限:AndroidManifest.xml中必须使用许可“Android.permission.INTERNET”,否则会出web page not available错误。
2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);
3、设置WebView基本信息:
如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webview.getSettings().setJavaScriptEnabled(true);
触摸焦点起作用
requestFocus();
取消滚动条
this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
4、设置WevView要显示的网页:
互联网用:webView.loadUrl("");本地文件存放在:assets文件中
5、如果希望点击链接由自己处理,而不是新开Android的系统browser中响应该链接。给WebView添加一个事件监听对象(WebViewClient)
并重写其中的一些方法
shouldOverrideUrlLoading:对网页中超链接按钮的响应。
当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest6、如果用webview点链接看了很多页以后,如果不做任何处理,点击系统“Back”键,整个浏览器会调用finish()而结束自身,如果希望浏览的网页回退而不是退出浏览器,需要在当前Activity中处理并消费掉该Back事件。
覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法。
public boolean onKeyDown(int keyCoder,KeyEvent event){
if(webView.canGoBack()&& keyCoder == KeyEvent.KEYCODE_BACK){
webview.goBack();//goBack()表示返回webView的上一页面
return true;
}
return false;
}