2017-06-03 51 views
0

我試圖創建AndroidAnnotations一個簡單的學習項目,該項目將與REST調用工作。我跟着這個教程
https://github.com/androidannotations/androidannotations/wiki/Rest-API#rest的Android + AndroidAnnotations REST API

但沒有運氣。項目成功生成,但在運行時,我的@RestService總是空,我無法得到它的工作。

這裏是我的結構看起來像:

的build.gradle
應用插件: 'com.android.application'

def AAVersion = '4.3.0' 
dependencies { 
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion" 
    compile "org.androidannotations:androidannotations-api:$AAVersion" 
    compile "org.androidannotations:rest-spring-api:$AAVersion" 
    compile 'com.fasterxml.jackson.core:jackson-core:2.7.2' 
    compile 'org.springframework.android:spring-android-rest-template:2.0.0.M3' 
} 

接口(單獨的文件):

@Rest(rootUrl = "https://api.github.com", converters = {StringHttpMessageConverter.class}) 
public interface GithubClient { 

    @Get("/search/repositories?q={searchString}") 
    GitResult getResult(@Path String searchString); 

} 

MainActivity:

public class MainActivity extends AppCompatActivity { 

    @RestService 
    GithubClient restClient; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Click(R.id.btn_Request) 
    void requestCall(){ 
     searchAsync(); 
    } 

    @Background 
    void searchAsync(){ 
     try { 
      GitResult result = restClient.getResult("angular"); 
     } catch (RestClientException e){ 
      Log.e("Rest error",e.toString()); 
     } 

    } 
} 

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.com.githubbrowser"> 
    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity_"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

我失去了任何包,或者我究竟做錯了什麼?任何幫助或建議將高度讚賞。

回答

1

所以,問題是,我是缺少以下依賴下的build.gradle

compile "org.androidannotations:rest-spring:$AAVersion" 
compile 'com.fasterxml.jackson.core:jackson-databind:2.3.2'