Android基礎第一天
阿新 • • 發佈:2017-11-11
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基礎第一天