Skip to content

Commit a1d9a66

Browse files
committed
完成帖子点赞
1 parent ac78311 commit a1d9a66

File tree

5 files changed

+72
-1
lines changed

5 files changed

+72
-1
lines changed

app/src/main/java/com/testerhome/nativeandroid/Config.java

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ public class Config {
1919
public static final String FOLLOW = "Follow";
2020
public static final String TOPIC = "Topic";
2121

22+
public static final String PRAISE_TOPIC = "topic";
23+
public static final String PRAISE_REPLY = "reply";
24+
2225
public static String getImageUrl(String imagePath){
2326
if(!imagePath.contains("https://testerhome.com")){
2427
return "https://testerhome.com".concat(imagePath);

app/src/main/java/com/testerhome/nativeandroid/fragments/TopicDetailFragment.java

+24
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.testerhome.nativeandroid.R;
1616
import com.testerhome.nativeandroid.auth.TesterHomeAccountService;
1717
import com.testerhome.nativeandroid.models.CollectTopicResonse;
18+
import com.testerhome.nativeandroid.models.PraiseEntity;
1819
import com.testerhome.nativeandroid.models.TesterUser;
1920
import com.testerhome.nativeandroid.models.TopicDetailEntity;
2021
import com.testerhome.nativeandroid.models.TopicDetailResponse;
@@ -57,6 +58,8 @@ public class TopicDetailFragment extends BaseFragment {
5758

5859
@Bind(R.id.tv_detail_collect)
5960
TextView tvDetailCollect;
61+
@Bind(R.id.tv_detail_praise)
62+
TextView tvDetailPraise;
6063

6164
public static TopicDetailFragment newInstance(String topicId) {
6265
Bundle args = new Bundle();
@@ -157,4 +160,25 @@ public void failure(RetrofitError error) {
157160
});
158161

159162
}
163+
164+
165+
@OnClick(R.id.tv_detail_praise)
166+
void onDetailPraiseClick() {
167+
if (mCurrentUser == null) {
168+
mCurrentUser = TesterHomeAccountService.getInstance(getActivity()).getActiveAccountInfo();
169+
}
170+
TesterHomeApi.getInstance().getTopicsService().praiseTopic(Config.PRAISE_TOPIC, mTopicId, mCurrentUser.getAccess_token(), new Callback<PraiseEntity>() {
171+
@Override
172+
public void success(PraiseEntity praiseEntity, Response response) {
173+
Toast.makeText(getActivity(), "点赞成功", Toast.LENGTH_SHORT).show();
174+
tvDetailPraise.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_heart_red, 0, 0, 0);
175+
}
176+
177+
@Override
178+
public void failure(RetrofitError error) {
179+
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
180+
}
181+
});
182+
183+
}
160184
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.testerhome.nativeandroid.models;
2+
3+
/**
4+
* Created by cvtpc on 2015/10/24.
5+
*/
6+
public class PraiseEntity {
7+
8+
private String obj_type;
9+
private String obj_id;
10+
private String count;
11+
12+
public String getObj_type() {
13+
return obj_type;
14+
}
15+
16+
public void setObj_type(String obj_type) {
17+
this.obj_type = obj_type;
18+
}
19+
20+
public String getObj_id() {
21+
return obj_id;
22+
}
23+
24+
public void setObj_id(String obj_id) {
25+
this.obj_id = obj_id;
26+
}
27+
28+
public String getCount() {
29+
return count;
30+
}
31+
32+
public void setCount(String count) {
33+
this.count = count;
34+
}
35+
}

app/src/main/java/com/testerhome/nativeandroid/networks/TopicsService.java

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.testerhome.nativeandroid.models.CollectTopicResonse;
44
import com.testerhome.nativeandroid.models.CreateReplyResponse;
55
import com.testerhome.nativeandroid.models.NotificationResponse;
6+
import com.testerhome.nativeandroid.models.PraiseEntity;
67
import com.testerhome.nativeandroid.models.TopicDetailResponse;
78
import com.testerhome.nativeandroid.models.TopicReplyResponse;
89
import com.testerhome.nativeandroid.models.TopicsResponse;
@@ -79,4 +80,10 @@ void createReply(@Path("id") String id,
7980
void collectTopic(@Path("id") String id,
8081
@Query("access_token") String accessToken,
8182
Callback<CollectTopicResonse> callback);
83+
84+
@POST("/likes.json")
85+
void praiseTopic(@Query("obj_type") String objType,
86+
@Query("obj_id") String objId,
87+
@Query("access_token") String accessToken,
88+
Callback<PraiseEntity> callback);
8289
}

app/src/main/java/com/testerhome/nativeandroid/views/WebViewActivity.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.os.AsyncTask;
55
import android.os.Bundle;
66
import android.util.Log;
7+
import android.view.View;
78
import android.webkit.WebView;
89
import android.webkit.WebViewClient;
910
import android.widget.FrameLayout;
@@ -43,7 +44,7 @@ protected void onCreate(Bundle savedInstanceState) {
4344

4445
FrameLayout layout = (FrameLayout) findViewById(R.id.container);
4546

46-
WebView mWebView = new WebView(this);
47+
final WebView mWebView = new WebView(this);
4748

4849
layout.addView(mWebView);
4950

@@ -64,6 +65,7 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
6465
}
6566
} else if (url.equals(AuthenticationService.HTTPS_BASEURL)) {
6667
url = AuthenticationService.getAuthorizationUrl();
68+
mWebView.setVisibility(View.INVISIBLE);
6769
}
6870
// return super.shouldOverrideUrlLoading(view, url);
6971
view.loadUrl(url);

0 commit comments

Comments
 (0)