1Linux Kernel
2Android Runtime
3Libraries
4Application Framework
5Applications
andbase框架:1andbase中包含了大量的开发常用手段。
如网络下载,多线程与线程池的管理,数据库ORM,缓存管理,文件下载上传,>
2andbase封装了大量的常用控件。
如list分页,下拉刷新,轮播,表格,多线程下载器,侧边栏,上传,轮子选择,图表,Tab滑动,日历选择器等。
3强大的AbActivity,您没有理由不继承它。
继承它你能够获得一个简单强大可设置的 *** 作栏,以及一系列的简单调用,如d出框,提示框,进度框,副 *** 作栏等。
4提供效率较高缓存管理策略,使内存大幅度节省,利用率提高,效率提高。
程序中要管理大量的资源,andbase提供简单的方法,几步完成下载与显示,并支持缩放,裁剪,缓存功能。
5封装了大量常见工具类。
包括日期,字符,文件,等各种处理函数, 多而全。
6用andbase大量减少handler的使用,而采用回调函数,代码更整洁。
handler会产生大量代码,并且不好维护,andbase对handler进行了封装。
7简单轻量支持注解自动建表的ORM框架(支持一/多对多的关联 *** 作)。
写sql,建表,工作量大,andbase提供更傻瓜异步增删改查工具类。
8异步请求>
1Java基本数据类型与表达式,分支循环。2String和的使用、正则表达式。3面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。4对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。5Java异常处理,异常的机制原理。6常用的设计模式:Singleton、Template、Strategy模式。7JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。8Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。9JavaI/O输入输出流:File和类,字节流InputStream和,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。10Java高级特性:反射、代理和泛型。11多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。12Socket网络编程。
第二阶段:JavaWeb开发
1Java解析XML文件DOM4J。2MySql数据库的应用、多表连接查询的应用。3Jsp和Servlet应用。4>
第三阶段:androidUI编程
1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2、Android初级控件的使用:
TextView控件的使用Button控件的使用方法EditText控件的使用方法View的使用方法RadioButton的使用方法Checkbox的使用方法Menu的使用方法
3、Android高级控件的使用:
的使用方法ListView的使用方法GridView的使用方法Adapter的使用方法Spinner的使用方法Gallary的使用方法ScrollView的使用方法
4、对话框与菜单的使用:
Dialog的基本概念AlertDialog的使用方法的使用方法Menu的使用方法自定义Menu的实现方法
5、控件的布局方法:
线性布局的使用方法相对布局的使用方法表格布局的使用方法
6、多Acitivity管理:
xml文件的作用Intent的使用方法使用Intent传递数据的方法启动Activity的方法的使用方法ActivityGroup的使用方法
7、自定义控件实现方法:
自定义ListView的实现方法可折叠ListView的使用方法自定义Adapter的实现方法自定义View的实现方法动态控件布局的上实现方法
第四阶段:android网络编程与数据存储
1、基于Android平台的>
>
2、Android数据存储技术:
SQLite3数据库简介SQL语句回顾SQLite3编程接口介绍SQLite3事务管理SQLite3游标使用方法SQLite3性能分析访问SDCard的方法访问的方法
3、使用方法:
实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用 *** 作、的监听Android当中的异步 *** 作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
第五阶段:android手机硬件管理
1、地图及定位技术:GPS简介;的使用方法;在GoogleMap上添加标记的方法;查询某地附近建筑的方法;使用GoogleMap实现点对点导航。
2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4、媒体管理技术:MediaPlayer的使用方法。
5、触摸屏技术:手势识别;多点触摸技术。
第六阶段:Android图形编程技术
1、图形处理基础:2D图形编程基础;2、点、线、面等基本图形元素绘制方法;3、Android动画框架简介;4、位移动画的实现方法;5、淡入淡出动画的实现方法;6、旋转动画的实现方法;7、Matrix的使用方法。第七阶段:Android游戏开发1、Android游戏开发:Android游戏开发概述;2、SurfaceView的使用方法;3、物理小球技术;4、碰撞检测技术;5、、文字和背景音乐等资源的使用方法;6、游戏引擎基础概念;7、Cocoa2d-Android引擎使用方法;8、OpenGLES使用方法。
直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错误:androidviewViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views翻译过来就是:只有创建这个控件的线程才能去更新该控件的内容。
所有的UI线程要去负责View的创建并且维护它,例如更新冒个TextView的显示,都必须在主线程中去做,我们不能直接在UI线程中去创建子线程,要利用消息机制:handler,如下就是handler的简单工作原理图:
既然android给我们提供了Handler机制来解决这样的问题,请看如下代码:
public class HandlerTestActivity extends Activity { private TextView tv; private static final int UPDATE = 0; private Handler handler = new Handler() { @Overridepublic void handleMessage(Message msg) { // TODO 接收消息并且去更新UI线程上的控件内容if (msgwhat == UPDATE) { // Bundle b = msggetData();// tvsetText(bgetString("num")); tvsetText(StringvalueOf(msgobj)); } superhandleMessage(msg); } }; / Called when the activity is first created /@Overridepublic void onCreate(Bundle savedInstanceState) { superonCreate(savedInstanceState); setContentView(Rlayoutmain); tv = (TextView) findViewById(Ridtv); new Thread() { @Overridepublic void run() { // TODO 子线程中通过handler发送消息给handler接收,由handler去更新TextView的值try { for (int i = 0; i < 100; i++) { Threadsleep(500); Message msg = new Message(); msgwhat = UPDATE; // Bundle b = new Bundle();// bputString("num", "更新后的值:" + i);// msgsetData(b); msgobj = "更新后的值:" + i; handlersendMessage(msg); } } catch (InterruptedException e) { eprintStackTrace(); } } }start(); }}
我们就通过Handler机制来处理了子线程去更新UI线程控件问题,Andrid开发中要经常用到这种机制。
特别注意:
很多情况下,开发者会选择一种更加方便的方法去创建线程: 匿名类
2种方法本质相同,但是各有优劣势 & 不同的应用场景:
main_activityxml
MainActivityjava
MainActivityjava
MainActivityjava
不定期分享关于 安卓开发 的干货,追求 短、平、快 ,但 却不缺深度 。
以上就是关于android 五大应用开发框架是什么全部的内容,包括:android 五大应用开发框架是什么、我是个android程序员,想改行、Android开发中多线程与UI更新等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)