欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

AutobahnAndroid的一個應(yīng)用示范和全局化-創(chuàng)新互聯(lián)

先介紹下Autobahn Android是什么東西,簡單來說,就是github上的一個開源項目,目的是在Android端實現(xiàn)WebSocket的協(xié)議,項目的地址在這里,看得懂源碼的童鞋可以去看,地址點這里,貌似還有些發(fā)布/訂閱 模式的東西在里面。

為偃師等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及偃師網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、網(wǎng)站制作、偃師網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

    接下來說下,我要實現(xiàn)的目標(biāo),首先我要建立一個全局的持續(xù)連接,以保證在每個Activity中,都能調(diào)用它的發(fā)送數(shù)據(jù)的方法

WebSocketUitls.webSocketConnection.sendTextMessage(jsonObject.toString());

當(dāng)然另一點就是,在發(fā)送數(shù)據(jù)后,能在接收返回數(shù)據(jù)的時能在當(dāng)前的上下文環(huán)境當(dāng)中執(zhí)行相應(yīng)的方法

@Override
public void mySystemMethod(JSONObject json){
    try {
        System.out.println(json.get("data") + "_LoginPage");
        userName = (EditText)findViewById(R.id.userName);
        userName.setText(json.get("data").toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

------------------------------------分割線------------------------------------------------

首先,我定義了一個工具類,將WebSocket連接對象進(jìn)行全局化,并定義一個繼承了MyWebSocketHandler接口的偽處理類,并在全局的返回數(shù)據(jù)的  public void onTextMessage(String payload)中調(diào)用,這樣當(dāng)其他Activity類,new MyWebSocketHandler時,便可以替換onTextMessage中的方法,以實現(xiàn)回調(diào)的效果

public class WebSocketUitls{
    public static String WS = "ws://ip地址:端口號";

    public static WebSocketConnection webSocketConnection;

    public static WebSocketHandler webSocketHandler;
    static {
        webSocketConnection = new WebSocketConnection();
        webSocketHandler = new WebSocketHandler(){
            //websocket接受返回數(shù)據(jù)的方法
            @Override
            public void onTextMessage(String payload) {
                super.onTextMessage(payload);
                //調(diào)用自定義方法中的mySystemMethod,當(dāng)其他Activity中重置他的時候就會完成替換
                JSONObject jsonObject;
                try {
                    jsonObject = new JSONObject(payload);
                    //要替換的方法
                    myHandler.mySystemMethod(jsonObject);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        };
        try {
            webSocketConnection.connect(WS,webSocketHandler);
        } catch (WebSocketException e) {
            e.printStackTrace();
        }
    }

    //定義一個初始的全局類
    public static  MyWebSocketHandler myHandler  = new MyWebSocketHandler(){ 
        @Override
        public void mySystemMethod(JSONObject json) {
            //TODO 并沒什么卵用。這個方法只是占個位置,以方便以后替代
        }
    };

}
public class LoginPage extends AppCompatActivity{

    private EditText userName;
    @Override
    protected void onResume() {
        super.onResume();
        //將新的方法傳遞給myHandler這全局的處理方法
        WebSocketUitls.myHandler = new LoginHandler();
    }
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login_page);

        Button login_btn = (Button)findViewById(R.id.LOGIN_IN);
        login_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final Map<String,String> map = new HashMap<String,String>();
                map.put("type","XXXXXXXXX");
                map.put("name","111111");
                map.put("password", "111111");
                final JSONObject jsonObject = new JSONObject(map);
                //組合數(shù)據(jù),這是websocket的請求參數(shù)
                WebSocketUitls.webSocketConnection.sendTextMessage(jsonObject.toString());
            }
        });
    }

    //實現(xiàn)一個內(nèi)部類,同時實現(xiàn)MyWebSocketHandler這個接口,
    class LoginHandler implements MyWebSocketHandler{ 

        //實現(xiàn)這個方法,以替換全局的處理方法
        @Override
        public void mySystemMethod(JSONObject json){
            try {
                System.out.println(json.get("data") + "_LoginPage");
                userName = (EditText)findViewById(R.id.userName);
                userName.setText(json.get("data").toString());
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}
public interface MyWebSocketHandler { 
    public void mySystemMethod(JSONObject json);
}

--------------------------------------分割線----------------------------------------------

可能說的不太有條理, 畢竟能力有限,有哪位大神用過這個東西,有自己的見解的可以在留言中提出來。

另附上autobahn-0.5.0.jar包。有需要的可以拿去用在自己的項目當(dāng)中,只用一個,其他網(wǎng)上下載的東西,可能會有兩個依賴吧,其實并,不需要,加進(jìn)去也會編譯出錯,所以只加入這也個就可以了。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站欄目:AutobahnAndroid的一個應(yīng)用示范和全局化-創(chuàng)新互聯(lián)
分享路徑:http://aaarwkj.com/article14/cogjge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、ChatGPT網(wǎng)站營銷、網(wǎng)站改版、搜索引擎優(yōu)化、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
又黄又爽区一区二区三| 久草热不卡的av在线| 亚洲性感人妻系列网站| 亚洲天堂岛av一区二区| 色婷婷av一区二区三| 日韩人妻有码中文字幕| 欧美日韩国产这里只有精品| 高清免费国产日日操夜夜草| 一区二区欧美日韩91| 国产午夜草莓视频在线观看| 日本精品不卡一二三区| 国产大学生吞精在线视频| 有码精品视频在线观看| 亚洲一区二区三区欧美精品| 国产三级网站在线观看| 国产一区二区91精品| 亚洲一区精品二人人爽久久| 99亚洲综合一区二区三区| 国产美女被狂操到高潮| 国产a天堂一区二区专区| 国产av手机自拍看片| 精品国产av一区蜜臀av| 亚洲国产精品一区二区三| 免费又色又爽无遮挡网站| 日本一区二区三区免费精品| 天天日天天天干夜夜操| av一区二区三区网站| 日本一区二区三区日本| 亚洲av成人在线一区二区| 久久久久久狠狠亚洲综合| 亚洲欧美日韩午夜在线| 成人在线一区二区三区观看| 亚洲性感人妻系列网站| 亚欧乱色熟女一区二区三区| 亚洲熟妇av乱码在线| 久久国产精品亚洲熟女66r| 午夜福利主播一区二区| 亚州无吗一区二区三区| 亚洲一区二区三区香蕉不卡| 欧美精品一区二区网站| 开心久久婷婷综合中文字幕|