2011-03-06 92 views
1

我想使用gdata访问谷歌日历。但在应用程序关闭:( 我已经加入GDATA,客户1.0.jar作为外部JAR安卓谷歌日历..应用程序的力量关闭

这里有我的文件: rrr.java 包caleda.qwe;

import java.net.URL; 

import com.google.gdata.client.calendar.CalendarService; 
import com.google.gdata.data.calendar.CalendarEntry; 
import com.google.gdata.data.calendar.CalendarFeed; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class rrr extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     String res="not proper"; 
    // Create a CalenderService and authenticate 
     CalendarService myService = new CalendarService("calendar"); 
     try{ 
     myService.setUserCredentials("sunnycool333", "XXXXX"); 

     // Send the request and print the response 
     URL feedUrl = new URL("https://www.google.com/calendar/feeds/default/owncalendars/full"); 
     CalendarFeed resultFeed = myService.getFeed(feedUrl, CalendarFeed.class); 
     // System.out.println("Calendars you own:"); 
     // System.out.println(); 
     for (int i = 0; i < resultFeed.getEntries().size(); i++) { 
      CalendarEntry entry = resultFeed.getEntries().get(i); 
     // System.out.println("\t" + entry.getTitle().getPlainText()); 
      res=entry.getTitle().getPlainText(); 
     } 
     } 
     catch (Exception e) { 
      // TODO: handle exception 
      //System.out.println("not working"); 
      res=e.toString(); 
     } 

     TextView view = (TextView)findViewById(R.id.TextView01); 
     view.setText(res); 
    } 
} 

main.xml中。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 
<TextView android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
</LinearLayout> 

applicationmanifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="caleda.qwe" 
     android:versionCode="1" 
     android:versionName="1.0"> 
     <uses-permission android:name="android.permission.INTERNET" /> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".rrr" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 


</manifest> 

有人能帮我指出我的错误吗?

+0

您在Logcat中遇到的错误是什么? – 2011-03-06 09:29:19

+0

你为什么不粘贴错误日志?这里面有实际的错误,并且会指向某处(比如nullpointerexception?)发生的地方。 – Nanne 2011-03-06 09:29:40

回答

1

由于您正在UI线程上进行网络访问,因此您的活动可能与Application Not Responding对话框失败。

尝试使用AsyncTask

This question有一些示例代码和有关AsyncTask的链接。

+0

03-06 16:27:40.259:ERROR/dalvikvm(3252):无法打开堆栈跟踪文件'/data/anr/traces.txt':权限被拒绝 03-06 16:30:04.759:ERROR/AndroidRuntime( 3316):错误:线程挂接失败 03-06 16:30:06.910:错误/ AndroidRuntime(3329):错误:线程挂接失败 03-06 16:30:06.910:错误/ AndroidRuntime(3335):未捕获的处理程序:线程主要由于未捕获的异常而退出.......等..... 03-06 16:30:06.910:错误/ AndroidRuntime(3335):... 14更多 03-06 16:30: 06.910:错误/ dalvikvm(3335):无法打开堆栈跟踪文件'/data/anr/traces.txt':权限被拒绝 – 2011-03-06 11:07:53

0

非常感谢大家..

如果我们增加两个文件作为外部JAR文件问题被解决..

两个文件位于GDATA客户SRC的“DEPS”文件夹.. named:google-collect-1.0-rc1.jar & jsr305.jar