• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 安卓學習筆記三(activity、MVC設計模式、intent)

    標簽: Android

    目錄

    一、將控件鏈接起來
    二、創建并顯示Toast消息
    三、創建一個新的Activity類
    四、用intent啟用一個activity

    在activity中訪問控件

    步驟一:添加成員變量(可能被跳過)
    private Button btn;
    步驟二:引用控件
    findViewById(R.id.***);
    步驟三:為控件設置監聽器(有三種方法)
    btn1.setOnClickListener(…);
    有三種方法來設置監聽器
    1、接口(推薦)

    public class MainActivty extends AppCompatActivity implements View.OnClickListener{
    	@Override
    	protected void onCreate(Bundle savedInstanceState){
    		....
    		btn.setOnClickListener(this);
    		}
    		@Override
    		public void onClick(View view){
    		//實現點擊事件的代碼
    		}
    	}
    	
    

    2、匿名內部類

    btn.setOnClickListener(new View.OnClickListener(){
    	@override
    	public void OnClick(View view){
    	//實現點擊事件的代碼
    	}
    });
    

    3、在xml布局文件中設置onClick屬性,在Activity中定義實現點擊事件的方法名必須與onClick屬性的值保持一致
    activity_main.xml:

    <Button
    android:onClick="click" 
    />
    

    MainActivity.java:

    public void click(View view){
    //實現點擊事件的代碼
    }
    

    MVC設計模式

    在這里插入圖片描述
    模型對象存儲著應用的數據和業務邏輯。模型類通常用來映射與應用相關的一些事物,如用戶、商店里的商品、服務器上的圖片或者一段電視節目,抑或為GeoQuiz應用里的地理知識問題。模型對象不關心用戶界面,它為存儲和管理應用數據而生。模型類通常就是我們創建的定制類。應用的全部模型對象組成了模型層。
    視圖對象知道如何在屏幕上繪制自己,以及如何相應用戶的輸入,如觸摸動作等。一個簡單的經驗法則是,凡是能夠在屏幕上看見的對象,就是視圖對象。應用的全部視圖對象組成了試圖成
    控制器對象含有應用的邏輯單元,是視圖對象與模型對象的聯系紐帶。控制器對象相應視圖對象觸發的各類事件,此外還管理著模型對象與視圖層間的數據流動

    啟動和結束Activity的方法

    啟動Activity的方法

    startActivity(intent);
    startActivityForResult(intent,requestCode);
    

    結束Activity的方法

    finish();
    

    Intent

    1、Intent intent = new Intent();
    2、顯式意圖(explicit intent)

    setClass(FirstActivity.this,SecondActivity.class);
    

    FirstActivity.this:當前的activity
    SecondActivity.class:要跳轉到的目標activity
    示例:

    Intent intent = new Intent();
    setClass(FirstActivity.this,SecondActivity.class);
    startActivity(intent);
    

    3、隱式意圖(implicit intent)

    setAction();
    

    隱式Intent不會明確指出需要**的目標組件,它被廣泛地應用在不同應用程序之間傳遞消息。Android系統會使用IntenrFilter匹配相應的組件,匹配的屬性主要包括以下三個:
    action:表示Intent對象要完成的動作
    data:表示Intent對象中傳遞的數據
    category:表示為action添加的額外信息
    示例:我們要在Project1程序的MainActivity中開啟SecondActivity
    首先我們要在Project2程序的清單文件(AndroidManifest.xml)中
    ,配置SecondActivity的action為“cn.itcast.START_ACTIVITY”

    <activity android:name=".SecondActivity">
                <intent-filter>
                    <action android:name="cn.itcast.START_ACTIVITY" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
    

    然后我們要在Project1程序中的MainActivity中啟動SecondActivity

    Intent intent = new Intent();
    intent.setAction("cn.itcast.START_ACTIVITY");//設置action動作,該動作必須和清單文件中設置的一樣
    startActivity(intent);
    
    版權聲明:本文為weixin_43354214原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_43354214/article/details/104728425

    智能推薦

    安卓學習日記——Activity(一)

    四大核心組件——Activity 簡介:一個Activity代表一個界面,即一個活動。活動開始,則Activity組件啟動,活動結束,則代表一個Activity組件生命周期結束 內部概念 1)Application 2)Activity 3)Activity棧 4)task 一整個應用就是一個Application,即平時說的APP 圖解 其中123代表的是一個個Activ...

    安卓學習筆記

    學習安卓的學習筆記,留存一下,雖然以后可能都不會從事安卓相關的工作了,紀念一下。 1 Activity 1 返回棧 活動可以層疊,啟動一個新的活動會覆蓋在原活動上,Back會銷毀最上面的活動,下面的一個活動就會重新顯示。 用任務管理一系列活動。任務用返回棧描述。 啟動一個新的活動,這個活動就在返回棧中入棧,finish()即棧頂元素出棧,系統總是會顯示處于棧頂的活動給用戶。(所以finish()銷...

    安卓 Buddle與Intent的聯合使用(Activity傳參)(kotlin實現)

    Activity1   需要注意的是空指針的處理 不得不說 Buddle傳參確實感覺挺好用的QAQ activity2 執行結果  ...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    猜你喜歡

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    精品国产乱码久久久久久蜜桃不卡