我有一個只包含各種數據庫查詢的靜態函數的類。由於它們都與網絡相關,所以我需要在另一個線程中執行該代碼。我正試圖找到實現這一點的最佳方式。Android網絡與線程
public class MyClass {
public static void someFunction() {
...
}
public static void anotherFunction() {
...
}
}
我想這樣做是這樣的:
public class MyClass {
public static void someFunction() {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
...
}
}
}
public static void anotherFunction() {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
...
}
}
}
}
或創建一個新的線程,當我把這些功能:
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
MyClass.someFunction();
}
}
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
MyClass.anotherFunction();
}
}
最後,我想知道是否有一種方法運行與主線程並行的單個線程,該主線程將專門處理這些函數調用。主線程會調用這些函數,另一個線程會運行它們。
有沒有人有任何想法來實現這個最好的方式?謝謝!
可能你應該使用內部類來完成異步任務。只是閱讀更多的API ..它有一個例子。當然,你可以定製它。 http://developer.android.com/reference/android/os/AsyncTask.html – xiriusly