安卓基礎回調~以及關於部分直播錄製壓縮問題

 第一種是界面之間~其實也算是吧~比較特別~這種是activity與activity之間比較常見的,就不特別說明:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
第二種呢:
界面與Adapter之間的回調~或者這麼說吧~就是把控件另類的分裝這個時候原來的activity需要在分裝裏面的參數的時候:
我們以adapter作爲例子:
首先1.在你要分裝的類裏面inflace 一個接口以及點擊事件

2.
public inflace onclickback {
    void();
}
onclickback mlistner;
public Message(onclickback mlistner){ 
    this.mlistner = mlistener;
}

在點擊事件裏面進行一個設置:
if(mlistener != null){
    mlistener.void();
}

這個時候在主界面進行調用這個message方法。此時就可以調用到了~其實不是什麼很難的方法:
對於主界面我們實現的方法有倆種:和點擊事件實現方法一樣:也可以裏面變成this 但是記得要繼承這個方法接口:

那麼這個是界面與分裝類之間的回調:
在安卓裏面有時候會出現界面(1)調用界面(2)在調用界面(3),這個時候界面(3)直接返回值到界面(1)這個時候是不是傻傻的寫onresultactivity,這樣是可以~但是很麻煩~要是如果出現界面不是activity。這個時候呢?
那麼我們也有一種方法。那就是bus事件註冊:compile 'com.squareup:otto:1.3.8'對於android studio繼承這一句話。然後在進行一個分裝~這個是我個人的寫法。
public class OttoUtil {

private static final Bus BUS = new Bus();

public static Bus getInstance() {
return BUS;
}

}
這個時候寫一個工具類~這個是我本人比較喜歡做的~不會麻煩的多寫代碼
這個時候在第三個界面進行一個註冊。那麼就是調用OttoUtil.getInstance().resiger(this);(一般在oncreate裏面進行調用)
記住這個時候有註冊一定要關閉哦~~~那麼就是反的OttoUtil.getInstance().unresiger(this);(一般在ondetroy裏面進行調用的)看情況來定:

使用方式呢~其實就這樣了~沒什麼太大的區別比如我傳值1到界面(1)
建立一個類 裏面放置 int position:類名 GoodJob:
在界面(3)裏面在點擊的位置進行,或者將進行的一步寫入。上面進行一個對GoodJob裏面的值進行一個賦值:OttoUtil.getInstace().post(goodjob);
在界面(1)裏面進行

@Subscribe
public void good(GoodJob b){

}
這樣就會進行一個回調~以及進行一系列的活動:

那麼下面講解一下關於直播錄製的問題:
前一段時間有一個人遇到這個問題,那麼我當時幫他查找了一下問題:主要原因出現在對方的直播界面是寬度大於高度:而我們手機的攝像頭的問題是按比例來的,比例的圖片對於其他的手機而言是不一樣的
然後那個同學把直播錄製界面改成等寬等高~造成了壓縮的效果。那麼這個時候改怎麼處理呢?那就是在錄製的時候進行一個比例的換算調整。這個位子在相機的設置裏面去找。這個位子也不多講了~只是提一下而已:
然後呢~下面還會陸續出現更多的博客~最近比較忙寫的時間沒有那麼多~所以各位諒解哈~也可以提問題~我會不定時的看看的~
發佈了34 篇原創文章 · 獲贊 8 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章