中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 2.1怎么用

發布時間:2021-11-19 10:40:40 來源:億速云 閱讀:148 作者:小新 欄目:移動開發

這篇文章主要介紹了Android 2.1怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1. 環境搭建

Ubuntu+eclipse+ADT

2. Android 啟動很慢?

沒辦法,確實是很慢,等著吧,普遍說法是啟動***次后不關閉,以后的就是部署了要快不少的,經測試,確實是要快一些的。最不能讓我接受的是居然連點擊Home鍵都是很慢的呢。

3.R.layout.main cannot be resolved

剛寫了一行就出了這么個錯誤,讓我沒有一點脾氣的來查找原因。

解決方案:

(1)刪除第三行的“import android.R” 注:我不知道是什么時候加進來的。

(2)勾選Eclipse中的“Project->Build Automatically”

原因分析:

(1)刪除“import andorid R”之后工程就是從/res文件夾下自動生成哦資源我呢間里去解析了,否則它會從Android的資源類里去找。

使用Eclipse進行Java開發,我們首先要注意到它的編譯是智能的,進入Preferences 并啟用動態構建(workbench>Build automatically)。這樣的話,當我們每次保存文件時,Eclipse將會自動編譯該文嘉以及依賴于該文件的文件。因此,當我們想運行應用程序的時候,它基本已經保存好并且是***版本了。在處理大型代碼量時,著可以節約不少時間。

4.關于布局

買來的書是基于以前版本的(Android SDK 1.0r2),對控件的布局還是android:layout_x=”61px”,現在已經要android:layout_marginLeft=”61px” 這樣寫了,不然不起作用的。好奇的是還必須是px值,不然編譯器就報錯了,編譯器還能識別字符串里的內容!果然強大。

5. 要在TextView中顯示網址需要在TextView節點中加入android:autoLink = “all”

6. 常數(res\values) 這個文件夾下定義項目中要用到的所有常數,預先定義好,是編程的一個好習慣。例如:

(1)定義顏色常量(color.xml)

<?xml version="1.0" encoding="utf-8" >     <resources>         <drawable name="darkgray">#808080FF</drawable>         <drawable name="white">#FFFFFFFF</drawable>     </resources>

(2)定義字符串常量(strings.xml)

<?xml version="1.0" encoding="utf-8" >     <resources>         <string  name="hello">Hello World Android</drawable>         <string name="app_name">Test Android </drawable>         <string  name="str_id">帳號</drawable>         <string name="str_pwd">密碼</drawable>     </resources>

定義好了怎么用呢,有兩種引用方式:

(1)標記引用:android:text=”@string/str_id”

(2)代碼引用:

Resources resources = getBaseContenxt().getResources();     Drawable HippoDrawable = resources.getDrawable(R.drawable.white);     //String aa = resources.getString(R.string.app_name);     //String bb = getString(R.string.app_name);     TextView tv= (TextView)findViewByID(R.id.text);     tv.setBackground(HippoDrawable);     // 當然可以通過使用graphics.Color 這個android默認的顏色來使用,但是只有12種常見的顏色     /&times;     Color.BLACK     Color.BLUE     Color.CYAN     Color.DKGRAY     Color.GRAY     Color.GREEN     Color.LIGRAY     Color.MAGENTA     Color.REN     Color.TRANSPARENT     Color.WHITE     Color.YELLOW     &times;/
view sourceprint?1 7.獲取手機的分辨率   view sourceprint?1 這個就是Android與ios的不同,這個系統被不同的手機廠商使用,造出的機器也就大小各異了,而蘋果的系統只有他自己用,所以能做到統一。   view sourceprint?1 DisplayMetrice dm = new DisplayMetrice();    getWindowManager().getDefaultDisplay().getMetrice(dm);    string strOpt="手機分辨率為:"dm.widthPixels + " x " + dm.heightPixels;

7.Style樣式的定義

老是要一個個指定文字的大小,顏色也不是辦法的啊,所以也就有類似CSS樣式來登場了。樣式表文件取名為:style.xml放在res/values/style.xml 位置

定義樣式示例:

view sourceprint?01 <?xml version="1.0" encoding="utf-8" >     <resources>         <style name=DavidStyleText11>             <item name="android:textSize">18sp</item>             <item name="and<SCRIPT type=text/javascript> <!--mce:0--> </SCRIPT><SCRIPT type=text/javascript> <!--mce:1--> </SCRIPT><SCRIPT type=text/javascript> <!--mce:2--> </SCRIPT><SCRIPT type=text/javascript> <!--mce:3--> </SCRIPT><SCRIPT type=text/javascript> <!--mce:4--> </SCRIPT>roid:textColor">#EC9237  </item>         </style>         <style name=DavidStyleText22>             <item name="android:textSize">18sp</item>             <item name="android:textColor">#EC9237</item>            <item name="android:fromAlphar">0.0</item>             <item name="android:toAlphar">0.0</item>         </style>     </resources>

view sourceprint?1 怎么用呢?下面為main.xml文件中的兩個TextView應用不同的樣式。

<?xml version="1.0" encoding="utf-8" >    <TextView style = "@style/DavidStyleTest11"/>    <TextView style = "@style/DavidStyleTest22"/>

8.頁面切換

(1)在同一個Activity 中利用setContentView來置換頁面(在res\layout\下定義main.xml 和mylayout.xml)

通過setContentView(R.layout.mylayout);setContentView(R.layout.main)來在兩個layout中切換。在此有個優點:即所有的程序里的變量

都存在相同的狀態,無論是類成員變量,類函數等,皆可以在一個Activiy的狀態中直接取得,并沒有參數傳遞的問題。

(2)調用另一個Activity

/&times; new 一個 Intent 對象,并指定要啟動的Class&times;/     Intent intent = new Intent();     intent.setClass(TestAndroid.this,TestAndroid2.class);     startActivity(intent);     TestAndroid.this.finish();

view sourceprint?1 當系統中新添加Activity時,必須在AndroidManifest.xml里定義一個新的activity:

<activity android:name=”TestAndroid2”> </activity>

否則系統將會因為找不到Activity而發生編譯錯誤。

另外,當程序中出現兩個以上的Activity時,系統要決定主程序是哪一支(entry point)

<activity android:name=”.TestAndroid” android:lable="@string/app_name">        <intent-filter>        <action android:name="android.intent.action.MAIN"/>        <category android:name="android.intent.catetory.LAUNCHER"/>        </intent-filter>    </activity>

其中有一行為<category android:name="android.intent.catetory.LAUNCHER"/> ,這就代表程序啟動時候,會先啟動這個Activity,

而不是其他的,這個是必須定義一個的,如果xml中沒有一個定義了,那么程序將不會啟動的。

(3)不同的Activity之間的數據傳遞

Intent intent = new Intent();   intent.setClass(TestAndroid.this,TestAndroid2.class);        //new 一個bundle對象,并將要傳遞的數據傳入    Bundle bundle = new Bundle();    bundle.putDouble("height",height);    bundle.putString("Sex",sex);    //將Bundle對象assign給Intent    intent.putExtras(bundle);    startActivity(intent);    TestAndroid.this.finish();

那么在TestAndroid2如何取得來自TestAndroid的數據呢,是這樣子的 view sourceprint?1 //取得Intent中的Bundle對象

Bundle bunde = this.getIntent().getExtras();   String sex = bunde.getString("Sex");   double height = bunde.getDouble("height");

這樣就取到數據了,除了上述簡單的傳遞類型之外,還有String[]和ArrayList<String>等封裝的方式。不知道能不能對Bundle 做C#中的擴展方法來傳遞自己的對象?需要研究一下。

(4)返回數據到前一個Activity

在***個Activity這樣開始數據初始化

view sourceprint?01 Intent intent = new Intent();   intent.setClass(TestAndroid.this,TestAndroid2.class);   //new 一個bundle對象,并將要傳遞的數據傳入   Bundle bundle = new Bundle();   bundle.putDouble("height",height);   bundle.putString("Sex",sex);   //將Bundle對象assign給Intent   intent.putExtras(bundle);       //調用Activity TestAndroid2   startActivityForResult(intent,0);

在第二個Activity中取到數據后(按上一種方法取),使用完畢,這樣返回 view sourceprint?1 //返回result 回上一個activity

TestAndroid2.this.setResult(RESULT_OK, intent);    //結束這個activity    TestAndroid2.this.finish();

回到***個Activity是這樣來取得返回的數據

view sourceprint?01 //覆蓋 onActivityResult()    Protcted void onActivityResult(int requestCode,int resultCode,Intent data)    {        switch(resultCode)        {         case: RESULT_OK:        Bundle bunde = data.getExtras();        String sex=bunde.getString("Sex");        double height = bunde.getDouble("height");       ...        }

如果要在次頁面加上一個“回上頁”的按鈕,而非通過模擬器的回復鍵,且回上頁后又能保留之前輸入的相關信息,那么就必須使用startActivityForResult()來喚起一個Activity。利用這個方法,前一哦Activity1便會有一個等待次Activity2的返回,而返回的數據就可以達到我們想要的結果。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Android 2.1怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云和县| 青州市| 收藏| 北川| 什邡市| 托克逊县| 奉新县| 沭阳县| 陇川县| 肥东县| 天柱县| 南宫市| 安溪县| 团风县| 贺州市| 元谋县| 台南市| 贵德县| 白山市| 来安县| 宜丰县| 兴城市| 扶余县| 汤阴县| 光山县| 徐汇区| 桃园县| 乐昌市| 南陵县| 屏山县| 安阳县| 合水县| 宁远县| 汉阴县| 邵武市| 华阴市| 文安县| 驻马店市| 静海县| 青神县| 阿巴嘎旗|