亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

RESTfulAPI服務

RESTfulAPI服務

泛舟湖上清波郎朗 2019-07-11 12:59:11
RESTfulAPI服務我正在尋找一個服務,我可以使用它來調用一個基于Web的RESTAPI?;旧?,我想在app init上啟動一個服務,然后我希望能夠要求該服務請求一個url并返回結果。同時,我希望能夠顯示一個進度窗口或類似的東西。我目前已經創建了一個使用IDL的服務,我在某個地方讀到,您只需要這個來進行跨應用程序的通信,所以認為這些需要去掉,但不確定如何在沒有IDL的情況下進行回調。當我撞到post(Config.getURL("login"), values)這個應用程序似乎暫停了一段時間(似乎很奇怪-認為服務背后的想法是運行在不同的線程上!)目前,我有一個帶有POST和獲取http方法的服務、幾個AIDL文件(用于雙向通信)、一個ServiceManager,它處理服務的啟動、停止、綁定等,我正在動態地創建一個Handler,并根據需要為回調編寫特定的代碼。我不希望任何人給我一個完整的代碼基礎來處理,但是一些提示將是非常感謝的。代碼(大部分)完整:public class RestfulAPIService extends Service   {final RemoteCallbackList<IRemoteServiceCallback> mCallbacks = new RemoteCallbackList<IRemoteServiceCallback>();  public void onStart(Intent intent, int startId) {     super.onStart(intent, startId);}public IBinder onBind(Intent intent) {     return binder;}public void onCreate() {     super.onCreate();}public void onDestroy() {     super.onDestroy();     mCallbacks.kill();}private final IRestfulService.Stub binder = new IRestfulService.Stub() {     public void doLogin(String username, String password) {         Message msg = new Message();         Bundle data = new Bundle();         HashMap<String, String> values = new HashMap<String, String>();         values.put("username", username);         values.put("password", password);         String result = post(Config.getURL("login"), values);         data.putString("response", result);         msg.setData(data);         msg.what = Config.ACTION_LOGIN;         mHandler.sendMessage(msg);     }     public void registerCallback(IRemoteServiceCallback cb) {         if (cb != null)             mCallbacks.register(cb);     }};private final Handler mHandler = new Handler() {     public void handleMessage(Message msg) {         // Broadcast to all clients the new value.         final int N = mCallbacks.beginBroadcast();         for (int i = 0; i < N; i++) {                    }             }         }     }
查看完整描述

3 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

另外,當我點擊POST(Config.getURL(“登錄”),值)時,應用程序似乎暫停了一段時間(似乎很奇怪-認為服務背后的想法是運行在不同的線程上!)

不,你必須創造一根線你自己,一個本土化默認情況下,服務在UI線程中運行。


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 749 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號