1. 程式人生 > >Andorid基礎介紹

Andorid基礎介紹

1. Android的基本元件
  1.1 Activity
    1.1.1 Activity代表手機的一個螢幕
    1.1.2 一個Android程式由多個Activity組成,即:一個Android程式由多屏內容組成
    1.1.3 Activity相當於一個展板,本身沒有可視的內容,你把畫(View)貼到展板上就可以展示出來了
  1.2 Service
    1.2.1 不可見的元件
    1.2.2 在後臺執行
    1.2.3 為其他元件提供後臺服務
    1.2.4 監控其他元件的執行狀態
    1.2.5 後臺播放音樂
  1.3 BroadcastReceiver:廣播訊息監聽器
    1.3.1 作用:用來監聽廣播,eg:收簡訊的廣播    往手機推送訊息
  1.4 ContentProvider:內容提供者
    1.4.1 幫助不同的應用程式間交換資料,eg:獲取通訊錄資訊
  1.5 Intent和IntentFilter    意圖
      Activity、Service、BroadcastReceiver之間通訊的載體,傳遞資料

2. View和ViewGroup介紹
   View類似於swing中的JPanel,代表一個空白的矩形區域,Android應用中的絕大部分UI元件都繼承於View或其子類
   View還一個重要的子類ViewGroup,它通常作為其它元件的[容器]使
   
   簡單來講View是所有控制元件的父控制元件,ViewGroup可以包含其它的View物件,並且是所有佈局控制元件的父類
   Activity相當於一個展板,本身沒有可視的內容,你把畫(View)貼到展板上就可以展示出來了
   setContentView(view)    
 setContentView(new MyView(this));

3. 自定義檢視(onDraw)
  3.1 顏色四種設定方式
      canvas.drawColor(Color.RED);//系統顏色(Color.RED)

      canvas.drawColor(Color.rgb(100, 150, 200));//rgb
      canvas.drawColor(Color.argb(100, 100, 150, 200));//argb,其中第一引數為透明度
      canvas.drawColor(Color.parseColor("#44E21D"));//16進位制
  3.2 畫板背景
      canvas.drawColor(Color.BLUE)
  3.3 畫筆設定
    3.3.1 實心或空心
          paint.setStyle(Style.FILL);//實心
          paint.setStyle(Style.STROKE);// 空心
    3.3.2 粗細
          paint.setStrokeWidth(10)
    3.3.3 抗鋸齒
          paint.setAntiAlias(true); 
    3.3.4 顏色設定
          paint.setColor(Color.parseColor("#103864"));   

4. 畫圖形
  4.1 畫圓
      canvas.drawCircle(200, 100, 100, paint)
  4.2 畫矩形
      canvas.drawRect(0, 200, 200, 400, paint);
      canvas.drawRect(rect, paint);
      左上角、右下角
  4.3 畫多邊形(三角形)
    4.3.1 drawLine方式
    4.3.2 drawPath方式
          Path
            moveTo(float x, float y):將起始點設定到x,y點
            lineTo(float x, float y):從當前點繪製一條線段到x,y點
            reset():清除path設定的所有屬性
            close():回到初始化形成封裝的曲線
    4.3.3 如果畫筆為實心,畫線與Path方式的區別
          drawLine=空心,drawPath=實心
  4.5 畫文字
      drawText()
      paint.setTextSize(50);// 設定文字大,單位為dp
  4.6 畫圖
      drawBitmap    點陣圖
      Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.qq);
      注意事項:圖片名不能是漢字或空格


5. 什麼時候要子類中通過super再呼叫父類的方法呢?(重要重要)
   如果父方法中有程式碼就要如此~如果父方法中有程式碼就要如此~如果父方法中有程式碼就要如此
   重要的事情說三遍,例如:onDraw可以不用再重新呼叫super.onDraw(),因為父方法中一行程式碼都沒有

   注1:其實最簡單的辦法就是不管三七二十一,都呼叫super.xxx()方法即可

   
   
安卓工程目錄
    模組
        manifests
            僅有一個檔案,系統清單檔案,相當於web.xml
        java
            放原始檔
        res(放系統資原始檔,一個很重要的的類R,自動生成,resource的縮寫)
            drawable(放圖片資源)
            layout(放佈局檔案)
            
            
dp(密度,相當於width中的百分比)
sp(密度,相當於width中的的數值xxx.px)


解決問題
Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 'com.and
https://blog.csdn.net/fighting_2017/article/details/80244982