android编程客户端
A. android 五大应用开发框架是什么
android应用开发框架是 Application Framework,其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。
1、Linux Kernel (Linux内核)
Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络 堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。
2、Android Runtime (运行库)
Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。
Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。
3、Libraries (程序库)
Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。
4、Application Framework (应用框架层)
通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。
应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。
5、Applications(应用层)
Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。Android本身是一套软件堆迭(Software Stack),或称为“软件迭层架构”,迭层主要分成三层:操作系统、中间件、应用程序。
(1)android编程客户端扩展阅读
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textBoxes),按钮(buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
B. android socket编程,客户端老是提示socket已关闭是为什么
TCP连接断开的时候调用closesocket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。
linger结构体数据结构如下:
struct linger
{
int l_onoff;
int l_linger;
};
有三种组合方式:
第一种
l_onoff = 0;
l_linger忽略
这种方式下,就是在closesocket的时候立刻返回,底层会将未发送完的数据发送完成后再释放资源,也就
是优雅的退出。
第二种
l_onoff非零
l_linger = 0;
这种方式下,在调用closesocket的时候同样会立刻返回,但不会发送未发送完成的数据,而是通过一个REST包强制的关闭socket描述符,也就是强制的退出。
第三种
l_onoff非零
l_linger > 0
这种方式下,在调用closesocket的时候不会立刻返回,内核会延迟一段时间,这个时间就由l_linger得值来决定。如果超时时间到达之前,发送完未发送的数据(包括FIN包)并得到另一端的确认,closesocket会返回正确,socket描述符优雅性退出。否则,closesocket会直接返回错误值,未发送数据丢失,socket描述符被强制性退出。需要注意的时,如果socket描述符被设置为非堵塞型,则closesocket会直接返回值。
关于TCP的退出暂时了解这些,遇到问题再具体分析解决。
C. Android应用程序开发之绘制客户端
代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.6"
android:background="@android:color/white"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_margin="5dp"
android:background="#ff0000"
/>
<TextView
android:layout_margin="5dp"
android:layout_width="60dp"
android:layout_height="60dp"
android:gravity="center"
android:text="W"
android:textSize="20sp"
android:textColor="@android:color/white"
android:background="@android:color/black"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_margin="5dp"
android:background="@android:color/black"
android:src="@drawable/ic_launcher"
/>
</LinearLayout>
</LinearLayout>
D. 安卓开发入门教程学习Android语言Java
开发环境基础语法,熟悉程序结构,深入细致的介绍Java中面向对象的编程思想,结合常用设计模式、算法,IO流、多线程、集合框架、网络编程、反射内省、泛型、注解、XML、MySQL、Servlet等核心知识,全面掌握Java语言的精髓所在,为Android开发打下扎实的基础
E. app开发常用工具有哪些(开发安卓app有哪些开发工具)
首先APP开发包括三个平芹埋搜台,安卓、苹果和windows。
下面就具体介绍常用的五款app开发工具:
1、BiznessApps:
BiznessApps为中小企业提嫌历供了一个快速制作手机App的平台。它目前支持iOS(iPhone、iPad)及Android平台上的本机App制作。用户完全不需要具备任何编程知识,只要进行按钮勾选及拖拽,就能完成大部分设计工作。
2、APPMakr:
它的主要业液绝务是为用户提供一个良好的app手机客户端软件开发平台,让不会编程的用户也可以通过一个功能齐全的DIY工具包来开发手机app。目前,AppMakr平台上的大部分应用主要是针对iOS系统,但针对Android及WP7的应用现在也正不断增长中。
3、Appsgeyser:
使用AppsGeyser就可以让任何人都可以做应用程序的开发。当然,这个程序并不能让你创建下一个愤怒的小鸟或者Foursquare。
4、MobileRoadie:
MobileRoadie提供一个应用开发平台,整合YouTube,Brightcove,Flickr,Twitpic,Ustream,Topspin,Google资讯,RSS,Twitter和Facebook。用户可使用该应用平台开发iOS和Android的应用,并可以使用其提供的内容管理系统更新资讯,也可自行修改应用细节。MobileRoadie还提供了数据分析工具。
5、DevmyApp:
这是一款傻瓜式的iOS客户端开发软件。有了该软件,就可以创建、设计和开发自己的iOS应用程序了,同时还可避免为一些经常出现的功能模块重复编写代码,这款程序比较适合苹果手机客户端软件的制作开发。