日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android学习笔记(三):Andriod程序框架

發布時間:2025/3/20 Android 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android学习笔记(三):Andriod程序框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

修改Eclipse的字體,我希望大一些,反正22寸的顯示屏:

Window->Preferences->General->Apprearance->Colors and Fonts -> Java -> Java Editor Text Font(...) -> Edit

在此次,我們先創建一個Hello,Android的程序,并既而討論Andriod的程序架構。

1、創建project:File > New > Project > Andriod > Andriod Project

2、如圖填入poject信息

  • Project Name:這是project的名字,同時根據這個名字在workspace中自動生成相關目錄(見location)。
  • Application Name:這個映用的名字,加載在Andriod設備中,圖標上顯示的映用名稱。
  • package Name:這是java的package的名稱,這里,我使用了com.wei.learning.helloandriod。為了避免名稱沖突,采用了標準的namespace的方式。
  • Create Activity:這是Andriod的Activity子類的名稱,一個Anctivity是一個可執行的類,相當于main。
  • Min SDK Version,這是表明該映用能夠兼容的最小的API版本號,這里選擇了7,也就是可支持Andriod 2.1以上的版本。通常選擇Build Target的編譯版本一致。Andriod是前向兼容的,以本例子為例,可以在Andriod 2.2的平臺上跑,但是如果我們在Build Target中選擇了2.2,不能保證則會2.1的平臺上跑。

如果我們不是用Eclipse,我們也可以用命令行生成project,如下:

android create project /
??? --package com.wei.learning.helloandroid /
??? --activity HelloAndroid /?
??? --target 2 /
??? --path <path-to-your-project>/HelloAndroid

3、寫我們的Hello,Andriod例子

在HelloAndriod/src/com/wei/learning/helloandriod/中是我們的源代碼文件,這里只有一個,HelloAndriod.java,內容如下:

package com.wei.learning.helloandriod;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;//在Eclipse中可以簡單采用Shift+Ctrl+O可以自動根據內容生成所需要的import的package。

public class HelloAndriod extends Activity {??//一個Activity是實體用于處理用戶操作,一個映用可以多個分割的activities,但同一時刻用戶主能與其中一個互動
??? /** Called when the activity is first created.
??? ?* 這里的注釋采用javadoc的標準寫法,以便生成我們的API的HTML文檔。
??? ?* OnCreate()用于初始化和UI的建立。*/
??? @Override
??? public void onCreate(Bundle savedInstanceState) {
??? ??? super.onCreate(savedInstanceState);
???? ????/* View是在UI layout中使用的元素,包括button等等,這里使用TextView。創建對講后,設置文本內容,最后使用setcontentView()來將tv對象防止在activity UI中。*/
??? ????TextView tv = new TextView(this);
??? ??? tv.setText("Hello, Andriod!");
??? ??? setContentView(tv);

??? ????//setContentView(R.layout.main);
??? }
}

4、javadoc的注釋

javadoc的注釋方式已經忘得差不多,需要復習一下。

/** ...... */ 注釋若干行,并寫入 javadoc 文檔,命令行為:javadoc -d 文檔存放目錄 -author -version 源文件名.java,在Eclipse中Porject-> Generate Javadoc...

在/** */里面是可以使用HTML的腳本,例如<li>,<br>等等。可以在類,方法之前加入注釋說明。例子如下:

/**
* 方法/類的簡述.
* <p>詳細說明第一行<br>
* 詳細說明第二行
* @param ,用于參數描述
* @return ,描述返回之沒有返回值
*/

@author 標明開發該類模塊的作者
@version 標明該類模塊的版本
@see 參考轉向,也就是相關主題
@param 對方法中某參數的說明
@return 對方法返回值的說明
@exception 對方法可能拋出的異常進行說明
@author 作者名
@version 版本號

5、運行

菜單Run > Run,或者直接按三角圖標,選擇”Andriod Application“,將會啟動模擬器,由于我們設置為2.1的編譯環境,將會啟動我們創建的VM2.1來運行。結果如下左邊圖,按右邊返回鍵,可以見右圖,圖標等信息已將安裝。

? 

6、project的相關內容

我們先將例子跑起來,回過頭,我們認真看看Andriod project的結構,如圖所示。圖中所見的結構同我們在project目錄,目錄有:
AndroidManifest.xml? bin/? gen/ res/ assets/ default.properties? proguard.cfg? src/

gen/

gen/下面有一個重要的文件R.java,這個文件由系統為一些資源自動生成唯一標識的ID,想象以前的VC中也有類似的文件。R相當于resourse。

assets/

放入project所需的內容,例如圖片。

res/

我們在res/中加入某些資源,例如一個圖標,會在gen/下的R.java中生成一個ID,而assets下的資源將不會,需要通過路徑來進行訪問。res/drawable/中用于存放image,對于圖標,提供h,m,l三個分辨率,以適用不同分辨率的設備。

在res/layout/下的xml文件,用于管理我們的UI,對于一個復雜的UI,如果需要改動一點,有時都不知從何開始,因此Andriod提供了Andriod XML文件。在Andriod的plugin自動生成了main.xml,我實驗了一下,修改無效,只是提供信息,這是因為我們在程序用對相關組件進行了code,在本例子中如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
??? android:orientation="vertical"?
??? android:layout_width="fill_parent"
??? android:layout_height="fill_parent"
??? >
<TextView ?
??? android:layout_width="fill_parent"?
??? android:layout_height="wrap_content"?
??? android:text="@string/hello"
??? />
</LinearLayout>

xml是樹狀接口,首先描述Layout,然后在Layout中描述各個View和Layout,也就是layout可以嵌套。,只要是View的繼承類即可,包括自己定義的。如上所示的就是我們這個例子的一個View的描述。

andriod:這是XML中的定義,說明使用xmlns:andriod作為其namespace。andriod:layout_width 由于例子中只有唯一的元素,可以占用全屏,使用fill_paren。

如果我們希望可直接通過修改XML來進行布局,而不是通過在源代碼中進行code。

1) 在main.xml中的TextView中修訂為:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"??
????android:id="@+id/textview"
??? android:layout_width="fill_parent"?
??? android:layout_height="wrap_content"?
??? android:text="@string/hello"
??? />

保存后,我們查看R.java文件,增加了textview的ID。為了和原來的區別,我們修改text內容,在res/values/strings.xml中,修改:

<?xml version="1.0" encoding="utf-8"?>
<resources>
??? <string name="hello">Hello World, I/'m your friend!</string>
??? <string name="app_name">Hello,Andriod</string>
</resources>

讓這些內容有效,修改HelloAndriod.java的內容,如下:

??? public void onCreate(Bundle savedInstanceState) {
??? ??? super.onCreate(savedInstanceState);
??? ??? setContentView(R.layout.main);?//原來是傳遞一個View對象,現在是傳遞R.layout.main,R的定義見R.java,而R.layout.main就是對應res/layuot/main.xml。
??? }

我們在main.xml中增加以下的屬性

??? android:layout_weight="2"
??? android:textSize="25pt"
??? android:gravity="center_horizontal"
??? android:background="#999999"
??? android:textColor="#aa5533"

其中gravity有以下的選項:top,bottom,left,right,center_vertical,center_horizontal,center,fill_vertical,fill_horizontal,fill,執行如圖。

libs/

如果需要使用第三方的JAR,這放置在此。在這個例子中沒有。

AndridoManifest.xml

Mandifest這個名字很熟悉,是我們將java程序壓縮為jar包,并生成可執行文件的時候需要使用的一個文件。在這里描述應用的內容,有點向linux rpm中的*.spec文件。表明應用的名稱,版本,圖標位置,最低版本要求等等。在Eclipse中點擊后,可以有圖形話界面解釋。這是文件的部分內容:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
????? package="com.wei.learning.helloandriod"
????? android:versionCode="1"
????? android:versionName="1.0">
??? <uses-sdk android:minSdkVersion="7" />

??? <application android:icon="@drawable/icon" android:label="@string/app_name">
??????? <activity android:name=".HelloAndriod"
????????????????? android:label="@string/app_name">
??????????? <intent-filter>
??????????????? <action android:name="android.intent.action.MAIN" />
??????????????? <category android:name="android.intent.category.LAUNCHER" />
??????????? </intent-filter>
??????? </activity>

??? </application>

在這里icon為:@drawable/icon,就是在res/drawable/中名字為icon的image。而@string/app_name,表示在res/values/strings.xml中的定義名字為app_name的字符串,在這個例子中文"Hello,Andriod"。activity這里表明的activity的執行目標的類名稱。

如果我們需要給我們的應用設定用戶的許可,例如允許使用GPS,可以加上<uses-permission android:name="android.permission.ACCESS_GPS /">

每一個Activity都需要在Andriodmanifest.xml文件進行注冊。一個映用有多個Activity,里面的類名".HelloAndriod",注意是有一個".",它和package結合起來就是一個完整的類命。而后面<intent-filter>...</intent-filter>中有android.intent.action.MAIN,表明這是應用啟動時需要啟動的Activity。

轉載于:https://www.cnblogs.com/Tammie/archive/2012/06/13/2547723.html

總結

以上是生活随笔為你收集整理的Android学习笔记(三):Andriod程序框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。