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(“登錄”),值)時,應用程序似乎暫停了一段時間(似乎很奇怪-認為服務背后的想法是運行在不同的線程上!)
- 3 回答
- 0 關注
- 749 瀏覽
添加回答
舉報
0/150
提交
取消