2012-07-17 39 views
1

我想上傳不同的線程上的聯繫人,我得到的應用程序上下文,但它似乎不工作。爲什麼?線程和上下文問題

下面的代碼:

private void uploadall() { 
    new Thread(new Runnable() { 
     public void run() { 

      Contacts contacts = new Contacts(getApplicationContext()); 
      contacts.phoneandname(); 

      // Apps 
      ListApps mList = new ListApps(); 
      mList.loadInstalledApps(false, getApplicationContext()); 

     } 
    }); 
} 

當我嘗試沒有線程上傳的作品完美...爲什麼?

+0

什麼似乎不工作? – 2012-07-17 09:28:55

+0

@AndroSelva我在聯繫人類中創建日誌,當我嘗試tu上傳沒有線程時,它上傳所有聯繫人並顯示log.i();但是當我把一個線程然後不做任何事情。 – 2012-07-17 09:30:16

+0

你不會啓動()線程。 – Blackbelt 2012-07-17 09:40:37

回答

1

你沒有真正啓動線程,請嘗試以下操作:

private void uploadall() { 
    Thread thread = new Thread(new Runnable() { 
    public void run() { 
     ... 
    } 
    }); 

    thread.start(); 
} 

甲骨文併發教程是在Java多線程開始出來的時候,可以發現here相當不錯的資源。

+0

OOh ... :(我的錯! – 2012-07-17 09:58:14

1

嘗試爲:

private void uploadall() { 
private Context context=getApplicationContext(); 

    Thread thread = new Thread(new Runnable() { 
    public void run() { 

      Contacts contacts = new Contacts(context); 
      contacts.phoneandname(); 

      // Apps 
      ListApps mList = new ListApps(); 
      mList.loadInstalledApps(false,context); 

     } 
    }); 
    thread.start(); 
} 
+0

哦......表...這是我的錯,謝謝! – 2012-07-17 09:45:43