Skip to content

Commit b65de9c

Browse files
update README
1 parent c473e67 commit b65de9c

File tree

1 file changed

+35
-10
lines changed

1 file changed

+35
-10
lines changed

README.md

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ A easy to use api client that combines the power of Retrofit, Realm, Gson, Rxjav
44
#####Add to build.gradle
55

66
```
7-
compile 'io.fabianterhorst:apiclient:0.2'
7+
compile 'io.fabianterhorst:apiclient:0.3'
8+
compile 'io.fabianterhorst:apiclient-accountmanager:0.1'
89
compile 'io.fabianterhorst:apiclient-components:0.1'
910
```
1011

@@ -19,8 +20,8 @@ public class Twitter extends ApiClient<TwitterApi> implements TwitterApi {
1920
super(realm, TwitterApi.PARAM_API_KEY, apiKey, TwitterApi.class, TwitterApi.END_POINT);
2021
}
2122
22-
public static void init(Realm realm, String apiKey) {
23-
init(new Twitter(realm, apiKey));
23+
public static void init(String apiKey) {
24+
init(new Twitter(apiKey));
2425
}
2526
2627
@Override
@@ -62,8 +63,11 @@ public class MyApplication extends Application {
6263
@Override
6364
public void onCreate() {
6465
super.onCreate();
65-
Realm realm = Realm.getInstance(this);
66-
Twitter.init(realm, "0123456789");
66+
RealmConfiguration config = new RealmConfiguration.Builder(this)
67+
.deleteRealmIfMigrationNeeded()
68+
.build();
69+
Realm.setDefaultConfiguration(config);
70+
Twitter.init("0123456789");
6771
}
6872
}
6973
```
@@ -99,10 +103,10 @@ You can override the gson builder inside your api class and add custom deseriali
99103
```
100104
@Override
101105
public GsonBuilder getGsonBuilder(GsonBuilder gsonBuilder) {
102-
registerRemoveNullListSerializer(gsonBuilder, new TypeToken<RealmList<MyFirstObject>>() {}, MyFirstObject.class)
103-
.registerRemoveNullListSerializer(gsonBuilder, new TypeToken<RealmList<MySecondObject>>() {}, MySecondObject.class)
104-
.registerRemoveNullListSerializer(gsonBuilder, new TypeToken<RealmList<MyThirdObject>>() {}, MyThirdObject.class);
105-
return gsonBuilder;
106+
GsonUtils.registerRemoveNullListSerializer(gsonBuilder, new TypeToken<RealmList<MyFirstObject>>() {}, MyFirstObject.class);
107+
GsonUtils.registerRemoveNullListSerializer(gsonBuilder, new TypeToken<RealmList<MySecondObject>>() {}, MySecondObject.class);
108+
GsonUtils.registerRemoveNullListSerializer(gsonBuilder, new TypeToken<RealmList<MyThirdObject>>() {}, MyThirdObject.class);
109+
return gsonBuilder;
106110
}
107111
```
108112

@@ -121,7 +125,28 @@ You can override the ```getHttpUrlBuilder(HttpUrl.Builder builder)``` method fro
121125
```
122126
@Override
123127
public HttpUrl.Builder getHttpUrlBuilder(HttpUrl.Builder builder) {
124-
return super.getHttpUrlBuilder(builder).addQueryParameter("lang", Locale.getDefault().getLanguage());
128+
return addQueryParameter("lang", Locale.getDefault().getLanguage());
129+
}
130+
```
131+
132+
#####How to use a authentication
133+
134+
The easiest way is to use the AuthUtils to add a authentication via the request builder for post parameters and headers or the http url builder for query parameter
135+
136+
myurl.com/api
137+
```
138+
@Override
139+
public Request.Builder getRequestBuilder(Request.Builder builder) {
140+
return AuthUtils.addDefaultAuthentication(builder, getApiKey());
141+
}
142+
```
143+
144+
myurl.com/api?apiKey=012345
145+
```
146+
@Override
147+
public HttpUrl.Builder getHttpUrlBuilder(HttpUrl.Builder builder) {
148+
AuthUtils.addDefaultAuthentication(builder, "apiKey", getApiKey());
149+
return builder.addQueryParameter("lang", Locale.getDefault().getLanguage());
125150
}
126151
```
127152

0 commit comments

Comments
 (0)