初步認識FC(force close)強制關閉安卓程序:安卓程序在運行時由於各種原因難免會出現疏忽或其它原因,在程序運行時會出現FC,這時應該如何解決?
首先就去看日誌
1、拖到最下面,那個就是當前應用程序的錯誤日誌。
2、看main(一個日誌錯誤的開始);
先查看異常類型:例如:NullPointException
3、從異常類型開始往下查看,找到第一個自己寫的代碼。
4、雙擊定位到出現問題的代碼行。
再根據日誌的提示做相應的修改。
也可以用打印日誌的方法來調試程序:根據日誌的不同級別可以分爲以下幾種:
Log.v("onClick", "string:" + string); v:verbose 意思是囉嗦的意思;(黑色)
過濾的時候自它之上的日誌等級都可以打印出來
Log.d 顏色:藍色的; debug調試狀態;
Log.i 綠色的 一般性的提示消息 information
Log.w 橙色的 warning警告 提醒我們注意要優化代碼
Log.e 紅色 錯誤 我們就要認真分析
ImageView
<ImageView
android:id="@+id/p_w_picpathView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher" //前景圖片
android:scaleType="center" //圖片的縮放模式
center :居中不放大
fitXY :按寬高比例縮放
fitStart : 從左側開始按比例縮放
/>
2、res文件夾下面的資源文件命名規則(a~z 0~9 _)(不能以數字開頭)
3、在代碼裏面改變Imageview的屬性
//設置ImageView的前景圖片
//p_w_picpathView.setImageResource(R.drawable.ic_stub);
//設置背景圖片
p_w_picpathView.setBackgroundResource(R.drawable.ic_stub);
注:p_w_picpathbutton 繼承 p_w_picpathView
LinearLayout 線性佈局
android:orientation="vertical" 設置佈局內部空間的排列方式
值: vertical 垂直
horizontal 水平
控件在LinearLayout裏面特有的屬性:
android:layout_gravity 控件在佈局裏面的對齊方式 值(上下左右 居中)
android:layout_weight 權重、比重;每個控件的這個屬性值一樣的話就平分佈局
注:寬高必須爲match的時候才能生效
平分的是 剩餘空間
公式: 最終控件的大小 = 原大小 + (剩餘空間/所有比重的和)
通用屬性:
內容跟控件間的空隙:android:padding="30dp" (四周)
paddingTop 上
paddingBottom 下
paddingLeft 左
paddingRight 右
控件之間的間隙:android:layout_margin="50dp" (四周)
android:layout_marginTop 上
android:layout_marginBottom 下
android:layout_marginLeft 左
android:layout_marginRight 右
內容在控件裏面的對齊方式:android:gravity="bottom|center_horizontal"
值:上下左右 居中 (可以搭配使用)
注意:跟layout_gravity區分
RelativeLayout 相對佈局
控件在佈局中的對齊方式:android:layout_centerHorizontal="true" 水平居中 值:boolean類型的。
android:layout_centerVertical="true" 垂直居中
android:layout_centerInParent="true" 居中
android:layout_alignParentLeft="true" 左對齊
android:layout_alignParentTop="true" 上對齊
android:layout_alignParentBottom="true" 下對齊
android:layout_alignParentRight="true" 右對齊
控件之間的位置關係:
android:layout_below="@+id/button1" 下 值:所對應控件的id
android:layout_above="@+id/button1" 上
android:layout_toLeftOf="@+id/button1" 左
android:layout_toRightOf="@+id/button1" 右
控件之間的對齊方式:android:layout_alignLeft="@+id/button1" 左對齊 值:所對齊的那個控件的id
android:layout_alignBottom="@+id/button1" 下對齊
android:layout_alignRight="@+id/button1" 右對齊
android:layout_alignTop="@+id/button1" 上對齊
FrameLayout 幀佈局
特性:層疊控件
android:layout_gravity
TableLayout 表格佈局
每一行就是一個TableRow
每一列的列寬是以寬度最大的那個控件爲基準的。
AbsoluteLayout 絕對佈局 (絕對座標來定位控件)
不建議使用
四大組件:
一, Activity
三大要素:
1)創建的類要繼承Activity
2)setContentView() 引用一個佈局文件
3)在清單文件裏面註冊
啓動activity:
Intent intent = new Intent(); //Intent意圖:起到了橋樑連接的作用。
intent.setClass(MainActivity.this, SecondActivity.class);
startActivity(intent );
消息傳遞: A——>B
第一個界面:
意圖對象.putExtra(key, values); (鍵值對形式)
(key 是字符串類型
values 基本類型、對象)
第二個界面
Intent intent = getIntent(); //得到意圖對象
String string = intent.getStringExtra("key");
消息傳遞:A->B->A
1、A啓動B的方法:startActivityForResult(intent, 0);
2、B返回A並傳遞消息:
Intent data = new Intent();
data.putExtra("msg", "返回回來的消息");
setResult(0, data ); //返回一個消息
finish();//關閉當前界面
3、A接收消息:
重寫onActivityResult();
消息接收到之後所做的動作就在onActivityResult()執行;
待續