最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android開發(fā)快速啟動圖文教程(Android?Studio?+?Java)

 更新時間:2025年10月29日 11:11:44   作者:Sudan_God  
Java是一種廣泛用于企業(yè)級應用和互聯(lián)網(wǎng)應用的編程語言,而Android則是基于Java的移動操作系統(tǒng),這篇文章主要介紹了Android開發(fā)快速啟動(Android?Studio?+?Java)的相關資料,需要的朋友可以參考下

一、創(chuàng)建項目

a.點擊左上角的《四條橫線》—《文件》—《新建》—《新建項目》

b.根據(jù)需要選擇對應的模板,一般默認選擇《Empty Activity》—《下一步》

c.根據(jù)自己的需要設置《Name》—《Save location》—《Language》—《Minimum SDK》,其他默認選擇即可

二、認識開發(fā)界面

1.項目目錄

二級文件夾三級文件夾文件名作用
manidestsAndroidManifest

以xml格式定義軟件配置(權(quán)限、版本等)

聲明頁面、服務等

java存放Java/Kotlin代碼
包名業(yè)務代碼
MainActivity初始頁面代碼
包名(androidTest)需要在設備上運行的測試代碼
包名(test)純Java/Kotlin邏輯的測試代碼
res存放圖片、布局等文件
drawable存放圖片、按鈕等繪制資源
ic_launcher_backgroud圖標背景層
ic_launcher_foreground圖標前景層
layout存放頁面、菜單、提示框等布局文件
activity_main初始頁面布局
mipmap存放軟件啟動圖標
ic_launcher普通形狀的啟動圖標
ic_launcher_round圖形啟動圖標
values存放值(宏定義)
colors定義顏色
strings定義字符串
themes應用主題樣式(默認)
themes(night)應用主題樣式(夜間)
xml存放非界面類的配置文件
backup_rules軟件數(shù)據(jù)備份規(guī)則
data_extraction_rules數(shù)據(jù)提取規(guī)則
GradleScripts存放gradle構(gòu)建腳本

2.左側(cè)工具欄

3.頂部工具欄

三、代碼開發(fā)

1.xml布局(前端)

1.1創(chuàng)建文件夾

a.點擊《res》—右鍵—《新建》—《Android Resource Directory》

b.根據(jù)需要設置《Directory name》,可以根據(jù)需要設置《Resource type》,里面有常見的文件夾類型

1.2需要注冊的文件(Activity頁面為例)

它們:Activity頁面 / Service后臺服務 / ContentProvider跨應用共享數(shù)據(jù) / Broadcast接收器等

它們并不是都需要xml文件,但都必須要有其對應的代碼(定義類)和在AndroidManifest注冊(聲明一個該類的變量)——可以理解為一個特殊的類變量,一個類只有一個變量

1.2.1創(chuàng)建xml布局文件

方法一:自動創(chuàng)建

a.點擊《res/layout》—右鍵—《新建》—《Activity》—根據(jù)需要點擊創(chuàng)建的Activity,一般為《Empty View Activity》

分類文件作用
導航方式Bottom Navigation自帶底部導航的頁面
Navigation Drawer自帶側(cè)邊欄的頁面
Tabbed Views自帶頂部選項卡的頁面
UI交互Fullscreen Views全屏頁面
Scrolling Views可以滾動的頁面
Empty Views啥都沒有的頁面(高度自定義)
適配場景Android TV Blank電視端,焦點導航
Responsive Views響應式布局頁面(自適應)
Primary/Detail Flow適配大屏和小屏
架構(gòu)模式Fragment + ViewModelMVVM架構(gòu),數(shù)據(jù)與UI分離
Settings Views自動存儲設置

b.根據(jù)需要調(diào)整《Activity Name》等,點擊《完成》。

會自動在《res/layout》下創(chuàng)建xml文件

在《java/包名》下創(chuàng)建java文件

并在《manifest/AndroidManifest》注冊Activity

方法二:手動創(chuàng)建

a.點擊《res/layout》—右鍵—《新建》—《Layout Resource File》創(chuàng)建xml布局文件

b.設置《File name》—《確定》

c.點擊《java/包名/activity》—《新建》—《Java類》創(chuàng)建邏輯代碼文件

d.選擇《類》—《回車》

e.在《manifest/AndoridManifest》注冊該Activity

1.2.2使用

a.點擊右上角《v》,可設置xml文件的瀏覽方式

b.用xml格式編碼布局,通過不斷的套娃使用LinearLayout、RelativeLayout等,將一個大的頁面分為N個小的塊,再在塊里面放UI組件:例如LinearLayout里面有N個RelativeLayout,每個再加上UI組件
c.在對應的Java文件編輯其邏輯

1.3不需要注冊的文件(Toolbar工具欄為例)

復雜的需要專門用一個xml文件來定義布局:ActionBar導航 / Toolbar工具欄 / Dialog對話框 / PopupWindow彈窗 / ListView列表等

不復雜的可以直接在activity.xml通過android::屬性定義布局:TextView文本框 / Button按鈕 / ImageView圖片框等

方法一:專門用一個xml文件

 a.點擊《res/layout》—右鍵—《新建》—《Layout Resource File》創(chuàng)建xml布局文件

b.設置《File name》—《確定》

c.用xml格式編碼布局,通過不斷的套娃使用LinearLayout、RelativeLayout等,將一個大的頁面分為N個小的塊,再在塊里面放UI組件:例如LinearLayout里面有N個RelativeLayout,每個再加上UI組件

d.在Activity中引用

方法二:直接在Activity中使用

2.邏輯代碼(后端)

2.1java代碼目錄(基于Android 系統(tǒng)內(nèi)置的 SQLite 數(shù)據(jù)庫工具類)

文件夾名(默認都在java/包名下)文件名(例子)作用
entityUser數(shù)據(jù)實體類
dbAppAdapter數(shù)據(jù)庫管理類(定義和操作全部數(shù)據(jù)表)
adapterUserAdapter適配器(將數(shù)據(jù)庫的數(shù)據(jù)與UI綁定)
activityMainActivity頁面實體類
Util一些工具方法
service等

2.2創(chuàng)建文件夾

a.點擊《java/包名》—右鍵—《新建》—《軟件包》

b.輸入文件夾名

2.3用戶交互邏輯

2.3.1需要注冊的

a.點擊《java/包名/activity》的對應文件,在《onCreate》方法中與xml文件進行綁定

b.通過生命周期方法來定義邏輯

2.3.2不需要注冊的

a.點擊《java/包名/activity》的對應文件,在類里面定義成員變量

b.在《onCreate》方法中通過findViewByxx與組件進行綁定

c.通過setOnClickListener等方法設置監(jiān)聽器來實現(xiàn)邏輯

2.4數(shù)據(jù)庫邏輯(基于Android 系統(tǒng)內(nèi)置的 SQLite 數(shù)據(jù)庫工具類)

a.在《java/包名/entity》(沒有entity文件夾就創(chuàng)建)中定義數(shù)據(jù)模型(實體類),并創(chuàng)建構(gòu)造方法和相應的get和set方法

b.在《java/包名/db》(沒有db文件夾就創(chuàng)建)中定義《AppAdapter》,并定義數(shù)據(jù)庫配置(名稱、版本) + 相關數(shù)據(jù)表的常量定義 + 表的SQL語句 + 數(shù)據(jù)庫構(gòu)造方法 + 相關數(shù)據(jù)表的操作

package com.example.csdn_article.db;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;

public class AppDatabaseHelper extends SQLiteOpenHelper {

    // 數(shù)據(jù)庫名稱(會在設備中生成此名稱的數(shù)據(jù)庫文件)
    private static final String DATABASE_NAME = "multi_table_db";
    // 數(shù)據(jù)庫版本號(升級時需遞增)
    private static final int DATABASE_VERSION = 1;

    // ------------------------ User表相關常量 ------------------------
    public static final String TABLE_USER = "user";
    public static final String USER_COLUMN_ID = "id";
    public static final String USER_COLUMN_NAME = "name";
    public static final String USER_COLUMN_EMAIL = "email";
    public static final String USER_COLUMN_AGE = "age";

    // 創(chuàng)建User表的SQL語句
    private static final String CREATE_TABLE_USER = "CREATE TABLE " + TABLE_USER + "("
            + USER_COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
            + USER_COLUMN_NAME + " TEXT NOT NULL,"  
            + USER_COLUMN_EMAIL + " TEXT UNIQUE,"    
            + USER_COLUMN_AGE + " INTEGER"
            + ")";

    // 構(gòu)造方法
    public AppDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    // 數(shù)據(jù)庫第一次被創(chuàng)建時調(diào)用(初始化所有表)
    @Override
    public void onCreate(SQLiteDatabase db) {
        // 執(zhí)行創(chuàng)建表的SQL語句,順序很重要(有外鍵的表要在被關聯(lián)表之后創(chuàng)建)
        db.execSQL(CREATE_TABLE_USER);       // 創(chuàng)建User表

    }

    // 數(shù)據(jù)庫版本升級時調(diào)用(版本號增加時)
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 簡化處理:刪除舊表,創(chuàng)建新表(實際開發(fā)中應考慮數(shù)據(jù)遷移)
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_USER);
        onCreate(db);
    }

    // ------------------------ User表的操作 ------------------------

    /**
     * 添加用戶
     * @param user 要添加的用戶對象
     * @return 新添加記錄的ID,-1表示失敗
     */
    public long addUser(User user) {
        // 獲取可寫數(shù)據(jù)庫
        SQLiteDatabase db = this.getWritableDatabase();

        // 用ContentValues存儲字段值(類似鍵值對)
        ContentValues values = new ContentValues();
        values.put(USER_COLUMN_NAME, user.getName());    
        values.put(USER_COLUMN_EMAIL, user.getEmail());
        values.put(USER_COLUMN_AGE, user.getAge());

        // 插入數(shù)據(jù)到表中,返回新記錄的ID
        long id = db.insert(TABLE_USER, null, values);
        db.close(); // 關閉數(shù)據(jù)庫連接
        return id;
    }

}

c.在Java代碼中定義《AppAdapter》變量,調(diào)用該變量的數(shù)據(jù)庫操作方法獲取、更改數(shù)據(jù)

3.運行虛擬機測試

3.1創(chuàng)建虛擬機

a.點擊《Device Manager》—《Vritual》—《Create Device》

b.按照需求選擇《Category》—虛擬機—《下一步》

c.根據(jù)需求選擇API版本(小于創(chuàng)建項目設置的API版本將運行不了該項目)

d.最后查看一下虛擬機配置,點擊《完成》

3.2運行虛擬機

a.點擊《運行》(一定要有足夠的內(nèi)存運行,否則報錯The emulator process for AVDPixel_7_APl34 has terminated.)
b.點擊《Running Devices》,查看運行的虛擬機

總結(jié) 

到此這篇關于Android開發(fā)快速啟動的文章就介紹到這了,更多相關Android開發(fā)快速啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • android 實現(xiàn)ScrollView自動滾動的實例代碼

    android 實現(xiàn)ScrollView自動滾動的實例代碼

    這篇文章主要介紹了android 實現(xiàn)ScrollView自動滾動的實例代碼,有需要的朋友可以參考一下
    2014-01-01
  • Android實現(xiàn)圖片瀏覽功能的示例詳解(附帶源碼)

    Android實現(xiàn)圖片瀏覽功能的示例詳解(附帶源碼)

    在許多應用中,都需要展示圖片并支持用戶進行瀏覽,本文主要為大家介紹了如何通過Android實現(xiàn)圖片瀏覽功能,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-09-09
  • Kotlin協(xié)程Context應用使用示例詳解

    Kotlin協(xié)程Context應用使用示例詳解

    這篇文章主要為大家介紹了Kotlin協(xié)程Context應用使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Android ProgressDialog使用總結(jié)

    Android ProgressDialog使用總結(jié)

    ProgressDialog 繼承自AlertDialog,AlertDialog繼承自Dialog,實現(xiàn)DialogInterface接口,本文給大家介紹Android ProgressDialog使用總結(jié)的相關知識,需要的朋友通過此文一起學習吧
    2016-01-01
  • Android實現(xiàn)自定義ImageView的圓角矩形圖片效果

    Android實現(xiàn)自定義ImageView的圓角矩形圖片效果

    android顯示圓角矩形的圖片其原理就是首先獲取到圖片的Bitmap,然后進行裁剪對應的圓角矩形的bitmap,然后在onDraw()進行繪制圓角矩形圖片輸出
    2018-05-05
  • Flutter?EventBus事件總線的應用詳解

    Flutter?EventBus事件總線的應用詳解

    這篇文章主要為大家介紹了Flutter?EventBus事件總線的應用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 詳解JS與APP原生控件交互

    詳解JS與APP原生控件交互

    本文主要分享了JavaScript與Android、IOS原生控件之間相互通信的詳細代碼實現(xiàn),具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • android讀寫中文如何避免亂碼詳解

    android讀寫中文如何避免亂碼詳解

    這篇文章主要介紹了android讀寫中文如何避免亂碼的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • kotlin Context使用詳解

    kotlin Context使用詳解

    這篇文章主要介紹了kotlin Context使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Android中的Notification機制深入理解

    Android中的Notification機制深入理解

    這篇文章主要給大家介紹了關于Android中Notification機制的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02

最新評論

稷山县| 涿州市| 威宁| 苏尼特右旗| 平定县| 淮阳县| 太原市| 芦溪县| 寿光市| 阿巴嘎旗| 孝义市| 宜兴市| 大足县| 博乐市| 温泉县| 周至县| 师宗县| 交口县| 枞阳县| 张北县| 青川县| 台北市| 万源市| 象州县| 连州市| 合阳县| 清丰县| 太和县| 修文县| 新巴尔虎右旗| 越西县| 房山区| 云安县| 时尚| 铜川市| 永靖县| 苍山县| 大方县| 中牟县| 襄城县| 马山县|