標籤:限制 有一個 broadcast 解析 tor call make 長度 ons
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基礎第一天