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應用程序了,同時還可避免為一些經常出現的功能模塊重復編寫代碼,這款程序比較適合蘋果手機客戶端軟體的製作開發。