1. 程式人生 > >Android基礎第一天

Android基礎第一天

r.java文件 ati text findview 四大 tel linux2.6 icon 3.0

2G、3G、4G技術: 網絡通訊技術:1g-->2g-->3g-->4g ..5g 1 功能變強 2 速度變快 3g:第三代移動通信技術 Android起源: android:機器人 android:是google公司開發的基於Linux2.6的免費開源操作系統 升級: 1.5 Cupcake(紙杯蛋糕) 1.6 Donut(甜甜圈) 2.1 Eclair(閃電泡芙) 2.2 Froyo(凍酸奶) 2.3 Gingerbread(姜餅) 3.0 Honeycomb(蜂巢) 只是給平板電腦使用的系統 4.0 Ice cream SandWich(冰激淩三明治)三合一 手機 電視 平板 4.1 Jelly Bean (果凍豆 ) 4.2 Jelly Bean (果凍豆 ) 5.0 Lime Pie (酸橙派) 體系結構: Android的四層架構圖 : 1.applicaitons:應用程序層 2.applicaitons frameword:應用框架層(api層) 3.libraries(庫,c語言庫):裏面是c語言的開源框架 Android runtime:(dalvik vm) 達爾維克虛擬機。每一個應用程序都是運行在虛擬機裏面。 4.linux kernel(內核)驅動:他是Android工程師添加的,進程間的通訊,ipc , c代碼。存在安全問題。 dalvik虛擬機和jvm的區別 為什麽不是jvm 而要搞一個dalvik vm: jvm 在設計上是考慮pc 不是移動設備 特點:1 速度快 2 功耗低 區別: 1 識別的文件不同 jvm:.class 文件 .jar (壓縮文件很多.class) dalvik vm:.dex文件 只是一個文件 一次加載所有的內容 2 架構不同:jvm:基於堆棧(內存條) dalvik vm:基於寄存器(cpu) 3 dvm:16M 20M art模式: android runtime :android 4.4才開始有的。在應用程序安裝的時候,就把.dex文件編譯成為系統所能識別的文件。android系統設計是不好滴。基於虛擬機。 sdk目錄結構: 環境的搭建: 不要放置在中文目錄 或者有空格的目錄。 目錄結構: add-ons:google map docs:文檔 extras:額外:升級後的一些支持包 希望在低版本中也可以使用。 platforms:開發平臺 platfrom-tools:平臺工具 aapt:把應用程序打包成apk的工具 adb shell 進入android的文件系統 cd /mnt/sdcard cd .. 退到上一級 pwd 顯示當前所在位置 adb 工具:android debug bridge 安卓調試橋 連接 手機、模擬器 sample:例子 sources:源碼(只是部分的源碼) 關聯源碼 system-images:鏡像文件 安裝系統 tools:工具 adb環境變量配置: 把adb.exe所在的目錄配置在path裏面就可以了。 adb指令: adb shell 進入android的文件系統 cd /mnt/sdcard cd .. 退到上一級 pwd 顯示當前所在位置 ddms使用: Devices:設備列表 Logcat:日誌 Emulator Control:模擬器控制臺 File Explorer:文件列表 Android開發eclipse工程的目錄結構: Android系統裏面不可能出現兩個包名相同的應用。 src:源碼 java gen:自動生成的java文件 Android 4.12:Android的版本 Android Dependencies:安卓的依賴包,支持包 assets:資產 bin:臨時生成的 libs:第三方的庫 jar包 res:資源(自動編譯在R.java) drawable-hdpi(ldpi,mdpi,xhdpi,xxhdpi):圖片 layout:布局(xml) values(values-v11,values-v14):字符串 AndroidManifest.xml:清單文件(配置文件 web.xml) project.properties:配置應用的版本號 吧res目錄下所有的資源映射到R.java文件,方便編程 應用程序的圖片和名稱: packge = xxx:包名 Android:versionCode=”1“:版本號,升級 <application:應用節點 Android:icon="@drawable/ic_launcher":應用的圖標 Android:lable="@string/app_name":應用的標題 <activity:界面 Android是基於組件的開發:基於四大組件:activity service broadcastReceiver provider j2ee也是基於組件的開發:基於三大組件:servlet filter listener 圖像顯示:Graphical Layout XML顯示:activity_main_xml xml代碼解析: xmls:tools ="http://schemas.android.com/tools":相對布局 android:layout_width="match_parent":布局的寬 android:layout_height="match_parent":布局的高 match_parent:匹配父類 <TextView:文本顯示控件 wrap_content:包裹內容 android:layout_centerHorizontal="true":水平居中 android:layout_centerVertical="true":垂直居中 android:text="@string/hellow_world":顯示內容 apk生成和安裝的流程: 1.打包 appt.exe 2.上傳 adb 3.安裝 4.啟動 點擊事件的寫法: LinearLayout線性布局,orientation:方向 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> 提示信息,輸入的限制類型: TextView,EditText,Button 找到控件: et_number = (EditText) findViewById(R.id.et_number); bt_dial = (Button) findViewById(R.id.bt_dial); 給按鈕設置監聽: bt_dial.setOnClickListener(new OnClickListener() { ... })--->匿名內部類 按鈕點擊的時候調用: public void onClick(View v) { ... } 獲取號碼: String number = et_number.).toStrgetText(ing(); 判斷一下號碼是否為空: if(TextUtils.isEmpty(number)) { ... } 提醒用戶 this:當前的類對象: Toast toast = Toast.makeText(MainActivity.this, "親,號碼為空", Toast.LENGTH_LONG); 顯示: toast.show(); 撥號:在系統裏面有一個撥號的組件已經存在,激活電話應用裏面的撥號組件: Intent intent = new Intent();--->意圖對象,組成:動作和數據 設置動作: intent.setAction(Intent.ACTION_CALL); 數據: Uri data = Uri.parse("tel:"+number); 設置數據: intent.setData(data); 激活activity的組件: startActivity(intent); 撥號的組件需要權限,該組件對外暴露的時候他要求這樣的權限 <user-permission android:name="android.permission.CALL_PHONE"/> 短信發送器: 真實手機的部署程序的方法: 1.準備真實安卓手機 2.給手機安裝驅動 3.打開開發者模式 4.run as 常見的布局(線性,相對,表格,絕對,幀布局) 線性布局: Line arLayou t線性布局,orientation:方向 相對布局: android:layout_toLeltOf-->位於左邊 android:layout_toRightOf-->位於右邊 android:layout_above-->上面 android:layout_below-->下面 和什麽對齊: android:layout_alignLelt-->左邊 android:layout_alignTop-->頂部 android:layout_alignRight-->右邊 android:layout_alignBottom-->底部 和父元素: android:layout_alignParentLelt-->左邊 android:layout_alignParentTop-->頂部 android:layout_alignParentRight-->右邊 android:layout_alignParentBottom-->底部 android:layout_centerInParent android:layout_centerHorizontal android:layout_centerVertical 寬: android:layout_width 高: android:layout_height 外邊距: android:layout_margin 幀布局: 特點:一層一層的顯示 <FrameLayout></FrameLayout> 布局居中: android:layout_gravity="center" 表格布局: 特點:一行,一列 <TableLayout></TableLayout> android:layout_weight="1"-->權重:比重 android:gravity="center"-->控件裏面的內容居中 絕對布局: 註意:開發中不要使用 <AbsoluteLayout></AbsoluteLayout> 常見單位: dip px(像素:不要使用) 如果是長度的單位:dp dip 文字的大小:sp

Android基礎第一天