Android項目的目錄結構 初學者記錄

来源:https://www.cnblogs.com/ldy-blogs/archive/2018/02/27/8477514.html
-Advertisement-
Play Games

Android項目的目錄結構 Activity:應用被打開時顯示的界面 src:項目代碼 R.java:項目中所有資源文件的資源id Android.jar:Android的jar包,導入此包方可使用Android的api libs:導入第三方jar包 assets:存放資源文件,比方說mp3、視頻 ...


Android項目的目錄結構

  • Activity:應用被打開時顯示的界面
  • src:項目代碼
  • R.java:項目中所有資源文件的資源id
  • Android.jar:Android的jar包,導入此包方可使用Android的api
  • libs:導入第三方jar包
  • assets:存放資源文件,比方說mp3、視頻文件
  • bin:存放編譯打包後的文件
  • res:存放資源文件,存放在此文件夾下的所有資源文件都會生成資源id
  • drawable:存放圖片資源
  • layout:存放佈局文件,把佈局文件通過資源id指定給activity,界面就會顯示出該佈局文件定義的佈局
  • menu:定義菜單的樣式
  • Strings.xml:存放字元串資源,每個資源都會有一個資源id

Android的配置文件(清單文件)

  • 指定應用的包名

    package="com.itheima.helloworld"
    • data/data/com.itheima.helloworld(上面代碼指定的包名)
    • 應用生成的文件都會存放在此路徑下
  • Android的四大組件在使用前全部需要在清單文件中配置

DDMS

  • Dalvik debug monitor service
  • Dalvik調試監控服務

常用的adb指令

Android debug bridge:安卓調試橋

  • adb start-server:啟動adb進程
  • adb kill-server:殺死adb進程
  • adb devices:查看當前與開發環境連接的設備,此命令也可以啟動adb進程
  • adb install XXX.apk:往模擬器安裝apk
  • adb uninstall 包名:刪除模擬器中的應用
  • adb shell:進入linux命令行
  • ps:查看運行進程
  • ls:查看當前目錄下的文件結構
  • netstat -ano:查看占用埠的進程

電話撥號器

功能:用戶輸入一個號碼,點擊撥打按鈕,啟動系統打電話的應用把號碼撥打出去

1. 定義佈局

  1. 組件必須設置寬高,否則不能通過編譯

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
  2. 如果要在java代碼中操作某個組件,則組件需要設置id,這樣才能在代碼中通過id拿到這個組件

    android:id="@+id/et_phone"

    2. 給按鈕設置點擊偵聽

  3. 給按鈕設置偵聽

     //通過id拿到按鈕對象
    Button bt_call = (Button) findViewById(R.id.bt_call);
    //給按鈕設置點擊
    bt_call.setOnClickListener(new MyListener());

3. 得到用戶輸入的號碼

    //得到用戶輸入的號碼,先拿到輸入框組件
        EditText et_phone = (EditText) findViewById(R.id.et_phone);
        String phone = et_phone.getText().toString();

4. 把號碼打出去

  1. Android系統中基於動作機制,來調用系統的應用,你告訴系統你想做什麼動作,系統就會把能做這個動作的應用給你,如果沒有這個應用,會拋異常
  2. 設置動作,通過意圖告知系統

    //把號碼打出去
        //先創建一個意圖對象
        Intent intent = new Intent();
        //設置動作,打電話
        intent.setAction(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:" + phone));
        //把意圖告訴系統
        startActivity(intent);
  3. 添加許可權

    <uses-permission android:name="android.permission.CALL_PHONE"/>

點擊事件的四種寫法

第一種

  • 定義一個MyListener實現onClickListener介面

    Button bt1 = (Button) findViewById(R.id.bt1);
    bt1.setOnClickListener(new MyListener());

第二種

  • 定義一個匿名內部類實現onClickListener介面

    Button bt2 = (Button) findViewById(R.id.bt2);
    bt2.setOnClickListener(new OnClickListener() {
    
        @Override
        public void onClick(View v) {
            System.out.println("第二種");
    
        }
    });

第三種

  • 讓當前activity實現onClickListener介面

    Button bt3 = (Button) findViewById(R.id.bt3);
    bt3.setOnClickListener(this);

第四種

  • 給Button節點設置onClick屬性,

     android:onClick="click"
  • 然後在activity中定義跟該屬性值同名的方法

    public void click(View v){
        System.out.println("第四種");
    }

簡訊發送器

功能:用戶輸入號碼和簡訊內容,點擊發送按鈕,調用簡訊api把簡訊發送給指定號碼

1. 定義佈局

  • 輸入框的提示

    android:hint="請輸入號碼"  

    2. 完成點擊事件

  • 先給Button組件設置onClick屬性
  • onClick="send"
  • 在Activity中定義此方法
  • public void send(View v){}

    3. 獲取到用戶輸入的號碼和內容

    EditText et_phone = (EditText) findViewById(R.id.et_phone);
    EditText et_content = (EditText) findViewById(R.id.et_content);
    String phone = et_phone.getText().toString();
    String content = et_content.getText().toString();

    4. 調用發送簡訊的api

    //調用發送簡訊的api
    SmsManager sm = SmsManager.getDefault();
    
    //發送簡訊
    sm.sendTextMessage(phone, null, content, null, null);
  • 添加許可權

     <uses-permission android:name="android.permission.SEND_SMS"/>
  • 如果簡訊過長,需要拆分

    List<String> smss = sm.divideMessage(content);

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 協議本身是一個運行在UDP之上的定製協議。我所以決定使用一個定製協議很簡單。首先,當前這個任務看起來足夠簡單,因此與嘗試改進一個現在協議相比,直接構建一個定製協議更為容易。其次,定製協議可以將開銷減少至最小並儘可能地提高性能。最後,這本身就是一個很好的教學練習。 TCP是一個流協議,每次查看網頁,檢 ...
  • 源碼地址https://github.com/979451341/Rtmp 1.配置RTMP伺服器 這個我不多說貼兩個博客分別是在mac和windows環境上的,大家跟著弄 MAC搭建RTMP伺服器https://www.jianshu.com/p/6fcec3b9d644這個是在windows上的 ...
  • 退出但不關閉: 這是Android對於Linux的優化。當 Android 應用程式退出時,並不清理其所占用的記憶體,Linux 內核進程也相應的繼續存在,所謂“退出但不關閉”。從而使得用戶調用程式時能夠在第一時間得到響應。 應用切換到後臺是暫停的,完全不耗cpu和電量,只保留了運行狀態。如果app需 ...
  • We can create subclass within a class cluster that defines a class that embeds within it an object. These class objects are composite objects. So you ...
  • LSCacheFile.h LSCacheFile.m ...
  • 前言: 上一期實現了簡單的QQ登錄效果,這一期繼續對上一期進行擴展 本期的知識點: Toast彈窗,三種方法實現按鈕的點擊事件監聽 正文: Toast彈窗其實很簡單,在Android Studio中打上toast,之後按下tab鍵就能快捷生成一個Toast 這樣就能實現彈出Toast,我將之前彈出對 ...
  • 如果你決定用UIView動畫或Core Animation,一定要編寫一些測試用例,模擬游戲可能遇到的要求最高的動畫,另外不要忘記播放聲音。不要等到最後才增加聲音,因為在iPhone上播放音樂和音效確實會極大地耗費處理能力。必須將播放聲音作為模擬的一部分。 從用戶反饋給我們的崩潰日誌來看,我們發現F ...
  • All Objective-C programs are composed of the following two fundamental elements: Program statements (code): This is the part of a program that perform ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...