我是一名新手Android開發人員,我試圖從使用GSON和AsynTask的RESTful Web服務中獲取數據。然而,當包含AsynTask類的活動就叫做,我在logcat中得到的唯一錯誤是:Android - 無法打開堆棧跟蹤文件
11月1日至2日:17:58.275:E/dalvikvm(807):無法打開堆棧跟蹤文件 「/data/anr/traces.txt」:是一個目錄
然後是doInBackground
方法不能被調用,因此沒有響應從Web服務了。 我GOOGLE了這個問題,但大多數人都得到了permission denied
什麼的,而不是is a directory
在我的情況。所以,如果你有任何關於如何解決這個問題的建議,請幫助我!
如果任何人都可以要求包含AsynTask類的代碼,包括我在這裏:
public class PlaceListActivity extends Activity{
private ListView m_vwPlaceLayout;
private ArrayList<Place> m_arrPlaceList;
private PlaceAdapter m_placeListAdapter;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.place_list);
m_vwPlaceLayout = (ListView) findViewById(R.id.spotListView);
m_arrPlaceList = new ArrayList<Place>();
m_placeListAdapter = new PlaceAdapter(this, R.layout.place_view, m_arrPlaceList);
m_vwPlaceLayout.setAdapter(m_placeListAdapter);
populateList();
}
public void populateList(){
Intent intent = getIntent();
String key = intent.getStringExtra("KEYWORD");
new GetSpots().execute(key);
}
private class GetSpots extends AsyncTask<String, Integer, ArrayList<Place>>{
protected ArrayList<Place> doInBackground(String... keys){
ArrayList<Place> list = null;
String url = "http://10.0.2.2:81/HGourmet/getPlaces?key=" + keys[0].trim();
try{
RestClient client = new RestClient(url);
try{
client.Execute(RequestMethod.GET);
}catch(Exception e){
e.printStackTrace();
}
String json = client.getResponse();
Gson gson = new Gson();
Type listType = new TypeToken<ArrayList<Place>>(){}.getType();
list = gson.fromJson(json, listType);
}catch(Exception e){}
return list;
}
protected void onProgressUpdate(Integer... progress){
}
protected void onPreExecute(){
}
protected void onPostExecute(ArrayList<Place> placeList){
if (placeList != null){
for (Place place : placeList){
m_arrPlaceList.add(place);
}
m_placeListAdapter.notifyDataSetChanged();
}
else{
Toast.makeText(PlaceListActivity.this, "No Results!", Toast.LENGTH_LONG).show();
}
}
}
}
你可以發佈你用來調用異步任務的代碼嗎 – almuneef
嗨almuneef,我剛剛編輯過我的帖子,其中包含AsyncTask。這個類的重點是從Web服務獲取數據並將它們顯示爲列表。 –