diff --git a/.gitignore b/.gitignore
index 9c4de58..fa7164b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,8 @@
.gradle
/local.properties
-/.idea/workspace.xml
-/.idea/libraries
+.idea/workspace.xml
+.idea/libraries
.DS_Store
+app/app.iml
/build
/captures
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
index ffb8748..837e8d0 100644
--- a/.idea/codeStyleSettings.xml
+++ b/.idea/codeStyleSettings.xml
@@ -34,6 +34,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -43,155 +71,7 @@
-
-
-
-
-
- xmlns:android
- Namespace:
-
-
-
-
-
-
-
-
- xmlns:.*
- Namespace:
-
-
- BY_NAME
-
-
-
-
-
-
- .*:id
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- .*:name
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- name
- ^$
-
-
-
-
-
-
-
-
- style
- ^$
-
-
-
-
-
-
-
-
- .*
- ^$
-
-
- BY_NAME
-
-
-
-
-
-
- .*:layout_width
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- .*:layout_height
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- .*:layout_.*
- http://schemas.android.com/apk/res/android
-
-
- BY_NAME
-
-
-
-
-
-
- .*:width
- http://schemas.android.com/apk/res/android
-
-
- BY_NAME
-
-
-
-
-
-
- .*:height
- http://schemas.android.com/apk/res/android
-
-
- BY_NAME
-
-
-
-
-
-
- .*
- http://schemas.android.com/apk/res/android
-
-
- BY_NAME
-
-
-
-
-
-
- .*
- .*
-
-
- BY_NAME
-
-
-
+
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 9a8b7e5..217af47 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -19,4 +19,5 @@
-
\ No newline at end of file
+
+
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..f758959
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index bd4202c..680bb89 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -5,14 +5,20 @@
-
-
+
+
+
+
+
+
+
+
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index fc802a4..a6bf566 100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index c77a17d..e676a74 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
@@ -58,4 +58,5 @@
-
\ No newline at end of file
+
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 55c6b7d..ba7f747 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -6,4 +6,5 @@
-
\ No newline at end of file
+
+
diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml
new file mode 100644
index 0000000..922003b
--- /dev/null
+++ b/.idea/scopes/scope_settings.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 6564d52..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/app.iml b/app/app.iml
index 4b7c8ae..d0164d0 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -12,10 +12,7 @@
-
-
- generateDebugAndroidTestSources
generateDebugSources
@@ -28,7 +25,7 @@
-
+
@@ -36,13 +33,13 @@
-
+
-
+
@@ -50,6 +47,13 @@
+
+
+
+
+
+
+
@@ -65,17 +69,23 @@
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
@@ -89,61 +99,61 @@
+
-
-
-
-
-
+
-
+
+
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
+
-
-
-
-
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 014f468..2eda645 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,7 +6,7 @@ def releaseTime() {
android {
compileSdkVersion 22
- buildToolsVersion "22.0.1"
+ buildToolsVersion '23.0.2'
defaultConfig {
applicationId "org.iflab.wecentermobileandroidrestructure"
@@ -26,7 +26,8 @@ android {
buildTypes {
release {
- minifyEnabled false
+ minifyEnabled true
+ shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
buildConfigField "boolean", "ISRELEASE", "true"
@@ -43,15 +44,32 @@ android {
}
}
}
+ zipAlignEnabled true
+ }
+ debug {
+ zipAlignEnabled true
}
}
sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/res/assets'] } }
}
+
+
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- compile 'com.android.support:appcompat-v7:22.2.0'
- compile 'com.android.support:design:22.2.0'
+ compile files('libs/volley.jar')
+ compile files('src/main/libs/httpmime-4.1.3.jar')
+ compile files('src/main/libs/SocialSDK_QQZone_1.jar')
+ compile files('src/main/libs/SocialSDK_QQZone_2.jar')
+ compile files('src/main/libs/SocialSDK_QQZone_3.jar')
+ compile files('src/main/libs/SocialSDK_Sina.jar')
+ compile files('src/main/libs/SocialSDK_WeiXin_1.jar')
+ compile files('src/main/libs/SocialSDK_WeiXin_2.jar')
+ compile files('src/main/libs/umeng_social_sdk.jar')
+ debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
+ releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
+ compile 'com.android.support:appcompat-v7:22.2.1'
+ compile 'com.android.support:design:22.2.1'
compile 'com.github.qiujuer:genius:2.4.1'
compile 'com.facebook.shimmer:shimmer:0.1.0@aar'
compile 'de.hdodenhof:circleimageview:1.3.0'
@@ -60,7 +78,7 @@ dependencies {
compile 'org.litepal.android:core:1.2.0'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
- compile 'com.android.support:recyclerview-v7:22.2.0'
+ compile 'com.android.support:recyclerview-v7:22.2.1'
compile 'com.orhanobut:hawk:1.14'
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.1.0'
compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
@@ -69,16 +87,7 @@ dependencies {
compile 'com.github.chrisbanes.photoview:library:1.2.3'
compile 'com.google.code.gson:gson:2.3'
compile 'com.marshalchen.ultimaterecyclerview:library:0.3.9'
- compile files('libs/volley.jar')
+ compile 'me.imid.swipebacklayout.lib:library:1.0.0'
compile 'com.jakewharton:butterknife:7.0.1'
- compile files('src/main/libs/httpmime-4.1.3.jar')
- compile files('src/main/libs/SocialSDK_QQZone_1.jar')
- compile files('src/main/libs/SocialSDK_QQZone_2.jar')
- compile files('src/main/libs/SocialSDK_QQZone_3.jar')
- compile files('src/main/libs/SocialSDK_Sina.jar')
- compile files('src/main/libs/SocialSDK_WeiXin_1.jar')
- compile files('src/main/libs/SocialSDK_WeiXin_2.jar')
- compile files('src/main/libs/umeng_social_sdk.jar')
- debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
- releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
+ compile 'com.android.support:support-v4:22.2.1'
}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index b40dc1f..8753de1 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -15,3 +15,83 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
+
+-keep class org.iflab.wecentermobileandroidrestructure.model.** { *; }
+
+-keep class butterknife.** { *; }
+-dontwarn butterknife.internal.**
+-keep class **$$ViewBinder { *; }
+
+-keepclasseswithmembernames class * {
+ @butterknife.* ;
+}
+
+-keepclasseswithmembernames class * {
+ @butterknife.* ;
+}
+-dontwarn com.squareup.**
+-keep class com.squareup.** { *; }
+
+-dontwarn com.octo.**
+-keep class com.octo.** { *; }
+
+-dontwarn com.dd.**
+-keep class com.dd.** { *; }
+
+-dontwarn com.facebook.shimmer.**
+-keep class com.facebook.shimmer.** { *; }
+
+-dontwarn com.marshalchen.ultimaterecycelrview.**
+-keep class com.marshalchen.ultimaterecycelrview.** { *; }
+
+-dontwarn com.melnykov.fab.**
+-keep class com.melnykov.fab.** { *; }
+
+-dontwarn com.me.**
+-keep class com.me.** { *; }
+
+-dontwarn com.loopj.**
+-keep class com.loopj.** { *; }
+
+-dontwarn com.google.**
+-keep class com.google.** { *; }
+
+-dontwarn de.**
+-keep class de.** { *; }
+
+-dontwarn javax.**
+-keep class javax.** { *; }
+
+-dontwarn org.**
+-keep class org.** { *; }
+
+-dontwarn net.**
+-keep class net.** { *; }
+
+-dontwarn u.aly.**
+-keep class u.aly.** { *; }
+
+-dontwarn uk.**
+-keep class uk.** { *; }
+
+-dontwarn in.**
+-keep class in.** { *; }
+
+-dontwarn fr.**
+-keep class fr.** { *; }
+
+-dontwarn uk.**
+-keep class uk.** { *; }
+
+-keep class com.tencent.mm.sdk.** {
+ *;
+}
+
+-keep class com.sina.** { *; }
+
+-keepattributes SourceFile,LineNumberTable
+
+-keep class android.** { *; }
+-keep class com.google.gson.** { *; }
+-keepattributes Signature
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9acc169..39b091a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,6 @@
+ package="org.iflab.wecentermobileandroidrestructure">
@@ -15,68 +15,80 @@
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
- android:theme="@style/AppTheme" >
+ android:theme="@style/AppTheme">
+ android:screenOrientation="portrait"
+ android:theme="@style/LoginAndRegister">
+
+
-
-
-
+
-
+ android:label="@string/title_activity_question_detail"
+ android:screenOrientation="portrait">
-
+ android:label="@string/title_activity_article"
+ android:screenOrientation="portrait">
-
+ android:label="@string/title_activity_topics"
+ android:screenOrientation="portrait">
-
+ android:label="@string/title_activity_question_answer"
+ android:screenOrientation="portrait"
+ android:theme="@style/AppTheme">
-
+ android:label="@string/title_activity_answer_comment">
-
-
-
+ android:label="@string/title_activity_personal_question"
+ android:screenOrientation="portrait">
+
-
-
-
-
-
+ android:label="@string/title_activity_personal_answer"
+ android:screenOrientation="portrait">
+
+
@@ -94,7 +107,7 @@
+ android:noHistory="true">
@@ -107,8 +120,7 @@
-
+ android:theme="@android:style/Theme.Translucent.NoTitleBar">
-
+ android:label="@string/title_activity_publish_question"
+ android:screenOrientation="portrait">
-
-
+ android:label="@string/title_activity_search"
+ android:screenOrientation="portrait">
+
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/AnswerCommentActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/AnswerCommentActivity.java
index cd2c584..58e3cc3 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/AnswerCommentActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/AnswerCommentActivity.java
@@ -1,9 +1,12 @@
package org.iflab.wecentermobileandroidrestructure.activity;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
+import android.support.v4.view.ViewCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
@@ -11,8 +14,13 @@
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
+import android.view.ViewTreeObserver;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.DecelerateInterpolator;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -29,33 +37,47 @@
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.article.ArticleComment;
import org.iflab.wecentermobileandroidrestructure.model.question.CommentInfo;
+import org.iflab.wecentermobileandroidrestructure.tools.DisplayUtil;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
-public class AnswerCommentActivity extends AppCompatActivity {
+import butterknife.Bind;
+import butterknife.ButterKnife;
+public class AnswerCommentActivity extends BaseActivity {
+ public static final String ARG_DRAWING_START_LOCATION = "arg_drawing_start_location";
Toolbar toolbar;
SwipeRefreshLayout refreshLayout;
RecyclerView recyclerView;
int answerID;
int articleID;
EditText commentEdt;
- List commentsList ;
- List articleComments;
+ ArticleComment articleComment;
CommentsAdapter commentsAdapter;
ArticleCommentsAdapter articleCommentsAdapter;
LinearLayoutManager linearLayoutManager;
InputMethodManager inputManager;
boolean isArticle;
int atUid = -1;
+ int drawingStartLocation;
+
+ @Bind(R.id.contentRoot)
+ FrameLayout contentRoot;
+
+ @Bind(R.id.llAddComment)
+ LinearLayout llAddComment;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_answer_comment);
+ ButterKnife.bind(this);
+ overridePendingTransition(0, 0);
answerID = getIntent().getIntExtra("answer_id", -1);
articleID = getIntent().getIntExtra("article_id",1);
@@ -63,18 +85,55 @@ protected void onCreate(Bundle savedInstanceState) {
setViews();
setToolBars();
+ drawingStartLocation = getIntent().getIntExtra(ARG_DRAWING_START_LOCATION, 0);
+ if (savedInstanceState == null) {
+ contentRoot.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ contentRoot.getViewTreeObserver().removeOnPreDrawListener(this);
+ startIntroAnimation();
+ return true;
+ }
+ });
+ }
+
if(answerID != -1){
- commentsList = new ArrayList<>();
loadData();
isArticle = false;
}else if(articleID != -1){
- articleComments = new ArrayList<>();
loadArticleData();
isArticle = true;
}
}
+ private void startIntroAnimation() {
+ ViewCompat.setElevation(toolbar, 0);
+ contentRoot.setScaleY(0.1f);
+ contentRoot.setPivotY(drawingStartLocation);
+ llAddComment.setTranslationY(200);
+
+ contentRoot.animate()
+ .scaleY(1)
+ .setDuration(200)
+ .setInterpolator(new AccelerateInterpolator())
+ .setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ ViewCompat.setElevation(toolbar, DisplayUtil.dip2px(getApplicationContext(),8));
+ animateContent();
+ }
+ })
+ .start();
+ }
+
+ private void animateContent() {
+ llAddComment.animate().translationY(0)
+ .setInterpolator(new DecelerateInterpolator())
+ .setDuration(200)
+ .start();
+ }
+
private void findViews() {
toolbar = (Toolbar)findViewById(R.id.toolbar);
@@ -126,18 +185,19 @@ public void commentOnClick(View view){
params.put("article_id",articleID);
url = RelativeUrl.PUBLISH_ARTICLE;
}else {
- url = RelativeUrl.UPLOAD_ANSWER + "?answer_id=" + answerID;
+ url = RelativeUrl.UPLOAD_ANSWER ;
+ params.put("answer_id",answerID);
}
if(atUid != -1){
params.put("at_uid",atUid);
}
params.put("message", message);
- Log.v("params", params.toString());
- AsyncHttpWecnter.loadData(AnswerCommentActivity.this, url, params, AsyncHttpWecnter.Request.Post, new NetWork() {
+
+ AsyncHttpWecnter.loadData(getApplicationContext(), url, params, AsyncHttpWecnter.Request.Post, new NetWork() {
@Override
public void parseJson(JSONObject response) {
- Log.v("addAnswer", response.toString());
+// Log.v("addAnswer", response.toString());
commentEdt.setText("");
refreshData();
recyclerView.smoothScrollBy(0, recyclerView.getHeight());
@@ -164,10 +224,8 @@ public void parseJson(JSONObject response) {
showNoComment();
}else {
Gson gson = new Gson();
- articleComments = gson.fromJson(response.getString("rows"),
- new TypeToken>() {
- }.getType());
- articleCommentsAdapter = new ArticleCommentsAdapter(AnswerCommentActivity.this, articleComments, new OnClickItemCallBack() {
+ articleComment = gson.fromJson(response.toString(),ArticleComment.class);
+ articleCommentsAdapter = new ArticleCommentsAdapter(AnswerCommentActivity.this, articleComment, new OnClickItemCallBack() {
@Override
public void clickItemCallBack(String userName,int userID) {
atUid = userID;
@@ -190,7 +248,7 @@ public void clickItemCallBack(String userName,int userID) {
@Override
public void finish() {
super.finish();
- refreshLayout.setRefreshing(false);
+ refreshLayout.setRefreshing (false);
}
});
@@ -199,29 +257,16 @@ public void finish() {
private void loadData() {
AsyncHttpWecnter.get(RelativeUrl.ANSWER_COMMENT, setParams(), new AsyncHttpResponseHandler() {
- String array;
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Gson gson = new Gson();
+ CommentInfo commentsList = gson.fromJson(new String(responseBody),CommentInfo.class);
- try {
- JSONObject obj = new JSONObject(new String(responseBody));
- Log.v("pbj", obj.toString());
- array = obj.getString("rsm");
- } catch (JSONException e) {
- e.printStackTrace();
- }
- Log.v("array", array);
- if (array.equals("{\"total_rows\":\"0\"}")) {
- showNoComment();
- } else {
- commentsList = gson.fromJson(array,
- new TypeToken>() {
- }.getType());
- commentsAdapter = new CommentsAdapter(AnswerCommentActivity.this, commentsList, new OnClickItemCallBack() {
+ if (commentsList.getRsm() != null) {
+ commentsAdapter = new CommentsAdapter(AnswerCommentActivity.this, commentsList.getRsm(), new OnClickItemCallBack() {
@Override
- public void clickItemCallBack(String userName,int userID) {
+ public void clickItemCallBack(String userName, int userID) {
atUid = userID;
commentEdt.setText("@" + userName + " ");
commentEdt.setFocusable(true);
@@ -232,8 +277,8 @@ public void clickItemCallBack(String userName,int userID) {
}
});
recyclerView.setAdapter(commentsAdapter);
- Log.v("commentsList", commentsList.toString());
}
+
}
@Override
@@ -248,6 +293,21 @@ public void onFinish() {
});
}
+ @Override
+ public void onBackPressed() {
+ ViewCompat.setElevation(toolbar, 0);
+ contentRoot.animate()
+ .translationY(DisplayUtil.getScreenHeight(this))
+ .setDuration(200)
+ .setListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ AnswerCommentActivity.super.onBackPressed();
+ }
+ })
+ .start();
+ }
+
private void showNoComment(){
final Snackbar snackbar = Snackbar.make(refreshLayout,"没有评论",Snackbar.LENGTH_SHORT);
snackbar.show();
@@ -261,12 +321,13 @@ public void onClick(View v) {
private RequestParams setParams(){
RequestParams params = new RequestParams();
- params.put("id",answerID);
+ params.put("answer_id",answerID);
return params;
}
private RequestParams setArticleParams(){
RequestParams params = new RequestParams();
params.put("id",articleID);
+ params.put("mobile_sign", MD5Transform.MD5("article"+AsyncHttpWecnter.SIGN));
return params;
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ArticleActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ArticleActivity.java
index 688ee8e..2103abb 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ArticleActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ArticleActivity.java
@@ -12,7 +12,9 @@
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton;
+import android.widget.RelativeLayout;
import android.widget.TextView;
+import android.widget.Toast;
import com.google.gson.Gson;
import com.loopj.android.http.AsyncHttpResponseHandler;
@@ -26,12 +28,14 @@
import org.iflab.wecentermobileandroidrestructure.common.NetWork;
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
+import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.model.article.ArticleInfo;
import org.iflab.wecentermobileandroidrestructure.model.personal.UserPersonal;
import org.iflab.wecentermobileandroidrestructure.tools.DisplayUtil;
import org.iflab.wecentermobileandroidrestructure.tools.FormHtmlAsyncTask;
import org.iflab.wecentermobileandroidrestructure.tools.HawkControl;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.iflab.wecentermobileandroidrestructure.tools.WecenterImageGetter;
import org.json.JSONException;
import org.json.JSONObject;
@@ -45,6 +49,7 @@ public class ArticleActivity extends ShareBaseActivity {
Toolbar toolbar;
SwipeRefreshLayout refreshLayout;
CircleImageView circleImageView;
+ RelativeLayout rel_top;
TextView userNameTextView;
TextView contentWebView;
TextView votesTextView;
@@ -53,6 +58,7 @@ public class ArticleActivity extends ShareBaseActivity {
ImageButton commentBtn;
CheckBox likeCheckBox;
CheckBox dislikeCheckBox;
+ boolean isOwner;
int articleID;
int voteValue;
public static Intent intent;
@@ -66,7 +72,6 @@ protected void onCreate(Bundle savedInstanceState) {
findViews();
setViews();
setToolBars();
- setListenter();
loadData();
}
@@ -84,6 +89,7 @@ private void findViews() {
commentBtn = (ImageButton) findViewById(R.id.btn_comment);
likeCheckBox = (CheckBox) findViewById(R.id.check_like);
dislikeCheckBox = (CheckBox) findViewById(R.id.check_dislike);
+ rel_top = (RelativeLayout)findViewById(R.id.rel_top);
}
public static void openArticle(Context context, int article_id) {
@@ -102,20 +108,40 @@ private void setViews() {
contentWebView.setPadding(5, 5, 5, 5);
}
- private void setListenter() {
+ private void setListenter(final int uid) {
likeCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
RequestParams params = new RequestParams();
@Override
- public void onCheckedChanged(CompoundButton compoundButton,final boolean b) {
+ public void onCheckedChanged(final CompoundButton compoundButton,final boolean b) {
+ if(!checkIsLogin(ArticleActivity.this)){
+ compoundButton.setChecked(false);
+ return;
+ }
+ if(isOwner){
+ compoundButton.setChecked(false);
+ Toast.makeText(getApplicationContext(),"不能对自己发表的文章进行投票",Toast.LENGTH_SHORT).show();
+ return;
+ }
dislikeCheckBox.setEnabled(!b);
- params.put("answer_id", articleID);
- params.put("value", 1);
+ params.put("item_id", articleID);
+ params.put("type","article");
+ params.put("rating", b ? 1:0);
- AsyncHttpWecnter.post(RelativeUrl.ANSWER_VOTE, params, new AsyncHttpResponseHandler() {
+ AsyncHttpWecnter.post(RelativeUrl.ARTICLE_VOTE, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+ try {
+ JSONObject obj = new JSONObject(new String(responseBody));
+ if(!obj.getString("err").equals("null")){
+ Toast.makeText(getApplicationContext(),obj.getString("err"),Toast.LENGTH_SHORT).show();
+ compoundButton.setChecked(false);
+ return;
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
voteValue = b ? voteValue + 1 : voteValue - 1;
votesTextView.setText(voteValue + "");
}
@@ -133,15 +159,36 @@ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Thr
RequestParams params = new RequestParams();
@Override
- public void onCheckedChanged(CompoundButton compoundButton, final boolean b) {
+ public void onCheckedChanged(final CompoundButton compoundButton, final boolean b) {
+ if(!checkIsLogin(ArticleActivity.this)){
+ compoundButton.setChecked(false);
+ return;
+ }
+ if(isOwner){
+ compoundButton.setChecked(false);
+ Toast.makeText(getApplicationContext(),"不能对自己发表的文章进行投票",Toast.LENGTH_SHORT).show();
+ return;
+ }
likeCheckBox.setEnabled(!b);
- params.put("answer_id", articleID);
- params.put("value", -1);
+ params.put("item_id", articleID);
+ params.put("type","article");
+ params.put("rating", b ? -1:0);
- AsyncHttpWecnter.post(RelativeUrl.ANSWER_VOTE, params, new AsyncHttpResponseHandler() {
+ AsyncHttpWecnter.post(RelativeUrl.ARTICLE_VOTE, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+
+ try {
+ JSONObject obj = new JSONObject(new String(responseBody));
+ if(!obj.getString("err").equals("null")){
+ Toast.makeText(getApplicationContext(),obj.getString("err"),Toast.LENGTH_SHORT).show();
+ compoundButton.setChecked(false);
+ return;
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
voteValue = b ? voteValue - 1 : voteValue + 1;
votesTextView.setText(voteValue + "");
}
@@ -154,6 +201,13 @@ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Thr
}
});
+
+ rel_top.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PersonalCenterActivity.openPersonalCenter(ArticleActivity.this,uid);
+ }
+ });
}
public void gotoShare(View view) {
@@ -161,6 +215,9 @@ public void gotoShare(View view) {
}
public void gotoComment(View view) {
+ if(!checkIsLogin(ArticleActivity.this)){
+ return;
+ }
Intent intent = new Intent(ArticleActivity.this,AnswerCommentActivity.class);
intent.putExtra("article_id", articleID);
startActivity(intent);
@@ -192,27 +249,34 @@ public void parseJson(JSONObject response) {
e.printStackTrace();
}
- userNameTextView.setText(artleInfo.getUser_name());
+ userNameTextView.setText(artleInfo.getUser_info().getUser_name());
(new FormHtmlAsyncTask(new WecenterImageGetter.Builder(ArticleActivity.this).padding(DisplayUtil.dip2px(ArticleActivity.this,20)).build(),contentWebView)).execute(artleInfo.getMessage());
- signatureTextView.setText(artleInfo.getSignature());
+ signatureTextView.setText(artleInfo.getUser_info().getSignature());
contentWebView.setBackgroundColor(getResources().getColor(R.color.bg_color_grey));
- ImageLoader.getInstance().displayImage(artleInfo.getAvatar_file(), circleImageView, ImageOptions.optionsImage);
- toolbar.setTitle(artleInfo.getArticleTitle());
+ ImageLoader.getInstance().displayImage(artleInfo.getUser_info().getAvatar_file(), circleImageView, ImageOptions.optionsImage);
+ toolbar.setTitle(artleInfo.getTitle());
-// setShareContent(artleInfo.getArticleTitle(),"http://iflab.org");
+ setShareContent(artleInfo.getTitle(),"http://www.fanfan.cn");
+
+ // isOwner ?
+ isOwner = artleInfo.getUser_info().getUid() == User.getLoginUser(getApplicationContext()).getUid();
if (artleInfo.getVotes() > -1) {
voteValue = artleInfo.getVotes();
votesTextView.setText(voteValue + "");
}
- if (artleInfo.getVote_value() == 1) {
- likeCheckBox.setChecked(true);
- dislikeCheckBox.setEnabled(false);
- } else if (artleInfo.getVote_value() == -1) {
- dislikeCheckBox.setChecked(true);
- likeCheckBox.setEnabled(false);
+ if(artleInfo.getVote_info() != null){
+ if (artleInfo.getVote_info().getRating() == 1) {
+ likeCheckBox.setChecked(true);
+ dislikeCheckBox.setEnabled(false);
+ } else if (artleInfo.getVote_info().getRating() == -1) {
+ dislikeCheckBox.setChecked(true);
+ likeCheckBox.setEnabled(false);
+ }
}
+ setListenter(artleInfo.getUser_info().getUid());
+
}
@Override
@@ -227,6 +291,7 @@ public void failure() {
private RequestParams setParams() {
RequestParams params = new RequestParams();
params.put("id",articleID);
+ params.put("mobile_sign", MD5Transform.MD5("article"+AsyncHttpWecnter.SIGN));
return params;
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/BaseActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/BaseActivity.java
index bc1f04d..1d0b147 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/BaseActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/BaseActivity.java
@@ -1,14 +1,20 @@
package org.iflab.wecentermobileandroidrestructure.activity;
+import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
import android.util.Log;
+import android.view.View;
import android.widget.Toast;
+import com.loopj.android.http.PersistentCookieStore;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.squareup.leakcanary.RefWatcher;
import org.iflab.wecentermobileandroidrestructure.application.WecenterApplication;
+import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.json.JSONException;
import org.json.JSONObject;
@@ -16,9 +22,11 @@
* Created by hcjcch on 15/5/15.
*/
public class BaseActivity extends AppCompatActivity {
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
}
/**
@@ -61,8 +69,36 @@ public void toastNo200() {
@Override
protected void onDestroy() {
super.onDestroy();
- RefWatcher refWatcher = WecenterApplication.getRefWatcher(getApplication());
- refWatcher.watch(this);
+// RefWatcher refWatcher = WecenterApplication.getRefWatcher(getApplication());
+// refWatcher.watch(this);
+ }
+
+ public void setUpToolBar(Toolbar toolBar){
+ if(toolBar != null) {
+ setSupportActionBar(toolBar);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ toolBar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+ }
+ }
+
+ public boolean checkIsLogin(Context context){
+ PersistentCookieStore myCookieStore = new PersistentCookieStore(getApplicationContext());
+ if (myCookieStore.getCookies().size() == 0) {
+ startActivity(new Intent(context, LoginActivity.class));
+ return false;
+ }
+ return true;
+ }
+
+ public boolean checkLoginStatus(){
+ PersistentCookieStore myCookieStore = new PersistentCookieStore(getApplicationContext());
+ return myCookieStore.getCookies().size() > 0;
}
@Override
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/LoginActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/LoginActivity.java
index ab5e2ca..129c419 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/LoginActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/LoginActivity.java
@@ -6,10 +6,16 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.os.Environment;
+import android.support.v7.widget.Toolbar;
+import android.util.Log;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.FrameLayout;
import android.widget.RelativeLayout;
+import android.widget.Toast;
import com.facebook.shimmer.ShimmerFrameLayout;
import com.loopj.android.http.AsyncHttpResponseHandler;
@@ -19,24 +25,37 @@
import net.qiujuer.genius.app.BlurKit;
import org.apache.http.Header;
+import org.apache.http.protocol.BasicHttpContext;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.SyncBasicHttpContext;
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.User;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONException;
import org.json.JSONObject;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+import fr.castorflex.android.circularprogressbar.CircularProgressBar;
+
/**
* Created by hcjcch on 15/5/15.
*/
public class LoginActivity extends BaseActivity {
- private RelativeLayout imageView;
- private ShimmerFrameLayout container;
+
+ public static int REGISTERCODE = 9;
private Button btnLogin;
private EditText userName;
private EditText passWord;
-
-
+ private Button btnRegister;
+ private Toolbar toolbar;
+ private CircularProgressBar progressBar;
+ Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -44,22 +63,21 @@ protected void onCreate(Bundle savedInstanceState) {
findViews();
setViews();
setListeners();
+
}
protected void findViews() {
- imageView = (RelativeLayout) findViewById(R.id.image_blur_jni_bitmap);
- container = (ShimmerFrameLayout) findViewById(R.id.shimmer_view_container);
btnLogin = (Button) findViewById(R.id.btn_login);
userName = (EditText) findViewById(R.id.edt_user_name);
passWord = (EditText) findViewById(R.id.edt_passwd);
+ btnRegister = (Button)findViewById(R.id.btn_register);
+ progressBar = (CircularProgressBar)findViewById(R.id.progress);
}
+
protected void setViews() {
- Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.login_background);
- bitmap = BlurKit.blurNatively(bitmap, 100, false);
- Drawable drawable = new BitmapDrawable(getResources(), bitmap);
- imageView.setBackground(drawable);
- container.startShimmerAnimation();
+ toolbar = (Toolbar)findViewById(R.id.toolbar);
+ setUpToolBar(toolbar);
}
protected void setListeners() {
@@ -69,42 +87,59 @@ public void onClick(View v) {
login();
}
});
+
+ btnRegister.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);
+ startActivityForResult(intent,REGISTERCODE);
+ }
+ });
}
private void login() {
String usernameString = userName.getText().toString();
- User user = User.getLoginUser(getApplicationContext());
-// usernameString = user.getUserName();
-// usernameString = "hc";
if (usernameString.equals("")) {
toast("用户名不能为空");
return;
}
String passWordString = passWord.getText().toString();
-// passWordString = "huahua";
if (passWordString.equals("")) {
toast("密码不能为空");
return;
}
- userName.setText(usernameString);
- passWord.setText(passWordString);
+// userName.setText(usernameString);
+// passWord.setText(passWordString);
RequestParams params = new RequestParams();
params.put("user_name", usernameString);
params.put("password", passWordString);
+
+ final PersistentCookieStore cookieStore = new PersistentCookieStore(getApplicationContext());
+ AsyncHttpWecnter.setCookieStore(cookieStore);
+
AsyncHttpWecnter.post(RelativeUrl.USER_LOGIN, params, new AsyncHttpResponseHandler() {
+ @Override
+ public void onStart() {
+ super.onStart();
+ progressBar.setVisibility(View.VISIBLE);
+ }
+
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String json = new String(responseBody);
boolean jsonProgress = jsonPreproccess(json);
- if (jsonProgress) return;
+ if (jsonProgress) {
+ cookieStore.clear();
+ return;
+ }
try {
JSONObject jsonObject = new JSONObject(new String(responseBody));
JSONObject rsm = jsonObject.getJSONObject("rsm");
User user = new User(rsm);
User.save(getApplicationContext(), user);
startActivity(new Intent(LoginActivity.this, WencenterActivity.class));
-// startActivity(new Intent(LoginActivity.this, QuestionDetailActivity.class));
+
finish();
} catch (JSONException e) {
e.printStackTrace();
@@ -114,8 +149,38 @@ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
+ cookieStore.clear();
+ if(responseBody == null){
+ Toast.makeText(getApplicationContext(), "请检查网络", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ Toast.makeText(getApplicationContext(), new String(responseBody), Toast.LENGTH_SHORT).show();
+ }
+ @Override
+ public void onFinish() {
+ super.onFinish();
+ progressBar.setVisibility(View.GONE);
}
});
}
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if(requestCode == REGISTERCODE){
+ if(data != null)
+ userName.setText(data.getStringExtra("user_name"));
+ }else
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
+ @Override
+ protected void onDestroy() {
+ if(bitmap != null){
+ if(!bitmap.isRecycled()){
+ bitmap.recycle();
+ }
+ }
+ super.onDestroy();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalAnswerActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalAnswerActivity.java
index 6f7b836..568d774 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalAnswerActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalAnswerActivity.java
@@ -23,12 +23,13 @@
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalAnswer;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalArticle;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalQuestion;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
-public class PersonalAnswerActivity extends AppCompatActivity {
+public class PersonalAnswerActivity extends SwipeBackBaseActivity {
private EndlessRecyclerOnScrollListener endlessRecyclerOnScrollListener;
private RecyclerView recyclerView;
@@ -52,6 +53,7 @@ protected void onCreate(Bundle savedInstanceState) {
userName = intent.getStringExtra("userName");
uid = intent.getIntExtra("uid", 4);
sign = intent.getStringExtra("sign");
+ avatar = intent.getStringExtra("avatar");
findViews();
setToolBar();
setViews();
@@ -59,7 +61,7 @@ protected void onCreate(Bundle savedInstanceState) {
}
private void setViews() {
- answerAdapter = new PersonalAnswerAdapter(sign, userName, data, this, uid+"");
+ answerAdapter = new PersonalAnswerAdapter(sign, userName, data, this, uid+"",avatar);
linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(answerAdapter);
@@ -70,6 +72,12 @@ public void onLoadMore(int current_page) {
}
};
recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ refreshData();
+ }
+ });
}
private void refreshData() {
@@ -87,15 +95,17 @@ private void loadMoreData() {
}
private void getData(int page) {
- AsyncHttpWecnter.loadData(this, RelativeUrl.PERSONAL_ANSWER, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
+ AsyncHttpWecnter.loadData(this, RelativeUrl.USER_ACTION, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
@Override
public void parseJson(JSONObject response) {
PersonalAnswer personalAnswer = (new Gson()).fromJson(response.toString(), PersonalAnswer.class);
- data.addAll(personalAnswer.getRows());
- answerAdapter.setData(data);
- if (Integer.parseInt(personalAnswer.getTotal_rows()) == data.size()) {
+ if (personalAnswer.getTotal_rows() == 0) {
loadMore = false;
+ }else {
+ data.addAll(personalAnswer.getRows());
+ answerAdapter.setData(data);
}
+
}
});
}
@@ -105,6 +115,8 @@ private RequestParams generateParams(int page) {
params.put("uid", uid);
params.put("page", page);
params.put("per_page", perPage);
+ params.put("actions","201");
+ params.put("mobile_sign", MD5Transform.MD5("people"+AsyncHttpWecnter.SIGN));
return params;
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalArticleActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalArticleActivity.java
index 728ca6c..a6a8401 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalArticleActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalArticleActivity.java
@@ -18,6 +18,7 @@
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.listener.EndlessRecyclerOnScrollListener;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalArticle;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONObject;
import java.util.ArrayList;
@@ -31,7 +32,7 @@
* @time 15/8/15 17:33
*/
-public class PersonalArticleActivity extends BaseActivity{
+public class PersonalArticleActivity extends SwipeBackBaseActivity{
private EndlessRecyclerOnScrollListener endlessRecyclerOnScrollListener;
private RecyclerView recyclerView;
private SwipeRefreshLayout refreshLayout;
@@ -74,6 +75,12 @@ public void onLoadMore(int current_page) {
}
};
recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ refreshData();
+ }
+ });
}
private void loadMoreData() {
@@ -91,15 +98,17 @@ private void refreshData() {
}
private void getData(int page) {
- AsyncHttpWecnter.loadData(PersonalArticleActivity.this, RelativeUrl.PERSONAL_ARTICLE, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
+ AsyncHttpWecnter.loadData(PersonalArticleActivity.this, RelativeUrl.USER_ACTION, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
@Override
public void parseJson(JSONObject response) {
PersonalArticle personalArticle = (new Gson()).fromJson(response.toString(), PersonalArticle.class);
- data.addAll(personalArticle.getRows());
- articleAdapter.setData(data);
- if (Integer.parseInt(personalArticle.getTotal_rows()) == data.size()) {
+ if (personalArticle.getTotal_rows() == 0) {
loadMore = false;
+ }else {
+ data.addAll(personalArticle.getRows());
+ articleAdapter.setData(data);
}
+ refreshLayout.setRefreshing(false);
}
});
}
@@ -109,8 +118,11 @@ private RequestParams generateParams(int page) {
params.put("uid", uid);
params.put("page", page);
params.put("per_page", perPage);
+ params.put("actions","501");
+ params.put("mobile_sign", MD5Transform.MD5("people"+AsyncHttpWecnter.SIGN));
return params;
}
+
private void setToolBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitleTextColor(getResources().getColor(R.color.white));
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterActivity.java
index 48ee942..f642a8f 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterActivity.java
@@ -6,25 +6,31 @@
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.Toolbar;
+import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.google.gson.Gson;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.apache.http.Header;
import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.common.NetWork;
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.User;
+import org.iflab.wecentermobileandroidrestructure.model.article.ArticleInfo;
+import org.iflab.wecentermobileandroidrestructure.model.personal.Person;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalFollowing;
import org.iflab.wecentermobileandroidrestructure.model.personal.UserPersonal;
import org.iflab.wecentermobileandroidrestructure.tools.HawkControl;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONException;
import org.json.JSONObject;
@@ -32,7 +38,7 @@
* Created by hcjcch on 15/5/21.
*/
-public class PersonalCenterActivity extends BaseActivity {
+public class PersonalCenterActivity extends BaseActivity implements View.OnClickListener{
public static final int EDIT = 1;
private SwipeRefreshLayout swipeRefreshLayout;
private TextView txt_motto;
@@ -50,33 +56,29 @@ public class PersonalCenterActivity extends BaseActivity {
private TextView attentionCount;
private TextView follower;
private TextView followerCount;
- private ImageView answerFavorite;
- private TextView answerFavoriteCount;
- private ImageView agree;
- private TextView agreeCount;
- private ImageView thanks;
- private TextView thanksCount;
- private ImageView hasFocus;
- private TextView hasFocusCount;
+// private ImageView answerFavorite;
+// private TextView answerFavoriteCount;
+// private ImageView agree;
+// private TextView agreeCount;
+// private ImageView thanks;
+// private TextView thanksCount;
+// private ImageView hasFocus;
+// private TextView hasFocusCount;
private int uid;
private TextView useredit;
- private Bundle bundle;
private boolean isOwner;
- private RelativeLayout rel_marz;
- private RelativeLayout relContainer;
private RelativeLayout in_ask_count, in_answer_count, in_article_count, in_topic_count, in_attention_count, in_follower_count;
- private UserPersonal user;
+ Person person;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_personal_center);
Intent intent = getIntent();
- bundle = intent.getExtras();
- uid = bundle.getInt("uid", -1);
+ uid = intent.getIntExtra("uid", -1);
isOwner = isMe(uid, User.getLoginUser(getApplicationContext()).getUid());
findViews();
- setViews();
+
setToolBar();
if (uid != -1) {
loadData();
@@ -84,13 +86,12 @@ protected void onCreate(Bundle savedInstanceState) {
//TODO 用户错误
}
+
}
public static void openPersonalCenter(Context context, int uid) {
Intent intent = new Intent();
- Bundle bundle = new Bundle();
- bundle.putInt("uid", uid);
- intent.putExtras(bundle);
+ intent.putExtra("uid",uid);
intent.setClass(context, PersonalCenterActivity.class);
context.startActivity(intent);
}
@@ -115,55 +116,52 @@ public void onClick(View v) {
}
private void findViews() {
- View.OnClickListener clickListener = new Click();
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swi_personal_center);
in_ask_count = (RelativeLayout) findViewById(R.id.in_ask_count);
- in_ask_count.setOnClickListener(clickListener);
+ in_ask_count.setOnClickListener(this);
askCount = (TextView) in_ask_count.findViewById(R.id.txt_ask_count);
ask = (TextView) in_ask_count.findViewById(R.id.txt_ask);
in_answer_count = (RelativeLayout) findViewById(R.id.in_answer_count);
- in_answer_count.setOnClickListener(clickListener);
+ in_answer_count.setOnClickListener(this);
answer = (TextView) in_answer_count.findViewById(R.id.txt_ask);
answerCount = (TextView) in_answer_count.findViewById(R.id.txt_ask_count);
in_article_count = (RelativeLayout) findViewById(R.id.in_article_count);
- in_article_count.setOnClickListener(clickListener);
+ in_article_count.setOnClickListener(this);
article = (TextView) in_article_count.findViewById(R.id.txt_ask);
articleCount = (TextView) in_article_count.findViewById(R.id.txt_ask_count);
in_topic_count = (RelativeLayout) findViewById(R.id.in_topic_count);
- in_topic_count.setOnClickListener(clickListener);
+ in_topic_count.setOnClickListener(this);
topic = (TextView) in_topic_count.findViewById(R.id.txt_ask);
topicCount = (TextView) in_topic_count.findViewById(R.id.txt_ask_count);
in_attention_count = (RelativeLayout) findViewById(R.id.in_attention_count);
- in_attention_count.setOnClickListener(clickListener);
+ in_attention_count.setOnClickListener(this);
attention = (TextView) in_attention_count.findViewById(R.id.txt_ask);
attentionCount = (TextView) in_attention_count.findViewById(R.id.txt_ask_count);
in_follower_count = (RelativeLayout) findViewById(R.id.in_follower_count);
- in_follower_count.setOnClickListener(clickListener);
+ in_follower_count.setOnClickListener(this);
follower = (TextView) in_follower_count.findViewById(R.id.txt_ask);
followerCount = (TextView) in_follower_count.findViewById(R.id.txt_ask_count);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.in_answer_favorite);
- answerFavorite = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
- answerFavoriteCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
- relativeLayout = (RelativeLayout) findViewById(R.id.in_agree);
- agree = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
- agreeCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
- relativeLayout = (RelativeLayout) findViewById(R.id.in_thanks);
- thanks = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
- thanksCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
- relativeLayout = (RelativeLayout) findViewById(R.id.in_focus);
- hasFocus = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
- hasFocusCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
+// answerFavorite = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
+// answerFavoriteCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
+// relativeLayout = (RelativeLayout) findViewById(R.id.in_agree);
+// agree = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
+// agreeCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
+// relativeLayout = (RelativeLayout) findViewById(R.id.in_thanks);
+// thanks = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
+// thanksCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
+// relativeLayout = (RelativeLayout) findViewById(R.id.in_focus);
+// hasFocus = (ImageView) relativeLayout.findViewById(R.id.img_answer_love);
+// hasFocusCount = (TextView) relativeLayout.findViewById(R.id.txt_answer_love_count);
useredit = (TextView) findViewById(R.id.txt_user_edit);
- rel_marz = (RelativeLayout) findViewById(R.id.rel_marz);
- relContainer = (RelativeLayout) findViewById(R.id.rel);
userImage = (ImageView) findViewById(R.id.img_user);
txt_motto = (TextView) findViewById(R.id.txt_motto);
txt_user_name = (TextView) findViewById(R.id.txt_user_name);
@@ -177,34 +175,54 @@ public void onRefresh() {
loadData();
}
});
- useredit.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent(PersonalCenterActivity.this, PersonalCenterEditActivity.class);
- intent.putExtra("bundle", bundle);
- startActivityForResult(intent, EDIT);
- }
- });
+ if(isOwner){
+ useredit.setText("修改信息");
+ useredit.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(PersonalCenterActivity.this, PersonalCenterEditActivity.class);
+ intent.putExtra("uid", uid);
+ startActivityForResult(intent, EDIT);
+ }
+ });
+ }else {
+ useredit.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ RequestParams params = new RequestParams();
+ params.put("uid",uid);
+ AsyncHttpWecnter.loadData(getApplicationContext(), RelativeUrl.FOLLOW_PEOPLE, params, AsyncHttpWecnter.Request.Post, new NetWork() {
+ @Override
+ public void parseJson(JSONObject response) {
+ try {
+ if(response.getString("type").equals("remove")){
+ useredit.setText("关注");
+ }else if(response.getString("type").equals("add")){
+ useredit.setText("已关注");
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+ });
+ }
+ });
+ }
ask.setText("提问");
- askCount.setText("4");
answer.setText("回答");
- answerCount.setText("0");
article.setText("文章");
- articleCount.setText("5");
topic.setText("话题");
- topicCount.setText("11");
attention.setText("关注中");
- attentionCount.setText("4");
follower.setText("追随者");
- followerCount.setText("1");
- answerFavorite.setImageDrawable(getResources().getDrawable(R.mipmap.love_icon));
- answerFavoriteCount.setText("0");
- agree.setImageDrawable(getResources().getDrawable(R.mipmap.like_icon));
- agreeCount.setText("0");
- thanks.setImageDrawable(getResources().getDrawable(R.mipmap.star_icon));
- thanksCount.setText("0");
- hasFocus.setImageDrawable(getResources().getDrawable(R.mipmap.tick_icon));
- hasFocusCount.setText("0");
+// answerFavorite.setImageDrawable(getResources().getDrawable(R.mipmap.love_icon));
+// answerFavoriteCount.setText("0");
+// agree.setImageDrawable(getResources().getDrawable(R.mipmap.like_icon));
+// agreeCount.setText("0");
+// thanks.setImageDrawable(getResources().getDrawable(R.mipmap.star_icon));
+// thanksCount.setText("0");
+// hasFocus.setImageDrawable(getResources().getDrawable(R.mipmap.tick_icon));
+// hasFocusCount.setText("0");
}
@Override
@@ -214,34 +232,50 @@ public boolean onCreateOptionsMenu(Menu menu) {
}
private void loadData() {
- AsyncHttpWecnter.get(RelativeUrl.USER_INFO, getParams(), new AsyncHttpResponseHandler() {
+ RequestParams params = new RequestParams();
+ params.put("uid", uid);
+ params.put("mobile_sign", MD5Transform.MD5("account"+AsyncHttpWecnter.SIGN));
+
+ AsyncHttpWecnter.get(RelativeUrl.USER_INFO, params, new AsyncHttpResponseHandler() {
+
@Override
public void onStart() {
- relContainer.setEnabled(false);
super.onStart();
+ swipeRefreshLayout.setRefreshing(true);
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
- String json = new String(responseBody);
- boolean jsonProgress = jsonPreproccess(json);
- if (jsonProgress) return;
- try {
- JSONObject jsonObject = new JSONObject(new String(responseBody));
- JSONObject rsm = jsonObject.getJSONObject("rsm");
- user = new UserPersonal(rsm);
- txt_motto.setText(user.getSignature());
- txt_user_name.setText(user.getUser_name());
- HawkControl.saveUserCount(user);
- setData(user);
- if (isOwner) {
- User userSharePre = User.getLoginUser(PersonalCenterActivity.this);
- userSharePre.setSignNature(user.getSignature());
- User.save(PersonalCenterActivity.this,userSharePre);
+ Gson gson = new Gson();
+ person = gson.fromJson(new String(responseBody), Person.class);
+ if(person.getRsm()!= null){
+ if(isOwner){
+ if(User.getLoginUser(getApplicationContext()).getSignNature() == null){
+ User.setOwnerSign(getApplicationContext(),person.getRsm().getSignature());
+ }
+ }
+ txt_motto.setText(person.getRsm().getSignature());
+ txt_user_name.setText(person.getRsm().getUser_name());
+
+// answerFavoriteCount.setText(person.getRsm().getAnswer_favorite_count() + "");
+// agreeCount.setText(person.getRsm().getAgree_count() + "");
+// thanksCount.setText(person.getRsm().getThanks_count() + "");
+ askCount.setText(person.getRsm().getQuestion_count() + "");
+ answerCount.setText(person.getRsm().getAnswer_count() + "");
+ articleCount.setText(person.getRsm().getArticle_count() + "");
+ topicCount.setText(person.getRsm().getTopic_focus_count() + "");
+ attentionCount.setText(person.getRsm().getFriend_count() + "");
+ followerCount.setText(person.getRsm().getFans_count() + "");
+ ImageLoader.getInstance().displayImage(person.getRsm().getAvatar_file(), userImage, ImageOptions.optionsImagePersonalDetailAvatar);
+
+ if(person.getRsm().getHas_focus()== 1){
+ useredit.setText("已关注");
+
+ }else if(person.getRsm().getHas_focus()== 0){
+ useredit.setText("关注");
}
- } catch (JSONException e) {
- e.printStackTrace();
}
+
}
@Override
@@ -251,91 +285,70 @@ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Thr
@Override
public void onFinish() {
- rel_marz.setVisibility(View.GONE);
- relContainer.setEnabled(true);
swipeRefreshLayout.setRefreshing(false);
+ setViews();
super.onFinish();
}
});
}
- private RequestParams getParams() {
- RequestParams params = new RequestParams();
- params.put("uid", uid);
- return params;
- }
@Override
protected void onRestart() {
super.onRestart();
}
- private void setData(UserPersonal user) {
- answerFavoriteCount.setText(user.getAnswer_favorite_count() + "");
- agreeCount.setText(user.getAgree_count() + "");
- thanksCount.setText(user.getThanks_count() + "");
- hasFocusCount.setText(user.getHas_focus() + "");
- askCount.setText(user.getQuestion_count() + "");
- answerCount.setText(user.getAnswer_count() + "");
- articleCount.setText(user.getArticle_count() + "");
- topicCount.setText(user.getTopic_focus_count() + "");
- attentionCount.setText(user.getFriend_count() + "");
- followerCount.setText(user.getFans_count() + "");
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + user.getAvatar_file(), userImage, ImageOptions.optionsImagePersonalDetailAvatar);
-
- }
-
- class Click implements View.OnClickListener {
-
+
@Override
public void onClick(View v) {
Intent intent = new Intent();
switch (v.getId()) {
case R.id.in_ask_count:
intent.setClass(PersonalCenterActivity.this, PersonalQuestionActivity.class);
- intent.putExtra("userName", user.getUser_name());
+ intent.putExtra("userName", person.getRsm().getUser_name());
intent.putExtra("uid", uid);
- intent.putExtra("avatar", user.getAvatar_file());
+ intent.putExtra("avatar", person.getRsm().getAvatar_file());
startActivity(intent);
break;
case R.id.in_article_count:
intent.setClass(PersonalCenterActivity.this, PersonalArticleActivity.class);
- intent.putExtra("userName", user.getUser_name());
+ intent.putExtra("userName", person.getRsm().getUser_name());
intent.putExtra("uid", uid);
- intent.putExtra("avatar", user.getAvatar_file());
+ intent.putExtra("avatar", person.getRsm().getAvatar_file());
startActivity(intent);
break;
case R.id.in_answer_count:
intent.setClass(PersonalCenterActivity.this, PersonalAnswerActivity.class);
- intent.putExtra("userName", user.getUser_name());
+ intent.putExtra("userName", person.getRsm().getUser_name());
intent.putExtra("uid", uid);
- intent.putExtra("avatar", user.getAvatar_file());
- intent.putExtra("sign", user.getSignature());
+ intent.putExtra("avatar", person.getRsm().getAvatar_file());
+ intent.putExtra("sign", person.getRsm().getSignature());
startActivity(intent);
break;
case R.id.in_topic_count:
intent.setClass(PersonalCenterActivity.this, PersonalTopicActivity.class);
- intent.putExtra("userName", user.getUser_name());
+ intent.putExtra("userName", person.getRsm().getUser_name());
intent.putExtra("uid", uid);
+ intent.putExtra("avatar", person.getRsm().getAvatar_file());
startActivity(intent);
break;
case R.id.in_attention_count:
intent.setClass(PersonalCenterActivity.this, PersonalFollowingActivity.class);
- intent.putExtra("userName", user.getUser_name());
+ intent.putExtra("userName", person.getRsm().getUser_name());
intent.putExtra("uid", uid);
intent.putExtra("type", PersonalFollowingActivity.FOLLOWING);
startActivity(intent);
break;
case R.id.in_follower_count:
intent.setClass(PersonalCenterActivity.this, PersonalFollowingActivity.class);
- intent.putExtra("userName", user.getUser_name());
+ intent.putExtra("userName", person.getRsm().getUser_name());
intent.putExtra("uid", uid);
- intent.putExtra("type", PersonalFollowingActivity.FOLLOWER);
+ intent.putExtra("type", PersonalFollowingActivity.FAN);
startActivity(intent);
break;
}
}
- }
+
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterEditActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterEditActivity.java
index ccb6f10..937c84d 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterEditActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalCenterEditActivity.java
@@ -50,7 +50,7 @@
* Created by hcjcch on 15/6/6.
*/
-public class PersonalCenterEditActivity extends BaseActivity {
+public class PersonalCenterEditActivity extends SwipeBackBaseActivity {
private Uri fileUri;
private final int RESULT_REQUEST_PHOTO = 1005;
@@ -61,7 +61,6 @@ public class PersonalCenterEditActivity extends BaseActivity {
private TextView birthDaySelect;
private Calendar calendar;
private TextView txtMale;
- private Bundle bundle;
private Intent intent;
private RadioGroup radioGroup;
private RadioButton radioMale;
@@ -82,7 +81,6 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_personal_center_edit);
calendar = Calendar.getInstance();
intent = getIntent();
- bundle = intent.getBundleExtra("bundle");
user = User.getLoginUser(getApplicationContext());
setToolBar();
findViews();
@@ -109,7 +107,7 @@ private void findViews() {
private void setViews() {
//设置用户头像
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + user.getAvatarFile(), imgUser);
+ ImageLoader.getInstance().displayImage(user.getAvatarFile(), imgUser);
userImageSelect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -215,7 +213,7 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String filePath = Global.getPath(this, fileCropUri);
ImageLoader.getInstance().displayImage(ImageInfo.pathAddPreFix(filePath), imgUser, PhotoPickActivity.optionsImage);
if (filePath == null) {
- Toast.makeText(PersonalCenterEditActivity.this, "文件失剪裁败", Toast.LENGTH_SHORT).show();
+ Toast.makeText(PersonalCenterEditActivity.this, "文件剪裁失败", Toast.LENGTH_SHORT).show();
return;
}
File file = new File(filePath);
@@ -261,8 +259,9 @@ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
JSONObject rsm = jsonObject.getJSONObject("rsm");
String priview = rsm.getString("preview");
if (priview != null) {
- //TODO 上传成功
+ User.setOwnerAvatar(getApplicationContext(),priview);
Toast.makeText(getApplicationContext(), "上传成功", Toast.LENGTH_SHORT).show();
+ startActivity(new Intent(PersonalCenterEditActivity.this,WencenterActivity.class));
}
} catch (JSONException e) {
e.printStackTrace();
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalFollowingActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalFollowingActivity.java
index cdb0e7c..410d1ed 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalFollowingActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalFollowingActivity.java
@@ -23,16 +23,17 @@
import org.iflab.wecentermobileandroidrestructure.listener.EndlessRecyclerOnScrollListener;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalFollowing;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalQuestion;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
-public class PersonalFollowingActivity extends AppCompatActivity {
+public class PersonalFollowingActivity extends SwipeBackBaseActivity {
public static final String FOLLOWING = "following";
- public static final String FOLLOWER = "follower";
+ public static final String FAN = "follower";
private String type;
private RecyclerView recyclerView;
@@ -76,22 +77,19 @@ private void refreshData() {
getData(1);
}
- private String getUrl() {
- if (type.equals(FOLLOWING)) {
- return RelativeUrl.FOLLOWING;
- } else return RelativeUrl.FOLLOWER;
- }
private void getData(int page) {
- AsyncHttpWecnter.loadData(PersonalFollowingActivity.this, getUrl(), generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
+ AsyncHttpWecnter.loadData(PersonalFollowingActivity.this, RelativeUrl.FOLLOWER, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
@Override
public void parseJson(JSONObject response) {
- PersonalFollowing personalFollowing = (new Gson()).fromJson(response.toString(), PersonalFollowing.class);
- data.addAll(personalFollowing.getRows());
- adapter.setData(data);
- if (Integer.parseInt(personalFollowing.getTotal_rows()) == data.size()) {
+ PersonalFollowing personalFollowing = new Gson().fromJson(response.toString(), PersonalFollowing.class);
+ if (personalFollowing.getTotal_rows() == 0) {
loadMore = false;
+ }else {
+ data.addAll(personalFollowing.getRows());
+ adapter.setData(data);
}
+ refreshLayout.setRefreshing(false);
}
});
}
@@ -101,6 +99,8 @@ private RequestParams generateParams(int page) {
params.put("uid", uid);
params.put("page", page);
params.put("per_page", perPage);
+ params.put("type",type.equals(FOLLOWING) ? "follows": "fans");
+ params.put("mobile_sign", MD5Transform.MD5("people"+AsyncHttpWecnter.SIGN));
return params;
}
@@ -121,6 +121,12 @@ public void onLoadMore(int current_page) {
}
};
recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ refreshData();
+ }
+ });
}
private void setToolBar() {
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalQuestionActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalQuestionActivity.java
index 2814ad2..cc486df 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalQuestionActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalQuestionActivity.java
@@ -21,12 +21,13 @@
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.listener.EndlessRecyclerOnScrollListener;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalQuestion;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
-public class PersonalQuestionActivity extends AppCompatActivity {
+public class PersonalQuestionActivity extends SwipeBackBaseActivity {
private RecyclerView recyclerView;
@@ -49,7 +50,7 @@ protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
userName = intent.getStringExtra("userName");
avatar = intent.getStringExtra("avatar");
- uid = intent.getIntExtra("uid", 4);
+ uid = intent.getIntExtra("uid", -1);
setToolBar();
findViews();
setViews();
@@ -71,15 +72,17 @@ private void refreshData() {
}
private void getData(int page) {
- AsyncHttpWecnter.loadData(PersonalQuestionActivity.this, RelativeUrl.PERSONAL_QUESTION, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
+ AsyncHttpWecnter.loadData(PersonalQuestionActivity.this, RelativeUrl.USER_ACTION, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
@Override
public void parseJson(JSONObject response) {
PersonalQuestion personalQuestion = (new Gson()).fromJson(response.toString(), PersonalQuestion.class);
- data.addAll(personalQuestion.getRows());
- adapter.setData(data);
- if (Integer.parseInt(personalQuestion.getTotal_rows())== data.size()){
+ if (personalQuestion.getTotal_rows()== 0){
loadMore = false;
+ }else {
+ data.addAll(personalQuestion.getRows());
+ adapter.setData(data);
}
+ refreshLayout.setRefreshing(false);
}
});
}
@@ -89,6 +92,8 @@ private RequestParams generateParams(int page) {
params.put("uid", uid);
params.put("page", page);
params.put("per_page", perPage);
+ params.put("actions","101");
+ params.put("mobile_sign", MD5Transform.MD5("people"+AsyncHttpWecnter.SIGN));
return params;
}
@@ -109,6 +114,12 @@ public void onLoadMore(int current_page) {
}
};
recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ refreshData();
+ }
+ });
}
private void setToolBar() {
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalTopicActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalTopicActivity.java
index 737dfb0..cffd366 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalTopicActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PersonalTopicActivity.java
@@ -18,34 +18,45 @@
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
+import android.widget.Toast;
import com.google.gson.Gson;
+import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
+import org.apache.http.Header;
import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.adapter.MultipleTopicsAdapter;
import org.iflab.wecentermobileandroidrestructure.adapter.PersonalTopicAdapter;
import org.iflab.wecentermobileandroidrestructure.common.NetWork;
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.listener.EndlessRecyclerOnScrollListener;
+import org.iflab.wecentermobileandroidrestructure.model.personal.MultipleTopics;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalTopic;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
+import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
-public class PersonalTopicActivity extends AppCompatActivity {
+public class PersonalTopicActivity extends SwipeBackBaseActivity {
private EndlessRecyclerOnScrollListener endlessRecyclerOnScrollListener;
private RecyclerView recyclerView;
private SwipeRefreshLayout refreshLayout;
private PersonalTopicAdapter answerAdapter;
+ private MultipleTopicsAdapter multipleTopicsAdapter;
private List data = new ArrayList<>();
+ private List multipleTopicsData = new ArrayList<>();
+ Toolbar toolbar;
private boolean loadMore = true;
private String userName;
+ String avatar;
private int uid;
private int page;
- private int perPage = 10;
+ public static int TYPE = 11;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -54,14 +65,31 @@ protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
userName = intent.getStringExtra("userName");
uid = intent.getIntExtra("uid", 4);
+ avatar = intent.getStringExtra("avatar");
findViews();
- setToolBar();
- setViews();
- refreshData();
+
+
+ if(getIntent().getIntExtra("multiple_topics",0)== TYPE){
+ setMultipleTopicsViews();
+ getMultipleTopics();
+ setToolBar("问题涉及的话题");
+ }else {
+ setViews();
+ refreshData();
+ setToolBar(userName + "的话题");
+ }
+
+ }
+
+ private void setMultipleTopicsViews() {
+ multipleTopicsAdapter = new MultipleTopicsAdapter(this, multipleTopicsData);
+ LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
+ recyclerView.setLayoutManager(linearLayoutManager);
+ recyclerView.setAdapter(multipleTopicsAdapter);
}
private void setViews() {
- answerAdapter = new PersonalTopicAdapter(this, data, userName);
+ answerAdapter = new PersonalTopicAdapter(this, data);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(answerAdapter);
@@ -72,6 +100,12 @@ public void onLoadMore(int current_page) {
}
};
recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ refreshData();
+ }
+ });
}
private void refreshData() {
@@ -93,11 +127,13 @@ private void getData(int page) {
@Override
public void parseJson(JSONObject response) {
PersonalTopic personalTopic = (new Gson()).fromJson(response.toString(), PersonalTopic.class);
- data.addAll(personalTopic.getRows());
- answerAdapter.setData(data);
- if (Integer.parseInt(personalTopic.getTotal_rows()) == data.size()) {
+ if (personalTopic.getTotal_rows() == 0) {
loadMore = false;
+ }else {
+ data.addAll(personalTopic.getRows());
+ answerAdapter.setData(data);
}
+ refreshLayout.setRefreshing(false);
}
});
}
@@ -106,14 +142,14 @@ private RequestParams generateParams(int page) {
RequestParams params = new RequestParams();
params.put("uid", uid);
params.put("page", page);
- params.put("per_page", perPage);
+ params.put("mobile_sign", MD5Transform.MD5("people"+AsyncHttpWecnter.SIGN));
return params;
}
- private void setToolBar() {
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ private void setToolBar(String content) {
+ toolbar = (Toolbar) findViewById(R.id.toolbar);
+ toolbar.setTitle(content);
toolbar.setTitleTextColor(getResources().getColor(R.color.white));
- toolbar.setTitle(userName + "的回答");
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@@ -130,25 +166,31 @@ private void findViews() {
}
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_personal_answer, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
-
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
+ public void getMultipleTopics() {
+ ArrayList list = getIntent().getStringArrayListExtra("topics");
+ String topicParams = "";
+ for(String item:list){
+ topicParams += item +',';
}
+ RequestParams params = new RequestParams();
+ params.put("topics", topicParams);
+
+ AsyncHttpWecnter.post(RelativeUrl.TOPICS, params, new AsyncHttpResponseHandler() {
+ @Override
+ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+ MultipleTopics multipleTopics = (new Gson()).fromJson(new String(responseBody), MultipleTopics.class);
+ if(multipleTopics.getErr() == null){
+ multipleTopicsData.addAll(multipleTopics.getRsm());
+ multipleTopicsAdapter.setData(multipleTopicsData);
+ }
+
+ }
+
+ @Override
+ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
+ Toast.makeText(getApplicationContext(),"出错啦",Toast.LENGTH_SHORT).show();
+ }
+ });
- return super.onOptionsItemSelected(item);
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PhotoPickActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PhotoPickActivity.java
index e5a15cd..b296d1e 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PhotoPickActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PhotoPickActivity.java
@@ -43,7 +43,7 @@
* Created by hcjcch on 15/5/22.
*/
-public class PhotoPickActivity extends BaseActivity implements LoaderManager.LoaderCallbacks {
+public class PhotoPickActivity extends SwipeBackBaseActivity implements LoaderManager.LoaderCallbacks {
final int RESULT_CAMERA = 21;
private PhotoPickGridAdapter photoPickGridAdapter;
private GridView photoGridview;
@@ -66,7 +66,6 @@ public class PhotoPickActivity extends BaseActivity implements LoaderManager.Loa
};
public static DisplayImageOptions optionsImage = new DisplayImageOptions
.Builder()
- .showImageOnLoading(R.mipmap.test_ic_default_image)
.showImageForEmptyUri(R.mipmap.test_image_not_exist)
.showImageOnFail(R.mipmap.test_image_not_exist)
.cacheInMemory(true)
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishAnswerArticleActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishAnswerArticleActivity.java
index 026998d..cd4e91c 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishAnswerArticleActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishAnswerArticleActivity.java
@@ -9,16 +9,22 @@
import android.util.ArrayMap;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.MotionEvent;
import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewTreeObserver;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.FrameLayout;
import android.widget.RelativeLayout;
+import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import com.loopj.android.http.RequestParams;
+import com.tencent.mm.sdk.modelmsg.WXTextObject;
import org.apmem.tools.layouts.FlowLayout;
import org.iflab.wecentermobileandroidrestructure.R;
@@ -28,9 +34,11 @@
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.ImageInfo;
+import org.iflab.wecentermobileandroidrestructure.model.question.QuestionDetailAnswers;
import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.iflab.wecentermobileandroidrestructure.tools.RecycleBitmapInLayout;
import org.iflab.wecentermobileandroidrestructure.ui.AutoHeightGridView;
+import org.iflab.wecentermobileandroidrestructure.ui.RevealBackgroundView;
import org.json.JSONException;
import org.json.JSONObject;
@@ -44,16 +52,18 @@
import butterknife.Bind;
import butterknife.ButterKnife;
+import fr.castorflex.android.circularprogressbar.CircularProgressBar;
+import fr.castorflex.android.circularprogressbar.CircularProgressDrawable;
/**
* Created by hcjcch on 15/5/23.
*/
-public class PublishAnswerArticleActivity extends BaseActivity {
+public class PublishAnswerArticleActivity extends SwipeBackBaseActivity implements RevealBackgroundView.OnStateChangeListener{
public static final String PUBLISH_QUESTION = "publih_question";
public static final String PUBLISH_ARTICLE = "publish_article";
public static final String PUBLISH_ANSWER = "publish_answer";
-
+ public static final String ARG_REVEAL_START_LOCATION = "reveal_start_location";
private String publishType;
public static final String PUBLISH_TYPE_INTENT = "publish_type";
public static final String QUESTION_ID_INTENT = "question_id";
@@ -86,6 +96,15 @@ public class PublishAnswerArticleActivity extends BaseActivity {
@Bind(R.id.txt_title)
TextView txt_title;
+ @Bind(R.id.vRevealBackground)
+ RevealBackgroundView vRevealBackground;
+
+ @Bind(R.id.sv_root)
+ ScrollView rel_root;
+
+ @Bind(R.id.progress)
+ CircularProgressBar progressBar;
+
private String url;
private Intent intent;
private int questionId;
@@ -95,13 +114,16 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_publish);
ButterKnife.bind(this);
+ setupRevealBackground(savedInstanceState);
photoOperate = new PhotoOperate(getApplicationContext());
intent = getIntent();
publishType = intent.getStringExtra(PUBLISH_TYPE_INTENT);
- setPublishId();
+
findViews();
setViews();
+ setPublishId();
setToolBars();
+
}
private void setPublishId() {
@@ -110,19 +132,23 @@ private void setPublishId() {
publishId = "answer";
url = RelativeUrl.PUBLISH_ANSWER;
questionId = intent.getIntExtra(QUESTION_ID_INTENT, -1);
+ toolbar.setTitle("发布回答");
break;
case PUBLISH_ARTICLE:
publishId = "article";
+ url = RelativeUrl.PUBLISH_ARTICLE;
+ toolbar.setTitle("发布文章");
break;
case PUBLISH_QUESTION:
publishId = "question";
url = RelativeUrl.UPLOAD_QUESTION;
+ toolbar.setTitle("发布问题");
break;
}
}
private void setToolBars() {
- toolbar.setTitle("发布");//设置Toolbar标题
+
toolbar.setTitleTextColor(Color.parseColor("#ffffff")); //设置标题颜色
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
@@ -144,6 +170,24 @@ private void findViews() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
}
+ private void setupRevealBackground(Bundle savedInstanceState) {
+ vRevealBackground.setFillPaintColor(getResources().getColor(R.color.primary_pressed));
+ vRevealBackground.setOnStateChangeListener(this);
+ if (savedInstanceState == null) {
+ final int[] startingLocation = getIntent().getIntArrayExtra(ARG_REVEAL_START_LOCATION);
+ vRevealBackground.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ vRevealBackground.getViewTreeObserver().removeOnPreDrawListener(this);
+ vRevealBackground.startFromLocation(startingLocation);
+ return true;
+ }
+ });
+ } else {
+ vRevealBackground.setToFinishedFrame();
+ }
+ }
+
private void setViews() {
attachmentGridAdapter = new AttachmentGridAdapter(mData,getApplicationContext());
gridView.setAdapter(attachmentGridAdapter);
@@ -177,13 +221,20 @@ public void onClick(View v) {
if (topicString.equals("") || topicString == null) {
Toast.makeText(PublishAnswerArticleActivity.this, "请输入话题", Toast.LENGTH_SHORT).show();
} else {
- TextView button = new TextView(PublishAnswerArticleActivity.this);
- button.setText(topicString);
+ TextView txtTopic = new TextView(PublishAnswerArticleActivity.this);
+ txtTopic.setText(topicString);
topics.add(topicString);
- button.setBackground(getResources().getDrawable(R.drawable.public_topic));
- button.setTextColor(Color.WHITE);
- button.setPadding(10, 10, 10, 10);
- topicFlowLayout.addView(button);
+ txtTopic.setBackground(getResources().getDrawable(R.drawable.public_topic));
+ txtTopic.setTextColor(Color.WHITE);
+ txtTopic.setPadding(10, 10, 10, 10);
+ txtTopic.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ topicFlowLayout.removeView(v);
+ topics.remove(((TextView)v).getText().toString());
+ }
+ });
+ topicFlowLayout.addView(txtTopic);
topicEditText.setText("");
}
}
@@ -237,6 +288,15 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
} else super.onActivityResult(requestCode, resultCode, data);
}
+ @Override
+ public void onStateChange(int state) {
+ if (RevealBackgroundView.STATE_FINISHED == state) {
+ vRevealBackground.setVisibility(View.GONE);
+ rel_root.setVisibility(View.VISIBLE);
+ titleEditText.requestFocus();
+ }
+ }
+
public static class PhotoData {
Uri uri = Uri.parse("");
String serviceUri = "";
@@ -272,11 +332,15 @@ public PhotoDataSerializable(PhotoData data) {
private void uploadAttachment(final File attachment) throws FileNotFoundException {
final RequestParams params = new RequestParams();
- params.put("id", publishId);
- params.put("attach_access_key", attach_access_key);
+// params.put("id", publishId);
+// params.put("attach_access_key", attach_access_key);
params.put("qqfile", attachment);
- System.out.println(publishId + " " + attach_access_key + " " + attachment);
- AsyncHttpWecnter.loadData(getApplicationContext(), RelativeUrl.ATTACHMENT_UPLOAD, params, AsyncHttpWecnter.Request.Post, new UploadNetWork(attachIds,hashtable,attachment));
+// System.out.println(publishId + " " + attach_access_key + " " + attachment);
+
+ AsyncHttpWecnter.loadData(getApplicationContext(), RelativeUrl.ATTACHMENT_UPLOAD +
+ "&attach_access_key="+attach_access_key +
+ "&id=" + publishId
+ , params, AsyncHttpWecnter.Request.Post, new UploadNetWork(attachIds, hashtable, attachment));
}
private static class UploadNetWork extends NetWork{
@@ -304,7 +368,7 @@ public void parseJson(JSONObject response) {
}
}
- private void uploadWord() {
+ private void uploadWord(final MenuItem item) {
RequestParams params = new RequestParams();
if (publishType.equals(PUBLISH_ANSWER)) {
String title = titleEditText.getText().toString();
@@ -319,7 +383,35 @@ private void uploadWord() {
params.put("answer_content", title);
params.put("attach_access_key", attach_access_key);
params.put("question_id", questionId);
- } else {
+ } else if(publishType.equals(PUBLISH_ARTICLE)){
+ String title = titleEditText.getText().toString();
+ if (title.length() < 6) {
+ Toast.makeText(PublishAnswerArticleActivity.this, "标题不能小于6个字", Toast.LENGTH_SHORT).show();
+ titleEditText.requestFocus();
+ return;
+ }
+ params.put("title", title);
+ String description = descriptionEditText.getText().toString();
+ if (description.length() < 6) {
+ Toast.makeText(PublishAnswerArticleActivity.this, "描述不能小于6个字", Toast.LENGTH_SHORT).show();
+ descriptionEditText.requestFocus();
+ return;
+ }
+ for (String i : attachIds) {
+ description += "[attach]" + i + "[/attach]" + "\n";
+ }
+ params.put("message", description);
+ params.put("attach_access_key", attach_access_key);
+ if (topics.size() != 0) {
+ String topicsUpload = "";
+ for (String topic : topics) {
+ topicsUpload = topicsUpload + topic + ",";
+ }
+ topicsUpload = topicsUpload.substring(0, topicsUpload.length());
+ params.put("topics", topicsUpload);
+ }
+
+ }else {
String title = titleEditText.getText().toString();
if (title.length() < 6) {
Toast.makeText(PublishAnswerArticleActivity.this, "标题不能小于6个字", Toast.LENGTH_SHORT).show();
@@ -348,23 +440,46 @@ private void uploadWord() {
}
}
AsyncHttpWecnter.loadData(getApplicationContext(), url, params, AsyncHttpWecnter.Request.Post, new NetWork() {
+ @Override
+ public void start(){
+ progressBar.setVisibility(View.VISIBLE);
+ CircularProgressDrawable drawable = (CircularProgressDrawable) progressBar
+ .getIndeterminateDrawable();
+ drawable.start();
+ item.setEnabled(false);
+ }
@Override
public void parseJson(JSONObject response) {
try {
- String question_id;
+ String id;
if (publishType.equals(PUBLISH_ANSWER)) {
- question_id = response.getString("answer_id");
- } else {
- question_id = response.getString("question_id");
+ id = response.getString("answer_id");
+ } else if(publishType.equals(PUBLISH_ARTICLE)){
+ id = response.getString("article_id");
+ }else{
+ id = response.getString("question_id");
}
- if (question_id != null) {
+ if (id != null) {
+ progressBar.progressiveStop();
+ progressBar.setVisibility(View.GONE);
Toast.makeText(PublishAnswerArticleActivity.this, "成功", Toast.LENGTH_SHORT).show();
+ setResult(QuestionDetailActivity.PUBLISH_FINISH);
PublishAnswerArticleActivity.this.finish();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
+
+ @Override
+ public void failure() {
+ progressBar.progressiveStop();
+ progressBar.setVisibility(View.GONE);
+ item.setEnabled(true);
+ toast("请求失败");
+ }
+
+
});
}
@@ -379,6 +494,8 @@ protected void onDestroy() {
attachIds.clear();
RecycleBitmapInLayout.getInstance(false).recycle(gridView);
+ mData.clear();
+ attachmentGridAdapter.notifyDataSetChanged();
}
@Override
@@ -396,7 +513,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.publish_finish) {
- uploadWord();
+ uploadWord(item);
return true;
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishPhotoDetailActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishPhotoDetailActivity.java
index 25098f0..3f62d2a 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishPhotoDetailActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishPhotoDetailActivity.java
@@ -22,7 +22,7 @@
/**
* Created by hcjcch on 15/6/20.
*/
-public class PublishPhotoDetailActivity extends BaseActivity {
+public class PublishPhotoDetailActivity extends SwipeBackBaseActivity {
private PhotoViewPager pager;
private ArrayList arrUri;
private int position;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishQuestionActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishQuestionActivity.java
index ae6bfba..16f50b3 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishQuestionActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/PublishQuestionActivity.java
@@ -39,7 +39,7 @@
import butterknife.Bind;
import butterknife.ButterKnife;
-public class PublishQuestionActivity extends AppCompatActivity {
+public class PublishQuestionActivity extends SwipeBackBaseActivity {
@Bind(R.id.toolbar)
Toolbar toolbar;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionAnswerActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionAnswerActivity.java
index a823d97..efbda83 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionAnswerActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionAnswerActivity.java
@@ -5,12 +5,14 @@
import android.support.v4.widget.SwipeRefreshLayout;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
+import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import android.widget.Toast;
import com.google.gson.Gson;
import com.loopj.android.http.AsyncHttpResponseHandler;
@@ -28,7 +30,9 @@
import org.iflab.wecentermobileandroidrestructure.tools.FormHtmlAsyncTask;
import org.iflab.wecentermobileandroidrestructure.tools.Global;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.iflab.wecentermobileandroidrestructure.tools.WecenterImageGetter;
+import org.json.JSONException;
import org.json.JSONObject;
import de.hdodenhof.circleimageview.CircleImageView;
@@ -53,6 +57,7 @@ public class QuestionAnswerActivity extends ShareBaseActivity implements View.On
int uid = -1;
int voteValue;
String shareUrl;
+ boolean isOwner;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -67,8 +72,6 @@ protected void onCreate(Bundle savedInstanceState) {
setViews();
setToolBars();
loadData();
- setListenter();
-
}
private void findViews() {
@@ -95,7 +98,11 @@ private void setListenter() {
likeCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
RequestParams params = new RequestParams();
@Override
- public void onCheckedChanged(CompoundButton compoundButton, final boolean b) {
+ public void onCheckedChanged(final CompoundButton compoundButton, final boolean b) {
+ if(!checkIsLogin(QuestionAnswerActivity.this)){
+ compoundButton.setChecked(false);
+ return;
+ }
dislikeCheckBox.setEnabled(!b);
if(!params.has("answer_id")) {
@@ -105,6 +112,23 @@ public void onCheckedChanged(CompoundButton compoundButton, final boolean b) {
AsyncHttpWecnter.post(RelativeUrl.ANSWER_VOTE, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+// Log.v(" vote",new String(responseBody));
+ if(isOwner){
+ compoundButton.setChecked(false);
+ Toast.makeText(getApplicationContext(),"不能对自己发表的文章进行投票",Toast.LENGTH_SHORT).show();
+ return;
+ }
+ try {
+ JSONObject obj = new JSONObject(new String(responseBody));
+ if(!obj.getString("err").equals("null")){
+ Toast.makeText(getApplicationContext(),obj.getString("err"),Toast.LENGTH_SHORT).show();
+ compoundButton.setChecked(false);
+ return;
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
voteValue = b ? voteValue + 1:voteValue - 1;
votesTextView.setText(voteValue+"");
}
@@ -122,7 +146,16 @@ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Thr
RequestParams params = new RequestParams();
@Override
- public void onCheckedChanged(CompoundButton compoundButton, final boolean b) {
+ public void onCheckedChanged( final CompoundButton compoundButton, final boolean b) {
+ if(!checkIsLogin(QuestionAnswerActivity.this)){
+ compoundButton.setChecked(false);
+ return;
+ }
+ if(isOwner){
+ compoundButton.setChecked(false);
+ Toast.makeText(getApplicationContext(),"不能对自己发表的文章进行投票",Toast.LENGTH_SHORT).show();
+ return;
+ }
likeCheckBox.setEnabled(!b);
if (!params.has("answer_id")) {
@@ -133,6 +166,21 @@ public void onCheckedChanged(CompoundButton compoundButton, final boolean b) {
AsyncHttpWecnter.post(RelativeUrl.ANSWER_VOTE, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+// Log.v("dis vote",new String(responseBody));
+ if(isOwner){
+ compoundButton.setChecked(false);
+ Toast.makeText(getApplicationContext(),"不能对自己发表的文章进行投票",Toast.LENGTH_SHORT).show();
+ }
+ try {
+ JSONObject obj = new JSONObject(new String(responseBody));
+ if(!obj.getString("err").equals("null")){
+ Toast.makeText(getApplicationContext(),obj.getString("err"),Toast.LENGTH_SHORT).show();
+ compoundButton.setChecked(false);
+ return;
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
voteValue = b ? voteValue - 1 : voteValue + 1;
votesTextView.setText(voteValue + "");
}
@@ -150,13 +198,19 @@ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Thr
}
public void gotoShare(View view){
+ setShareContent(questionTitle,"http://www.fanfan.cn");
mController.openShare(QuestionAnswerActivity.this, false);
-
}
public void gotoComment(View view){
+ if(!checkIsLogin(QuestionAnswerActivity.this)){
+ return;
+ }
Intent intent = new Intent(QuestionAnswerActivity.this,AnswerCommentActivity.class);
intent.putExtra("answer_id", answerID);
+ int[] startingLocation = new int[2];
+ view.getLocationOnScreen(startingLocation);
+ intent.putExtra(AnswerCommentActivity.ARG_DRAWING_START_LOCATION,startingLocation[1]);
startActivity(intent);
}
@@ -182,26 +236,33 @@ public void parseJson(JSONObject response) {
Gson gson = new Gson();
answerInfo = gson.fromJson(response.toString(), AnswerInfo.class);
- signatureTextView.setText(answerInfo.getSignature());
- usernameTextView.setText(answerInfo.getUser_name());
- (new FormHtmlAsyncTask((new WecenterImageGetter.Builder(QuestionAnswerActivity.this).padding(DisplayUtil.dip2px(QuestionAnswerActivity.this, 10)).build()), contentWebView)).execute(answerInfo.getAnswer_content());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + answerInfo.getAvatar_file(), circleImageView, ImageOptions.optionsImage);
- if (answerInfo.getVote_value() > -1) {
- voteValue = answerInfo.getVote_value();
- votesTextView.setText(voteValue + "");
- }
+ signatureTextView.setText(answerInfo.getAnswer().getUser_info().getSignature());
+ usernameTextView.setText(answerInfo.getAnswer().getUser_info().getUser_name());
+ (new FormHtmlAsyncTask((new WecenterImageGetter.Builder(QuestionAnswerActivity.this).padding(DisplayUtil.dip2px(QuestionAnswerActivity.this, 10)).build()),
+ contentWebView)).execute(answerInfo.getAnswer().getAnswer_content());
+ ImageLoader.getInstance().displayImage(answerInfo.getAnswer().getUser_info().getAvatar_file(), circleImageView, ImageOptions.optionsImage);
+ int voteCount = answerInfo.getAnswer().getUser_vote_status();
+ voteValue = answerInfo.getAnswer().getAgree_count() - answerInfo.getAnswer().getAgainst_count();
+ votesTextView.setText(voteValue + "");
+
addTimeTextView.setVisibility(View.VISIBLE);
- addTimeTextView.setText(Global.TimeStamp2Date(answerInfo.getAdd_time(), "yyyy-MM-dd hh:mm:ss"));
+ addTimeTextView.setText(Global.TimeStamp2Date(answerInfo.getAnswer().getAdd_time(), "yyyy-MM-dd"));
- if (answerInfo.getVote_value() == 1) {
+ // isOwner ?
+ isOwner = answerInfo.getAnswer().getUser_info().getUid() == User.getLoginUser(getApplicationContext()).getUid();
+
+
+ if (voteCount == 1) {
likeCheckBox.setChecked(true);
dislikeCheckBox.setEnabled(false);
- } else if (answerInfo.getVote_value() == -1) {
+ } else if (voteCount == -1) {
dislikeCheckBox.setChecked(true);
likeCheckBox.setEnabled(false);
}
- uid = answerInfo.getUid();
+ uid = answerInfo.getAnswer().getUid();
+
+ setListenter();
}
});
@@ -209,7 +270,8 @@ public void parseJson(JSONObject response) {
private RequestParams setParams() {
RequestParams params = new RequestParams();
- params.put("id", answerID);
+ params.put("mobile_sign", MD5Transform.MD5("question"+AsyncHttpWecnter.SIGN));
+ params.put("answer_id", answerID);
return params;
}
@@ -218,12 +280,7 @@ public void onClick(View view) {
switch (view.getId()) {
case R.id.rel_top:
if(uid != -1) {
- Intent intent = new Intent(QuestionAnswerActivity.this, PersonalCenterActivity.class);
- Bundle bundle = new Bundle();
- bundle.putInt("uid", uid);
- bundle.putBoolean("isOwner", User.getLoginUser(QuestionAnswerActivity.this).getUid() == uid);
- intent.putExtra("bundle", bundle);
- startActivity(intent);
+ PersonalCenterActivity.openPersonalCenter(QuestionAnswerActivity.this,uid);
}
break;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionDetailActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionDetailActivity.java
index 4d4ca9e..5c4610c 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionDetailActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/QuestionDetailActivity.java
@@ -3,19 +3,12 @@
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
-import android.os.AsyncTask;
-import android.os.Build;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.Toolbar;
-import android.text.Html;
-import android.text.Spannable;
-import android.text.Spanned;
-import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
-import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
@@ -33,25 +26,22 @@
import org.iflab.wecentermobileandroidrestructure.common.NetWork;
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
-import org.iflab.wecentermobileandroidrestructure.model.User;
-import org.iflab.wecentermobileandroidrestructure.model.personal.UserPersonal;
-import org.iflab.wecentermobileandroidrestructure.model.question.AnswerInfo;
+import org.iflab.wecentermobileandroidrestructure.model.question.QuestionDetailAnswers;
import org.iflab.wecentermobileandroidrestructure.model.question.QuestionInfo;
import org.iflab.wecentermobileandroidrestructure.model.question.QuestionTopics;
import org.iflab.wecentermobileandroidrestructure.tools.FormHtmlAsyncTask;
-import org.iflab.wecentermobileandroidrestructure.tools.HawkControl;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
import org.iflab.wecentermobileandroidrestructure.tools.WecenterImageGetter;
+import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-public class QuestionDetailActivity extends BaseActivity implements View.OnClickListener {
-
+public class QuestionDetailActivity extends SwipeBackBaseActivity implements View.OnClickListener {
+ public static int PUBLISH_FINISH = 11;
private Toolbar toolbar;
ListView listView;
View headerView;
@@ -66,7 +56,7 @@ public class QuestionDetailActivity extends BaseActivity implements View.OnClick
RelativeLayout addAnswerRel;
RelativeLayout topRel;
SwipeRefreshLayout refreshLayout;
- List answersList = new ArrayList();
+ List answersList = new ArrayList();
List questionsList;
AnswerAdapter answerAdapter;
int question_id;
@@ -79,7 +69,7 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_question_detail);
- uid = getIntent().getIntExtra("uid", 22);
+ uid = getIntent().getIntExtra("uid", -1);
question_id = getIntent().getIntExtra("question_id", 2);
findViews();
findHeaderView();
@@ -124,12 +114,17 @@ private void findHeaderView() {
}
private void setViews() {
- refreshLayout.setEnabled(false);
listView.addHeaderView(headerView);
foucsBtn.setOnClickListener(this);
topicFlowLayout.setOnClickListener(this);
addAnswerRel.setOnClickListener(this);
topRel.setOnClickListener(this);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ loadData();
+ }
+ });
}
private void setToolBars() {
@@ -148,12 +143,21 @@ public void onClick(View v) {
@Override
public void onClick(View view) {
+ if(!checkIsLogin(QuestionDetailActivity.this)){
+ return;
+ }
+ Intent intent;
switch (view.getId()) {
case R.id.rel_add_answer:
- Intent intent1 = new Intent(QuestionDetailActivity.this, PublishAnswerArticleActivity.class);
- intent1.putExtra(PublishAnswerArticleActivity.PUBLISH_TYPE_INTENT, PublishAnswerArticleActivity.PUBLISH_ANSWER);
- intent1.putExtra(PublishAnswerArticleActivity.QUESTION_ID_INTENT, question_id);
- startActivity(intent1);
+ int[] startingLocation = new int[2];
+ view.getLocationOnScreen(startingLocation);
+ startingLocation[0] += view.getWidth() / 2;
+ intent = new Intent(QuestionDetailActivity.this, PublishAnswerArticleActivity.class);
+ intent.putExtra(PublishAnswerArticleActivity.PUBLISH_TYPE_INTENT, PublishAnswerArticleActivity.PUBLISH_ANSWER);
+ intent.putExtra(PublishAnswerArticleActivity.QUESTION_ID_INTENT, question_id);
+ intent.putExtra(PublishAnswerArticleActivity.ARG_REVEAL_START_LOCATION, startingLocation);
+ startActivityForResult(intent,PUBLISH_FINISH);
+ overridePendingTransition(0, 0);
break;
case R.id.btn_foucs:
foucsQuestion();
@@ -161,32 +165,35 @@ public void onClick(View view) {
case R.id.rel_top:
//到个人中心
if (uid != -1) {
- Intent intent = new Intent(QuestionDetailActivity.this, PersonalCenterActivity.class);
- Bundle bundle = new Bundle();
- bundle.putInt("uid", uid);
- bundle.putBoolean("isOwner", User.getLoginUser(QuestionDetailActivity.this).getUid() == uid);
- intent.putExtra("bundle", bundle);
- startActivity(intent);
+ PersonalCenterActivity.openPersonalCenter(QuestionDetailActivity.this,uid);
}
break;
case R.id.flow_question_topic:
-// Intent intent = new Intent(QuestionDetailActivity.this,TopicsActivity.class);
-// ArrayList topicsList = new ArrayList<>();
-// for(QuestionTopics t:questionsList){
-// topicsList.add(t.getTopic_id()+"");
-// }
-// intent.putExtra("topics",topicsList);
-// startActivity(intent);
+ intent = new Intent(QuestionDetailActivity.this,PersonalTopicActivity.class);
+ ArrayList topicsList = new ArrayList<>();
+ for(QuestionTopics t:questionsList){
+ topicsList.add(t.getTopic_id()+"");
+ }
+ intent.putExtra("multiple_topics",PersonalTopicActivity.TYPE);
+ intent.putExtra("topics",topicsList);
+ startActivity(intent);
break;
}
}
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if(requestCode == PUBLISH_FINISH){
+ loadData();
+ }else
+ super.onActivityResult(requestCode, resultCode, data);
+ }
private void foucsQuestion() {
- AsyncHttpWecnter.loadData(QuestionDetailActivity.this, RelativeUrl.QUESTION_FOUCS, setFoucsParams(), AsyncHttpWecnter.Request.Get, new NetWork() {
+ AsyncHttpWecnter.loadData(QuestionDetailActivity.this, RelativeUrl.QUESTION_FOUCS, setFoucsParams(), AsyncHttpWecnter.Request.Post, new NetWork() {
@Override
public void parseJson(JSONObject response) {
// update button UI
@@ -199,15 +206,15 @@ public void parseJson(JSONObject response) {
switch (type) {
case "add":
- focusTextView.setText((foucsNum + 1) + "");
+ focusTextView.setText(++foucsNum + "");
updateFoucsBtnUI(1);
break;
case "remove":
- focusTextView.setText((foucsNum - 1) + "");
+ focusTextView.setText(--foucsNum + "");
updateFoucsBtnUI(0);
break;
}
- Log.v("foucsQuestion", response.toString());
+// Log.v("foucsQuestion", response.toString());
}
});
@@ -217,7 +224,7 @@ public void parseJson(JSONObject response) {
private void loadData() {
AsyncHttpWecnter.loadData(QuestionDetailActivity.this, RelativeUrl.QUESTION_INFO, setParams(), AsyncHttpWecnter.Request.Get, new NetWork() {
QuestionInfo questionInfo;
- AnswerInfo answerInfo;
+ QuestionDetailAnswers answerInfo;
@Override
public void parseJson(JSONObject response) {
@@ -225,23 +232,27 @@ public void parseJson(JSONObject response) {
try {
//questionInfo
questionInfo = gson.fromJson(response.getString("question_info"), QuestionInfo.class);
- Log.v("questionInfo", questionInfo.toString());
+// Log.v("questionInfo", questionInfo.toString());
//answer
- String answers = response.getString("answers");
- if (!answers.equals("[]")) {
- JSONObject answersObj = new JSONObject(answers);
- Iterator iterator = answersObj.keys();
- while (iterator.hasNext()) {
- answerInfo = new AnswerInfo();
- answerInfo = gson.fromJson(answersObj.getString(iterator.next()), AnswerInfo.class);
+ JSONArray answerArray = response.getJSONArray("answers");
+ int length = answerArray.length();
+ if (length != 0) {
+ for(int i=0;i>() {
@@ -250,33 +261,34 @@ public void parseJson(JSONObject response) {
} catch (JSONException e) {
e.printStackTrace();
}
- updateFoucsBtnUI(questionInfo.getHas_focus());
- (new FormHtmlAsyncTask((new WecenterImageGetter.Builder(QuestionDetailActivity.this).build()), contentWebView)).execute(questionInfo.getQuestion_detail());
+ updateFoucsBtnUI(questionInfo.getUser_question_focus());
+ if(questionInfo.getQuestion_detail().length() != 0) {
+ (new FormHtmlAsyncTask((new WecenterImageGetter.Builder(QuestionDetailActivity.this).build()), contentWebView)).execute(questionInfo.getQuestion_detail());
+ }else{
+ contentWebView.setVisibility(View.GONE);
+ }
contentTextView.setText(questionInfo.getQuestion_content());
bookMarkTextView.setText(questionInfo.getFocus_count() + "");
- foucsNum = questionInfo.getHas_focus();
+ foucsNum = questionInfo.getFocus_count();
focusTextView.setText(foucsNum + "");
if (questionsList != null) {
+// topicFlowLayout.removeAllViews();
for (QuestionTopics q : questionsList) {
addFlowTopics(q.getTopic_title());
}
}
+ if(questionsList.size() == 0){
+ topicFlowLayout.setVisibility(View.GONE);
+ }
+ uid = questionInfo.getUser_info().getUid();
+ userNameTextView.setText(questionInfo.getUser_info().getUser_name());
+ ImageLoader.getInstance().displayImage(questionInfo.getUser_info().getAvatar_file(), userImageView, ImageOptions.optionsImage);
}
});
- // load user data
- AsyncHttpWecnter.loadData(QuestionDetailActivity.this, RelativeUrl.USER_INFO, setUserParams(), AsyncHttpWecnter.Request.Get, new NetWork() {
- @Override
- public void parseJson(JSONObject response) {
- UserPersonal user = new UserPersonal(response);
- HawkControl.saveUserCount(user);
- userNameTextView.setText(user.getUser_name());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + user.getAvatar_file(), userImageView, ImageOptions.optionsImage);
- }
- });
}
private void updateFoucsBtnUI(int hasFoucs) {
@@ -305,6 +317,7 @@ private void addFlowTopics(String toipcString) {
private RequestParams setParams() {
RequestParams params = new RequestParams();
params.put("id", question_id);
+ params.put("sort_key","add_time");
return params;
}
@@ -315,10 +328,5 @@ private RequestParams setFoucsParams() {
return params;
}
- private RequestParams setUserParams() {
- RequestParams params = new RequestParams();
- params.put("uid", uid);
- return params;
- }
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/RegisterActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/RegisterActivity.java
new file mode 100644
index 0000000..9f3e21a
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/RegisterActivity.java
@@ -0,0 +1,142 @@
+package org.iflab.wecentermobileandroidrestructure.activity;
+
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.Snackbar;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.Toast;
+
+import com.loopj.android.http.AsyncHttpResponseHandler;
+import com.loopj.android.http.RequestParams;
+
+import net.qiujuer.genius.app.BlurKit;
+
+import org.apache.http.Header;
+import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.common.NetWork;
+import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
+import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
+import org.iflab.wecentermobileandroidrestructure.tools.Global;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+public class RegisterActivity extends BaseActivity {
+
+ @Bind(R.id.toolbar)
+ Toolbar toolbar;
+
+ @Bind(R.id.edit_name)
+ EditText edit_name;
+
+ @Bind(R.id.edit_pwd)
+ EditText edit_pwd;
+
+ @Bind(R.id.edit_confirm_pwd)
+ EditText edit_confirm_pwd;
+
+ @Bind(R.id.edit_email)
+ EditText edit_email;
+
+ @Bind(R.id.btn_register)
+ Button btn_register;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_register);
+
+ ButterKnife.bind(this);
+ setView();
+ setUpToolBar(toolbar);
+
+ }
+
+ private void setView() {
+ toolbar.setTitle("注册");
+ }
+
+ public void onRegister(View view){
+ String name = edit_name.getText().toString();
+ String pwd = edit_pwd.getText().toString();
+ String confirmPwd = edit_confirm_pwd.getText().toString();
+ String email = edit_email.getText().toString();
+
+ if(name.length() > 10){
+ Toast.makeText(getApplicationContext(),"用户名过长",Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ if(pwd.length() < 6 || confirmPwd.length() < 6){
+ Toast.makeText(getApplicationContext(),"密码长度必须大于6位",Toast.LENGTH_SHORT).show();
+ edit_confirm_pwd.setText("");
+ edit_pwd.setText("");
+ return;
+ }
+
+ if(!pwd.equals(confirmPwd)){
+ Toast.makeText(getApplicationContext(),"密码不一致",Toast.LENGTH_SHORT).show();
+ edit_confirm_pwd.setText("");
+ edit_pwd.setText("");
+ return;
+ }
+
+ if(!Global.isEmail(email)){
+ Toast.makeText(getApplicationContext(),"邮箱格式不正确",Toast.LENGTH_SHORT).show();
+ edit_email.setText("");
+ return;
+ }
+
+ btn_register.setEnabled(false);
+
+ RequestParams params = new RequestParams();
+ params.put("user_name",name);
+ params.put("password",pwd);
+ params.put("email",email);
+ AsyncHttpWecnter.post(RelativeUrl.REGISTER, params, new AsyncHttpResponseHandler() {
+ @Override
+ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+ Intent intent = null;
+ try {
+ JSONObject obj = new JSONObject(new String(responseBody));
+ if(!obj.getString("err").equals("null")){
+ Toast.makeText(getApplicationContext(),obj.getString("err"),Toast.LENGTH_SHORT).show();
+ btn_register.setEnabled(true);
+ return;
+ }
+ intent = new Intent(RegisterActivity.this,LoginActivity.class);
+ intent.putExtra("user_name",obj.optJSONObject("rsm").getString("user_name"));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ if(intent != null){
+ setResult(LoginActivity.REGISTERCODE,intent);
+ finish();
+ }
+
+ }
+
+ @Override
+ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
+ btn_register.setEnabled(true);
+ Toast.makeText(getApplicationContext(),"请求失败",Toast.LENGTH_SHORT).show();
+ }
+ });
+
+
+ }
+
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ShareBaseActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ShareBaseActivity.java
index 8b25887..07fc358 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ShareBaseActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/ShareBaseActivity.java
@@ -19,12 +19,12 @@
/**
* Created by Lyn on 15/8/23.
*/
-public class ShareBaseActivity extends BaseActivity implements ShareRegister {
+public class ShareBaseActivity extends SwipeBackBaseActivity implements ShareRegister {
UMSocialService mController;
- String shareUrl = "www.wecenter.com";
+ String shareUrl = "www.fanfan.cn";
String title;
- String header = "来自wecenter的分享 : ";
+ String header = "来自fanfan的分享 : ";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/SwipeBackBaseActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/SwipeBackBaseActivity.java
new file mode 100644
index 0000000..31f5c80
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/SwipeBackBaseActivity.java
@@ -0,0 +1,76 @@
+package org.iflab.wecentermobileandroidrestructure.activity;
+
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+
+import com.nostra13.universalimageloader.core.ImageLoader;
+
+import me.imid.swipebacklayout.lib.SwipeBackLayout;
+import me.imid.swipebacklayout.lib.Utils;
+import me.imid.swipebacklayout.lib.app.SwipeBackActivityBase;
+import me.imid.swipebacklayout.lib.app.SwipeBackActivityHelper;
+
+/**
+ * Created by Lyn on 15/10/8.
+ */
+public class SwipeBackBaseActivity extends BaseActivity implements SwipeBackActivityBase {
+ private SwipeBackActivityHelper mHelper;
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mHelper = new SwipeBackActivityHelper(this);
+ mHelper.onActivityCreate();
+
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ mHelper.onPostCreate();
+ }
+
+ @Override
+ public View findViewById(int id) {
+ View v = super.findViewById(id);
+ if (v == null && mHelper != null)
+ return mHelper.findViewById(id);
+ return v;
+ }
+
+ @Override
+ public SwipeBackLayout getSwipeBackLayout() {
+ return mHelper.getSwipeBackLayout();
+ }
+
+ @Override
+ public void setSwipeBackEnable(boolean enable) {
+ getSwipeBackLayout().setEnableGesture(enable);
+ }
+
+ @Override
+ public void scrollToFinishActivity() {
+ Utils.convertActivityToTranslucent(this);
+ getSwipeBackLayout().scrollToFinishActivity();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+// RefWatcher refWatcher = WecenterApplication.getRefWatcher(getApplication());
+// refWatcher.watch(this);
+
+ }
+
+ @Override
+ public void onTrimMemory(int level) {
+ super.onTrimMemory(level);
+ if(level >=TRIM_MEMORY_MODERATE){
+ ImageLoader.getInstance().clearDiskCache();
+ ImageLoader.getInstance().clearMemoryCache();
+ Log.e("TRIM_MEMORY_MODERATE", "clear ImageLoader Cache...");
+ }
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/TopicsActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/TopicsActivity.java
index d23588f..0ae5d47 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/TopicsActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/TopicsActivity.java
@@ -1,61 +1,176 @@
package org.iflab.wecentermobileandroidrestructure.activity;
-import android.graphics.Color;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.support.design.widget.CollapsingToolbarLayout;
+import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
-import android.view.Menu;
-import android.view.MenuItem;
import android.view.View;
-import android.widget.ListView;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.google.gson.Gson;
+import com.loopj.android.http.RequestParams;
import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.adapter.TopicDetailAdapter;
+import org.iflab.wecentermobileandroidrestructure.common.NetWork;
+import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
+import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
+import org.iflab.wecentermobileandroidrestructure.listener.EndlessRecyclerOnScrollListener;
+import org.iflab.wecentermobileandroidrestructure.model.personal.TopicDetailAnswer;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
+import org.json.JSONException;
+import org.json.JSONObject;
import java.util.ArrayList;
+import java.util.List;
-public class TopicsActivity extends AppCompatActivity {
+public class TopicsActivity extends SwipeBackBaseActivity {
- ArrayList topicList;
Toolbar toolbar;
- RecyclerView listTopics;
+ CollapsingToolbarLayout collapsingToolbar;
+ Button btnFoucs;
+ TextView txt_topic_title;
+ private EndlessRecyclerOnScrollListener endlessRecyclerOnScrollListener;
+ private RecyclerView recyclerView;
+ private LinearLayoutManager linearLayoutManager;
+ private TopicDetailAdapter answerAdapter;
+ private List data = new ArrayList<>();
+ private boolean loadMore = true;
+ int topic_id;
+ private int page;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_topics);
- topicList = getIntent().getStringArrayListExtra("topics");
+ topic_id = getIntent().getIntExtra("topic_id",-1);
findViews();
setViews();
setToolBars();
- loadData();
+ getData(page);
+ getTopicData();
}
private void setToolBars() {
- toolbar.setTitle("话题");//设置Toolbar标题
- toolbar.setTitleTextColor(Color.parseColor("#ffffff")); //设置标题颜色
- setSupportActionBar(toolbar);
- toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ //don't set toolbar for creating headerview
+// toolbar.setTitleTextColor(Color.parseColor("#ffffff")); //设置标题颜色
+// setSupportActionBar(toolbar);
+// toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp);
+// toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// finish();
+// }
+// });
+// getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ collapsingToolbar =
+ (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
+
+ }
+
+
+ private void setViews() {
+ answerAdapter = new TopicDetailAdapter(data, this);
+ linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
+ recyclerView.setLayoutManager(linearLayoutManager);
+ recyclerView.setAdapter(answerAdapter);
+ endlessRecyclerOnScrollListener = new EndlessRecyclerOnScrollListener(linearLayoutManager) {
+ @Override
+ public void onLoadMore(int current_page) {
+ loadMoreData();
+ }
+ };
+ recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+
+ btnFoucs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- finish();
+ RequestParams params = new RequestParams();
+ params.put("topic_id",topic_id);
+ params.put("mobile_sign", MD5Transform.MD5("ajax"+AsyncHttpWecnter.SIGN));
+ AsyncHttpWecnter.loadData(getApplicationContext(), RelativeUrl.TOPIC_FOCUS,params , AsyncHttpWecnter.Request.Get, new NetWork() {
+ @Override
+ public void parseJson(JSONObject response) {
+ try {
+ if(response.getString("type").equals("add")){
+ btnFoucs.setText("已关注");
+ }else if(response.getString("type").equals("remove")){
+ btnFoucs.setText("关注");
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ });
}
});
}
- private void loadData() {
+ private void findViews() {
+// toolbar = (Toolbar) findViewById(R.id.toolbar);
+ recyclerView = (RecyclerView)findViewById(R.id.list_topics);
+ btnFoucs = (Button)findViewById(R.id.btn_foucs);
+ txt_topic_title = (TextView)findViewById(R.id.txt_topic_title);
+ }
+ private void getData(int page) {
+ AsyncHttpWecnter.loadData(getApplicationContext(), RelativeUrl.TOPIC_BEST_ANSWER, generateParams(page), AsyncHttpWecnter.Request.Get, new NetWork() {
+ @Override
+ public void parseJson(JSONObject response) {
+ TopicDetailAnswer personalAnswer = (new Gson()).fromJson(response.toString(), TopicDetailAnswer.class);
+ if (personalAnswer.getTotal_rows() == 0) {
+ loadMore = false;
+ }else{
+ data.addAll(personalAnswer.getRows());
+ answerAdapter.setData(data);
+ }
+ }
+ });
}
- private void setViews() {
+ private void getTopicData(){
+ RequestParams params = new RequestParams();
+ params.put("id",topic_id);
+ params.put("mobile_sign", MD5Transform.MD5("topic"+AsyncHttpWecnter.SIGN));
+ AsyncHttpWecnter.loadData(this, RelativeUrl.TOPIC_DETAIL, params, AsyncHttpWecnter.Request.Get, new NetWork() {
+ @Override
+ public void parseJson(JSONObject response) {
- }
+ try {
+ String title = response.getString("topic_title");
+ int has_focus = response.getInt("has_focus");
- private void findViews() {
- toolbar = (Toolbar) findViewById(R.id.toolbar);
- listTopics = (RecyclerView)findViewById(R.id.list_topics);
+ collapsingToolbar.setTitle(title);
+ txt_topic_title.setText(title);
+
+ if(has_focus == 0){
+ btnFoucs.setText("关注");
+ }else if(has_focus == 1){
+ btnFoucs.setText("已关注");
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ });
}
+ private void loadMoreData() {
+ if (loadMore) {
+ page++;
+ getData(page);
+ }
+ }
+ private RequestParams generateParams(int page) {
+ RequestParams params = new RequestParams();
+ params.put("topic_id", topic_id);
+ params.put("page", page);
+ params.put("mobile_sign", MD5Transform.MD5("topic"+AsyncHttpWecnter.SIGN));
+ return params;
+ }
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/WencenterActivity.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/WencenterActivity.java
index d1dea09..b7daa22 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/WencenterActivity.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/activity/WencenterActivity.java
@@ -11,6 +11,8 @@
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
+import android.util.Log;
+import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -30,8 +32,10 @@
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.fragment.FoundFrgment;
import org.iflab.wecentermobileandroidrestructure.fragment.HomePageFragment;
+import org.iflab.wecentermobileandroidrestructure.fragment.HotTopicsFragment;
import org.iflab.wecentermobileandroidrestructure.fragment.SearchFragment;
import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
+import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
@@ -40,8 +44,6 @@
public class WencenterActivity extends BaseActivity {
- private final String[] navStrings = {"主页", "发现", "搜索"};
-
private Toolbar toolbar;
private DrawerLayout mDrawerLayout;
private ListView list_nav;
@@ -56,6 +58,7 @@ public class WencenterActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.avtivity_wencenter);
+
findViews();
setToolbar();
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.hello_world, R.string.hello_world) {
@@ -70,8 +73,9 @@ public void onDrawerClosed(View drawerView) {
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
- list_nav.setAdapter(new NavAdapter());
- navigationDrawerItemSelected(0);
+
+ setCurrentStatus();
+ navigationDrawerItemSelected(2);
list_nav.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
@@ -108,6 +112,10 @@ public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
+ if(!checkIsLogin(WencenterActivity.this)){
+ return true;
+ }
+ PersonalCenterActivity.openPersonalCenter(WencenterActivity.this,User.getLoginUser(getApplicationContext()).getUid());
return true;
}
@@ -140,26 +148,52 @@ public void run() {
Fragment fragment;
switch (id) {
case 0:
- toolbar.setVisibility(View.VISIBLE);
+ if(!checkIsLogin(WencenterActivity.this)){
+ return;
+ }
+ PersonalCenterActivity.openPersonalCenter(WencenterActivity.this,User.getLoginUser(getApplicationContext()).getUid());
+ break;
+ case 1:
+ if(!checkIsLogin(WencenterActivity.this)){
+ return;
+ }
fragment = HomePageFragment.newInstances();
fragmentManager.beginTransaction().replace(R.id.coo_homepage_content, fragment).commit();
break;
- case 1:
- toolbar.setVisibility(View.VISIBLE);
+ case 2:
+// toolbar.setVisibility(View.VISIBLE);
fragment = FoundFrgment.newInstances();
fragmentManager.beginTransaction().replace(R.id.coo_homepage_content, fragment).commit();
break;
- case 2:
- toolbar.setVisibility(View.GONE);
+ case 3:
+// toolbar.setVisibility(View.GONE);
fragment = SearchFragment.newInstance();
fragmentManager.beginTransaction().replace(R.id.coo_homepage_content, fragment).commit();
break;
+ case 4:
+ fragment = HotTopicsFragment.newInstance();
+ fragmentManager.beginTransaction().replace(R.id.coo_homepage_content, fragment).commit();
+ break;
+ case 5:
+ if(!checkIsLogin(WencenterActivity.this)){
+ return;
+ }
+ User.clear(getApplicationContext());
+ AsyncHttpWecnter.clear(getApplicationContext());
+
+ Intent intent = new Intent(WencenterActivity.this,LoginActivity.class);
+ startActivity(intent);
+ finish();
}
}
}, 300);
}
class NavAdapter extends BaseAdapter {
+ String []navStrings;
+ public NavAdapter(String[] navStrings){
+ this.navStrings = navStrings;
+ }
@Override
public int getCount() {
@@ -183,17 +217,32 @@ public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) convertView.findViewById(R.id.text_nav);
switch (position) {
case 0:
- imageView.setImageResource(R.mipmap.test_ic_dashboard);
+ imageView.setImageResource(R.drawable.ic_sidebar_user);
textView.setText(navStrings[position]);
break;
case 1:
- imageView.setImageResource(R.mipmap.test_ic_event);
+ imageView.setImageResource(R.drawable.ic_sidebar_home);
textView.setText(navStrings[position]);
break;
case 2:
- imageView.setImageResource(R.mipmap.test_ic_search);
+ imageView.setImageResource(R.drawable.ic_sidebar_explore);
+ textView.setText(navStrings[position]);
+ break;
+ case 3:
+ imageView.setImageResource(R.drawable.ic_sidebar_search);
+ textView.setText(navStrings[position]);
+ break;
+ case 4:
+ imageView.setImageResource(R.drawable.ic_sidebar_topic);
textView.setText(navStrings[position]);
break;
+ case 5:
+ imageView.setVisibility(View.GONE);
+ textView.setGravity(Gravity.CENTER);
+ textView.setText(navStrings[position]);
+ textView.setTextColor(getResources().getColor(R.color.white));
+ textView.setBackgroundColor(getResources().getColor(R.color.cpb_red));
+ break;
}
return convertView;
}
@@ -212,23 +261,21 @@ public void onConfigurationChanged(Configuration newConfig) {
}
@Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+
+ setCurrentStatus();
+ }
+
+ private void getUserData() {
User user = User.getLoginUser(this);
if (user != null) {
ImageLoader.getInstance().displayImage(user.getAvatarFile(), profile_image, ImageOptions.optionsImagePersonalDetailAvatar);
user_name.setText(user.getUserName());
if (!TextUtils.isEmpty(user.getSignNature())) {
user_signature.setText(user.getSignNature());
- } else {
- getUserData();
}
}
-
- }
-
- private void getUserData() {
-
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
@@ -250,4 +297,15 @@ protected void onDestroy() {
super.onDestroy();
ImageLoader.getInstance().clearMemoryCache();
}
+
+ private void setCurrentStatus(){
+ if(checkLoginStatus()){
+ getUserData();
+ list_nav.setAdapter(new NavAdapter(new String[]{"个人中心","主页", "发现", "搜索","热门话题","注销"}));
+ }else{
+ list_nav.setAdapter(new NavAdapter(new String[]{"个人中心","主页", "发现", "搜索","热门话题","登录"}));
+ }
+ }
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/AnswerAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/AnswerAdapter.java
index 5fe1c62..4de73c7 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/AnswerAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/AnswerAdapter.java
@@ -11,6 +11,7 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.loopj.android.http.PersistentCookieStore;
import com.nostra13.universalimageloader.core.ImageLoader;
import org.iflab.wecentermobileandroidrestructure.R;
@@ -19,6 +20,7 @@
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.model.question.AnswerInfo;
+import org.iflab.wecentermobileandroidrestructure.model.question.QuestionDetailAnswers;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
import java.util.ArrayList;
@@ -28,14 +30,15 @@
* Created by lyn on 15/7/18.
*/
public class AnswerAdapter extends BaseAdapter {
- List answerInfoList = new ArrayList<>();
+ List answerInfoList = new ArrayList<>();
Context context;
String questionContent;
-
- public AnswerAdapter(Context context,List answerInfoList,String questionContent){
+ PersistentCookieStore myCookieStore;
+ public AnswerAdapter(Context context,List answerInfoList,String questionContent){
this.answerInfoList = answerInfoList;
this.context = context;
this.questionContent = questionContent;
+ myCookieStore = new PersistentCookieStore(context.getApplicationContext());
}
@Override
@@ -70,23 +73,26 @@ public View getView(int position, View convertView, ViewGroup parent) {
holder = (ViewHolder) convertView.getTag();
}
- final AnswerInfo answerInfo = answerInfoList.get(position);
+ final QuestionDetailAnswers answerInfo = answerInfoList.get(position);
holder.contentTextView.setText(answerInfo.getAnswer_content());
- holder.userNameTextView.setText(answerInfo.getUser_name());
+ holder.userNameTextView.setText(answerInfo.getUser_info().getUser_name());
holder.agreeTextView.setText(answerInfo.getAgree_count() + "");
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + answerInfo.getAvatar_file(), holder.profileImageView, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage( answerInfo.getUser_info().getAvatar_file(), holder.profileImageView, ImageOptions.optionsImage);
holder.profileImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- PersonalCenterActivity.openPersonalCenter(context,answerInfo.getUid());
+ PersonalCenterActivity.openPersonalCenter(context,answerInfo.getUser_info().getUid());
}
});
holder.answerRel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
+ if(myCookieStore.getCookies().size() == 0){
+ return;
+ }
Intent intent = new Intent(context, QuestionAnswerActivity.class);
intent.putExtra("answer_id",answerInfo.getAnswer_id());
intent.putExtra("question_title",questionContent);
@@ -97,7 +103,7 @@ public void onClick(View view) {
return convertView;
}
- class ViewHolder{
+ static class ViewHolder{
TextView userNameTextView;
TextView contentTextView;
ImageView profileImageView;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/ArticleCommentsAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/ArticleCommentsAdapter.java
index 1f1b5ea..d8625a8 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/ArticleCommentsAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/ArticleCommentsAdapter.java
@@ -20,7 +20,6 @@
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.model.article.ArticleComment;
-import org.iflab.wecentermobileandroidrestructure.model.article.ArticleComment.UserInfo;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
import java.util.ArrayList;
@@ -30,13 +29,13 @@
* Created by Lyn on 15/8/1.
*/
public class ArticleCommentsAdapter extends RecyclerView.Adapter{
- List ArticleCommentList = new ArrayList<>();
+ List comment = new ArrayList<>();
Context context;
LayoutInflater mLayoutInflater;
OnClickItemCallBack callBack;
- public ArticleCommentsAdapter(Context context,List ArticleCommentList,OnClickItemCallBack callBack){
- this.ArticleCommentList = ArticleCommentList;
+ public ArticleCommentsAdapter(Context context,ArticleComment articleComment,OnClickItemCallBack callBack){
+ this.comment = articleComment.getRows();
this.context = context;
this.callBack = callBack;
mLayoutInflater = LayoutInflater.from(context);
@@ -48,14 +47,14 @@ public ArticleCommentsAdapter.CommentsViewHolder onCreateViewHolder(ViewGroup pa
@Override
public void onBindViewHolder(ArticleCommentsAdapter.CommentsViewHolder holder, int position) {
- ArticleComment articleComment = ArticleCommentList.get(position);
+ ArticleComment.RowsEntity articleComment = comment.get(position);
holder.commentTextView.setText(articleComment.getMessage());
- final UserInfo userinfo = articleComment.getUser_info();
+ final ArticleComment.RowsEntity.UserInfoEntity userinfo = articleComment.getUser_info();
if(userinfo != null) {
holder.userNameTextView.setText(userinfo.getUser_name());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + userinfo.getAvatar_file(), holder.profileImageView, ImageOptions.optionsImagePersonalDetailAvatar);
+ ImageLoader.getInstance().displayImage( userinfo.getAvatar_file(), holder.profileImageView, ImageOptions.optionsImagePersonalDetailAvatar);
holder.profileImageView.setOnClickListener(new View.OnClickListener() {
@Override
@@ -77,7 +76,7 @@ public void onClick(View view) {
@Override
public int getItemCount() {
- return ArticleCommentList.size();
+ return comment.size();
}
@Override
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/CommentsAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/CommentsAdapter.java
index bbfe7f7..6cb71c8 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/CommentsAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/CommentsAdapter.java
@@ -1,8 +1,6 @@
package org.iflab.wecentermobileandroidrestructure.adapter;
import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
@@ -16,8 +14,6 @@
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
import org.iflab.wecentermobileandroidrestructure.common.OnClickItemCallBack;
-import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
-import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.model.question.CommentInfo;
import org.iflab.wecentermobileandroidrestructure.tools.ImageOptions;
@@ -28,12 +24,12 @@
* Created by Lyn on 15/7/23.
*/
public class CommentsAdapter extends RecyclerView.Adapter{
- List commentInfoList = new ArrayList<>();
+ List commentInfoList = new ArrayList<>();
Context context;
LayoutInflater mLayoutInflater;
OnClickItemCallBack onClickItemCallBack;
- public CommentsAdapter(Context context,List commentInfoList,OnClickItemCallBack onClickItemCallBack){
+ public CommentsAdapter(Context context,List commentInfoList,OnClickItemCallBack onClickItemCallBack){
this.commentInfoList = commentInfoList;
this.context = context;
this.onClickItemCallBack = onClickItemCallBack;
@@ -46,10 +42,10 @@ public CommentsAdapter.CommentsViewHolder onCreateViewHolder(ViewGroup parent, i
@Override
public void onBindViewHolder(CommentsAdapter.CommentsViewHolder holder, int position) {
- final CommentInfo commentInfo = commentInfoList.get(position);
- holder.commentTextView.setText(commentInfo.getContent());
- holder.userNameTextView.setText(commentInfo.getUser_name());
-// ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + commentInfo.get(), holder.profileImageView, ImageOptions.optionsImage);
+ final CommentInfo.RsmEntity commentInfo = commentInfoList.get(position);
+ holder.commentTextView.setText(commentInfo.getMessage());
+ holder.userNameTextView.setText(commentInfo.getUser_info().getUser_name());
+ ImageLoader.getInstance().displayImage(commentInfo.getUser_info().getAvatar_file(), holder.profileImageView, ImageOptions.optionsImage);
/**
* http://we.bistu.edu.cn/api/answer_comment.php?id=7 没有头像地址!!
*/
@@ -57,7 +53,7 @@ public void onBindViewHolder(CommentsAdapter.CommentsViewHolder holder, int posi
holder.answerRel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- onClickItemCallBack.clickItemCallBack(commentInfo.getUser_name(),commentInfo.getUid());
+ onClickItemCallBack.clickItemCallBack(commentInfo.getUser_info().getUser_name(),commentInfo.getUid());
}
});
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/FoundAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/FoundAdapter.java
index e1dbe52..fa2fa45 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/FoundAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/FoundAdapter.java
@@ -50,10 +50,10 @@ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (datas.get(position).getType().equalsIgnoreCase("article")) {
final ArticleInfo articleInfo = (ArticleInfo) datas.get(position);
((FoundHolder) holder).txt_user_name.setText(articleInfo.getUserName());
- ((FoundHolder) holder).rel_bottom.setVisibility(View.GONE);
+// ((FoundHolder) holder).rel_bottom.setVisibility(View.GONE);
((FoundHolder) holder).txt_user_action_content.setText(articleInfo.getArticleMessage());
((FoundHolder) holder).txt_cell_type_question_or_article.setText("文章");
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + articleInfo.getAvatarFile(), ((FoundHolder) holder).profile_image, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage(articleInfo.getAvatarFile(), ((FoundHolder) holder).profile_image, ImageOptions.optionsImage);
((FoundHolder) holder).profile_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -71,7 +71,7 @@ public void onClick(View v) {
((FoundHolder) holder).txt_user_name.setText(questionInfo.getPublishUserName());
((FoundHolder) holder).txt_user_action_content.setText(questionInfo.getQuestionContent());
((FoundHolder) holder).txt_cell_type_question_or_article.setText("问题");
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + questionInfo.getPublishAvatarFile(), ((FoundHolder) holder).profile_image, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage(questionInfo.getPublishAvatarFile(), ((FoundHolder) holder).profile_image, ImageOptions.optionsImage);
((FoundHolder) holder).profile_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -84,17 +84,17 @@ public void onClick(View v) {
QuestionDetailActivity.openQuestionDetail(mContext, questionInfo.getPublishUid(), questionInfo.getQuestionId());
}
});
- if (questionInfo.getAnswerUserName() != null) {
- ((FoundHolder) holder).rel_bottom.setVisibility(View.VISIBLE);
- ((FoundHolder) holder).txt_answer_user_name.setText(questionInfo.getAnswerUserName());
- ((FoundHolder) holder).txt_answer.setText(questionInfo.getAnswerContent());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + questionInfo.getAnswerAvatarFile(), ((FoundHolder) holder).profile_image_answer, ImageOptions.optionsImage);
- ((FoundHolder) holder).profile_image_answer.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- PersonalCenterActivity.openPersonalCenter(mContext, questionInfo.getAnswerUid());
- }
- });
+// if (questionInfo.getAnswerUserName() != null) {
+// ((FoundHolder) holder).rel_bottom.setVisibility(View.VISIBLE);
+// ((FoundHolder) holder).txt_answer_user_name.setText(questionInfo.getAnswerUserName());
+// ((FoundHolder) holder).txt_answer.setText(questionInfo.getAnswerContent());
+// ImageLoader.getInstance().displayImage(questionInfo.getAnswerAvatarFile(), ((FoundHolder) holder).profile_image_answer, ImageOptions.optionsImage);
+// ((FoundHolder) holder).profile_image_answer.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// PersonalCenterActivity.openPersonalCenter(mContext, questionInfo.getAnswerUid());
+// }
+// });
((FoundHolder) holder).rel_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -105,9 +105,9 @@ public void onClick(View v) {
// mContext.startActivity(intent);
}
});
- } else {
- ((FoundHolder) holder).rel_bottom.setVisibility(View.GONE);
- }
+// } else {
+// ((FoundHolder) holder).rel_bottom.setVisibility(View.GONE);
+// }
}
}
@@ -122,11 +122,11 @@ public static class FoundHolder extends RecyclerView.ViewHolder {
TextView txt_user_name;
TextView txt_user_action_content;
TextView txt_cell_type_question_or_article;
- TextView txt_cell_type_answer;
- TextView txt_answer_user_name;
- ImageView profile_image_answer;
- TextView txt_answer;
- RelativeLayout rel_bottom;
+// TextView txt_cell_type_answer;
+// TextView txt_answer_user_name;
+// ImageView profile_image_answer;
+// TextView txt_answer;
+// RelativeLayout rel_bottom;
RelativeLayout rel;
RelativeLayout rel_1;
@@ -136,11 +136,11 @@ public FoundHolder(View itemView) {
txt_user_name = (TextView) itemView.findViewById(R.id.txt_user_name);
txt_user_action_content = (TextView) itemView.findViewById(R.id.txt_user_action_content);
txt_cell_type_question_or_article = (TextView) itemView.findViewById(R.id.txt_cell_type_question_or_article);
- txt_cell_type_answer = (TextView) itemView.findViewById(R.id.txt_answer_user_name);
- txt_answer_user_name = (TextView) itemView.findViewById(R.id.txt_answer_user_name);
- profile_image_answer = (ImageView) itemView.findViewById(R.id.profile_image_answer);
- txt_answer = (TextView) itemView.findViewById(R.id.txt_answer);
- rel_bottom = (RelativeLayout) itemView.findViewById(R.id.rel_bottom);
+// txt_cell_type_answer = (TextView) itemView.findViewById(R.id.txt_answer_user_name);
+// txt_answer_user_name = (TextView) itemView.findViewById(R.id.txt_answer_user_name);
+// profile_image_answer = (ImageView) itemView.findViewById(R.id.profile_image_answer);
+// txt_answer = (TextView) itemView.findViewById(R.id.txt_answer);
+// rel_bottom = (RelativeLayout) itemView.findViewById(R.id.rel_bottom);
rel = (RelativeLayout) itemView.findViewById(R.id.rel);
rel_1 = (RelativeLayout) itemView.findViewById(R.id.rel_1);
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageAdapter.java
index 27ac0da..c0f07d5 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageAdapter.java
@@ -121,12 +121,12 @@ public View getView(int position, View convertView, ViewGroup parent) {
case 501:
viewHolderOneCell.userName.setText(homePages.get(position).getUserInfo().getUserName());
viewHolderOneCell.userAction.setText("发布了文章");
- viewHolderOneCell.userActionContent.setText(homePages.get(position).getArticleInfo().getArticleTitle());
+ viewHolderOneCell.userActionContent.setText(homePages.get(position).getArticleInfo().getTitle());
break;
case 502:
viewHolderOneCell.userName.setText(homePages.get(position).getUserInfo().getUserName());
viewHolderOneCell.userAction.setText("赞同了了文章");
- viewHolderOneCell.userActionContent.setText(homePages.get(position).getArticleInfo().getArticleTitle());
+ viewHolderOneCell.userActionContent.setText(homePages.get(position).getArticleInfo().getTitle());
break;
}
break;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageRecycleAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageRecycleAdapter.java
index 7683b72..4633192 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageRecycleAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/HomePageRecycleAdapter.java
@@ -69,10 +69,11 @@ public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) {
final HomePage homePage = homePages.get(i);
if (viewHolder instanceof HomePageTwoCellHolder) {
((HomePageTwoCellHolder) viewHolder).userName.setText(homePage.getUserInfo().getUserName());
+ ((HomePageTwoCellHolder) viewHolder).userAgreeCount.setText(homePage.getAnswerInfo().getAgreeCount()+"");
((HomePageTwoCellHolder) viewHolder).rel_left.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- PersonalCenterActivity.openPersonalCenter(mContext, homePage.getUid());
+ PersonalCenterActivity.openPersonalCenter(mContext, homePage.getUserInfo().getUid());
}
});
((HomePageTwoCellHolder) viewHolder).userActionContent.setOnClickListener(new View.OnClickListener() {
@@ -96,13 +97,13 @@ public void onClick(View v) {
((HomePageTwoCellHolder) viewHolder).userAction.setText("回答了问题");
((HomePageTwoCellHolder) viewHolder).userActionContent.setText(homePage.getQuestionInfo().getQuestionContent());
((HomePageTwoCellHolder) viewHolder).userAnswerContent.setText(homePage.getAnswerInfo().getAnswerContent());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + homePage.getUserInfo().getUserAvatar(), ((HomePageTwoCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage( homePage.getUserInfo().getUserAvatar(), ((HomePageTwoCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
break;
case 204:
((HomePageTwoCellHolder) viewHolder).userAction.setText("赞同了回答");
((HomePageTwoCellHolder) viewHolder).userActionContent.setText(homePage.getQuestionInfo().getQuestionContent());
((HomePageTwoCellHolder) viewHolder).userAnswerContent.setText(homePage.getAnswerInfo().getAnswerContent());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + homePage.getUserInfo().getUserAvatar(), ((HomePageTwoCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage( homePage.getUserInfo().getUserAvatar(), ((HomePageTwoCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
break;
}
} else {
@@ -110,7 +111,7 @@ public void onClick(View v) {
((HomePageOneCellHolder) viewHolder).userProfile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- PersonalCenterActivity.openPersonalCenter(mContext, homePage.getUid());
+ PersonalCenterActivity.openPersonalCenter(mContext, homePage.getUserInfo().getUid());
}
});
switch (userAction) {
@@ -118,7 +119,7 @@ public void onClick(View v) {
((HomePageOneCellHolder) viewHolder).userName.setText(homePage.getUserInfo().getUserName());
((HomePageOneCellHolder) viewHolder).userAction.setText("发布了问题");
((HomePageOneCellHolder) viewHolder).userActionContent.setText(homePage.getQuestionInfo().getQuestionContent());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage( homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
((HomePageOneCellHolder) viewHolder).userActionContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -130,7 +131,7 @@ public void onClick(View v) {
((HomePageOneCellHolder) viewHolder).userName.setText(homePage.getUserInfo().getUserName());
((HomePageOneCellHolder) viewHolder).userAction.setText("关注了问题");
((HomePageOneCellHolder) viewHolder).userActionContent.setText(homePage.getQuestionInfo().getQuestionContent());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage( homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
((HomePageOneCellHolder) viewHolder).userActionContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -141,24 +142,24 @@ public void onClick(View v) {
case 501:
((HomePageOneCellHolder) viewHolder).userName.setText(homePage.getUserInfo().getUserName());
((HomePageOneCellHolder) viewHolder).userAction.setText("发布了文章");
- ((HomePageOneCellHolder) viewHolder).userActionContent.setText(homePage.getArticleInfo().getArticleTitle());
+ ((HomePageOneCellHolder) viewHolder).userActionContent.setText(homePage.getArticleInfo().getTitle());
((HomePageOneCellHolder) viewHolder).userActionContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- ArticleActivity.openArticle(mContext, homePage.getArticleInfo().getArticleId());
+ ArticleActivity.openArticle(mContext, homePage.getArticleInfo().getId());
}
});
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
+ ImageLoader.getInstance().displayImage( homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
break;
case 502:
((HomePageOneCellHolder) viewHolder).userName.setText(homePage.getUserInfo().getUserName());
((HomePageOneCellHolder) viewHolder).userAction.setText("赞同了了文章");
- ((HomePageOneCellHolder) viewHolder).userActionContent.setText(homePage.getArticleInfo().getArticleTitle());
- ImageLoader.getInstance().displayImage(RelativeUrl.AVATAR + homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
+ ((HomePageOneCellHolder) viewHolder).userActionContent.setText(homePage.getArticleInfo().getTitle());
+ ImageLoader.getInstance().displayImage( homePage.getUserInfo().getUserAvatar(), ((HomePageOneCellHolder) viewHolder).userProfile, ImageOptions.optionsImage);
((HomePageOneCellHolder) viewHolder).userActionContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- ArticleActivity.openArticle(mContext, homePage.getArticleInfo().getArticleId());
+ ArticleActivity.openArticle(mContext, homePage.getArticleInfo().getId());
}
});
break;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/MultipleTopicsAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/MultipleTopicsAdapter.java
new file mode 100644
index 0000000..dd91484
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/MultipleTopicsAdapter.java
@@ -0,0 +1,77 @@
+package org.iflab.wecentermobileandroidrestructure.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.activity.TopicsActivity;
+import org.iflab.wecentermobileandroidrestructure.model.personal.MultipleTopics;
+import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalTopic;
+
+import java.util.List;
+
+/**
+ * Created by Lyn on 15/12/5.
+ */
+public class MultipleTopicsAdapter extends RecyclerView.Adapter {
+
+ private final LayoutInflater mLayoutInflater;
+ private final Context mContext;
+ private List datas;
+
+ public MultipleTopicsAdapter(Context mContext, List datas) {
+ this.mContext = mContext;
+ this.datas = datas;
+ this.mLayoutInflater = LayoutInflater.from(mContext);
+ }
+
+ public void setData(List datas) {
+ this.datas = datas;
+ notifyDataSetChanged();
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ return new PersonalTopicHolder(mLayoutInflater.inflate(R.layout.item_personal_topic, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
+ ((PersonalTopicHolder) holder).txt_topic_name.setText(datas.get(position).getTopic_title() + "\n" +
+ datas.get(position).getTopic_description());
+ ((PersonalTopicHolder) holder).linear_topic_item.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(mContext, TopicsActivity.class);
+ intent.putExtra("topic_id", datas.get(position).getTopic_id());
+ mContext.startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public int getItemCount() {
+ return datas.size();
+ }
+
+ public static class PersonalTopicHolder extends RecyclerView.ViewHolder {
+
+ TextView txt_topic_name;
+ ImageView image_avatar;
+ LinearLayout linear_topic_item;
+
+ public PersonalTopicHolder(View itemView) {
+ super(itemView);
+ txt_topic_name = (TextView) itemView.findViewById(R.id.txt_topic_name);
+ image_avatar = (ImageView) itemView.findViewById(R.id.image_avatar);
+ linear_topic_item = (LinearLayout) itemView.findViewById(R.id.linear_topic_item);
+ }
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalAnswerAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalAnswerAdapter.java
index b7b66ac..22119b8 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalAnswerAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalAnswerAdapter.java
@@ -7,14 +7,18 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
import org.iflab.wecentermobileandroidrestructure.activity.QuestionAnswerActivity;
import org.iflab.wecentermobileandroidrestructure.activity.QuestionDetailActivity;
+import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalAnswer;
import java.util.List;
@@ -35,13 +39,19 @@ public class PersonalAnswerAdapter extends RecyclerView.Adapter {
private String userName;
private String signature;
private String uid;
+ String avatar;
- public PersonalAnswerAdapter(String signature, String userName, List datas, Context mContext, String uid) {
+ public PersonalAnswerAdapter(String signature, String userName,
+ List datas,
+ Context mContext,
+ String uid,
+ String avatar) {
this.signature = signature;
this.userName = userName;
this.datas = datas;
this.mContext = mContext;
this.mLayoutInflater = LayoutInflater.from(mContext);
+ this.avatar = avatar;
this.uid = uid;
}
@@ -58,15 +68,16 @@ public void setData(List datas) {
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final PersonalAnswer.RowsEntity entity = datas.get(position);
- Log.d("huangchen", (((PersonalAnswerHolder) holder).txt_question_title == null) + "");
- ((PersonalAnswerHolder) holder).txt_question_title.setText(entity.getQuestion_title());
+ ((PersonalAnswerHolder) holder).txt_question_title.setText(entity.getQuestion_info().getQuestion_content());
((PersonalAnswerHolder) holder).txt_user_name.setText(userName);
- ((PersonalAnswerHolder) holder).txt_signature.setText(signature);
- ((PersonalAnswerHolder) holder).txt_answer_content.setText(entity.getAnswer_content());
+// ((PersonalAnswerHolder) holder).txt_signature.setText(signature);
+ ((PersonalAnswerHolder) holder).txt_agree_count.setText(entity.getAnswer_info().getAgree_count()+"");
+ ImageLoader.getInstance().displayImage(avatar,((PersonalAnswerHolder) holder).img_user);
+ ((PersonalAnswerHolder) holder).txt_answer_content.setText(entity.getAnswer_info().getAnswer_content());
((PersonalAnswerHolder) holder).rel_top.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- QuestionDetailActivity.openQuestionDetail(mContext, Integer.parseInt(uid), Integer.parseInt(entity.getQuestion_id()));
+ QuestionDetailActivity.openQuestionDetail(mContext, Integer.parseInt(uid),entity.getQuestion_info().getQuestion_id());
}
});
((PersonalAnswerHolder) holder).rel_left.setOnClickListener(new View.OnClickListener() {
@@ -80,8 +91,8 @@ public void onClick(View v) {
@Override
public void onClick(View v) {
Intent intent = new Intent();
- intent.putExtra("answer_id", Integer.parseInt(entity.getAnswer_id()));
- intent.putExtra("question_title", entity.getQuestion_title());
+ intent.putExtra("answer_id", entity.getAnswer_info().getAnswer_id());
+ intent.putExtra("question_title", entity.getQuestion_info().getQuestion_content());
intent.setClass(mContext, QuestionAnswerActivity.class);
mContext.startActivity(intent);
}
@@ -100,9 +111,10 @@ public static class PersonalAnswerHolder extends RecyclerView.ViewHolder {
RelativeLayout rel_right;
TextView txt_question_title;
TextView txt_user_name;
- TextView txt_signature;
+// TextView txt_signature;
TextView txt_answer_content;
- TextView img_user;
+ TextView txt_agree_count;
+ ImageView img_user;
public PersonalAnswerHolder(View itemView) {
@@ -112,8 +124,11 @@ public PersonalAnswerHolder(View itemView) {
rel_right = (RelativeLayout) itemView.findViewById(R.id.rel_right);
txt_question_title = (TextView) itemView.findViewById(R.id.txt_question_title);
txt_user_name = (TextView) itemView.findViewById(R.id.txt_user_name);
- txt_signature = (TextView) itemView.findViewById(R.id.txt_signature);
+// txt_signature = (TextView) itemView.findViewById(R.id.txt_signature);
txt_answer_content = (TextView) itemView.findViewById(R.id.txt_answer_content);
+ img_user = (ImageView)itemView.findViewById(R.id.img_user);
+ txt_agree_count = (TextView) itemView.findViewById(R.id.txt_agree_count);
+
}
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalArticleAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalArticleAdapter.java
index b0fd9f3..ddc7666 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalArticleAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalArticleAdapter.java
@@ -9,11 +9,15 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.activity.ArticleActivity;
import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
+import org.iflab.wecentermobileandroidrestructure.model.User;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalArticle;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalQuestion;
+import org.iflab.wecentermobileandroidrestructure.tools.Global;
import java.util.List;
@@ -56,8 +60,10 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
((PersonalQuestionHolder) holder).txt_user_name.setText(userName);
- ((PersonalQuestionHolder) holder).txt_question_title.setText(datas.get(position).getTitle());
- ((PersonalQuestionHolder) holder).txt_question_content.setText(datas.get(position).getMessage());
+ ((PersonalQuestionHolder) holder).txt_question_title.setText(datas.get(position).getArticle_info().getTitle());
+ ((PersonalQuestionHolder) holder).txt_question_content.setText(datas.get(position).getArticle_info().getMessage());
+ ((PersonalQuestionHolder) holder).ask_time_txt.setText(Global.TimeStamp2Date(datas.get(position).getArticle_info().getAdd_time()+"","yyyy-MM-dd"));
+ ImageLoader.getInstance().displayImage(userAvatar,((PersonalQuestionHolder) holder).img_user);
((PersonalQuestionHolder) holder).relLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -67,7 +73,7 @@ public void onClick(View v) {
((PersonalQuestionHolder) holder).relRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- ArticleActivity.openArticle(mContext, Integer.parseInt(datas.get(position).getId()));
+ ArticleActivity.openArticle(mContext, datas.get(position).getArticle_info().getId());
}
});
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalFollowingAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalFollowingAdapter.java
index b916ebb..7720579 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalFollowingAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalFollowingAdapter.java
@@ -9,6 +9,8 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalArticle;
@@ -54,16 +56,17 @@ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final PersonalFollowing.RowsEntity rowsEntity = datas.get(position);
((PersonalFollowingHolder) holder).txt_user_name.setText(rowsEntity.getUser_name());
((PersonalFollowingHolder) holder).txt_signature.setText(rowsEntity.getSignature());
+ ImageLoader.getInstance().displayImage(rowsEntity.getAvatar_file(),((PersonalFollowingHolder) holder).avatar);
((PersonalFollowingHolder) holder).avatar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- PersonalCenterActivity.openPersonalCenter(mContext, Integer.parseInt(rowsEntity.getUid()));
+ PersonalCenterActivity.openPersonalCenter(mContext, rowsEntity.getUid());
}
});
((PersonalFollowingHolder) holder).rel_right.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- PersonalCenterActivity.openPersonalCenter(mContext, Integer.parseInt(rowsEntity.getUid()));
+ PersonalCenterActivity.openPersonalCenter(mContext, rowsEntity.getUid());
}
});
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalQuestionAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalQuestionAdapter.java
index 68cb0e6..ed16047 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalQuestionAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalQuestionAdapter.java
@@ -9,10 +9,13 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
import org.iflab.wecentermobileandroidrestructure.R;
import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
import org.iflab.wecentermobileandroidrestructure.activity.QuestionDetailActivity;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalQuestion;
+import org.iflab.wecentermobileandroidrestructure.tools.Global;
import java.util.List;
@@ -55,8 +58,10 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
((PersonalQuestionHolder) holder).txt_user_name.setText(userName);
- ((PersonalQuestionHolder) holder).txt_question_title.setText(datas.get(position).getTitle());
- ((PersonalQuestionHolder) holder).txt_question_content.setText(datas.get(position).getDetail());
+ ((PersonalQuestionHolder) holder).txt_question_title.setVisibility(View.INVISIBLE);
+ ((PersonalQuestionHolder) holder).txt_question_content.setText(datas.get(position).getQuestion_info().getQuestion_content());
+ ((PersonalQuestionHolder) holder).ask_time_txt.setText(Global.TimeStamp2Date(datas.get(position).getQuestion_info().getAdd_time()+"","yyyy-MM-dd"));
+ ImageLoader.getInstance().displayImage(userAvatar,((PersonalQuestionHolder) holder).img_user);
((PersonalQuestionHolder) holder).relLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -66,7 +71,7 @@ public void onClick(View v) {
((PersonalQuestionHolder) holder).relRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- QuestionDetailActivity.openQuestionDetail(mContext, uid, Integer.parseInt(datas.get(position).getId()));
+ QuestionDetailActivity.openQuestionDetail(mContext, uid, datas.get(position).getQuestion_info().getQuestion_id());
}
});
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalTopicAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalTopicAdapter.java
index 5b6f091..fc52ec8 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalTopicAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/PersonalTopicAdapter.java
@@ -1,15 +1,20 @@
package org.iflab.wecentermobileandroidrestructure.adapter;
import android.content.Context;
+import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.activity.TopicsActivity;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalQuestion;
import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalTopic;
@@ -28,12 +33,10 @@ public class PersonalTopicAdapter extends RecyclerView.Adapter {
private final LayoutInflater mLayoutInflater;
private final Context mContext;
private List datas;
- private String userName;
- public PersonalTopicAdapter(Context mContext, List datas, String userName) {
+ public PersonalTopicAdapter(Context mContext, List datas) {
this.mContext = mContext;
this.datas = datas;
- this.userName = userName;
this.mLayoutInflater = LayoutInflater.from(mContext);
}
@@ -48,8 +51,17 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType
}
@Override
- public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
- ((PersonalTopicHolder) holder).txt_topic_name.setText(datas.get(position).getTopic_title());
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
+ ((PersonalTopicHolder) holder).txt_topic_name.setText(datas.get(position).getTopic_title() + "\n"+
+ datas.get(position).getTopic_description());
+ ((PersonalTopicHolder) holder).linear_topic_item.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(mContext, TopicsActivity.class);
+ intent.putExtra("topic_id",datas.get(position).getTopic_id());
+ mContext.startActivity(intent);
+ }
+ });
}
@Override
@@ -60,10 +72,14 @@ public int getItemCount() {
public static class PersonalTopicHolder extends RecyclerView.ViewHolder {
TextView txt_topic_name;
+ ImageView image_avatar;
+ LinearLayout linear_topic_item;
public PersonalTopicHolder(View itemView) {
super(itemView);
txt_topic_name = (TextView) itemView.findViewById(R.id.txt_topic_name);
+ image_avatar = (ImageView)itemView.findViewById(R.id.image_avatar);
+ linear_topic_item = (LinearLayout)itemView.findViewById(R.id.linear_topic_item);
}
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/SearchAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/SearchAdapter.java
index e78210b..1a0e5b2 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/SearchAdapter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/SearchAdapter.java
@@ -1,6 +1,7 @@
package org.iflab.wecentermobileandroidrestructure.adapter;
import android.content.Context;
+import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
@@ -16,6 +17,7 @@
import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
import org.iflab.wecentermobileandroidrestructure.activity.QuestionDetailActivity;
import org.iflab.wecentermobileandroidrestructure.activity.SearchActivity;
+import org.iflab.wecentermobileandroidrestructure.activity.TopicsActivity;
import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
import org.iflab.wecentermobileandroidrestructure.model.Search.SearchArticles;
import org.iflab.wecentermobileandroidrestructure.model.Search.SearchBase;
@@ -101,18 +103,20 @@ public void onClick(View v) {
((QuestionsCellHolder) holder).rlQuestion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- QuestionDetailActivity.openQuestionDetail(mContext,searchQuestions.getUid(),searchQuestions.getSearch_id());
+ QuestionDetailActivity.openQuestionDetail(mContext,searchQuestions.getSearch_id(),searchQuestions.getSearch_id());
}
});
}else if(searchBase instanceof SearchTopics) {
- SearchTopics searchTopics = (SearchTopics)searchBase;
+ final SearchTopics searchTopics = (SearchTopics)searchBase;
((TopicsCellHolder)holder).txtTopicView.setText(searchTopics.getName());
-// ((TopicsCellHolder)holder).rlTopics.setOnClickListener(new View.OnClickListener() {
-// @Override
-// public void onClick(View v) {
-//
-// }
-// });
+ ((TopicsCellHolder)holder).rlTopics.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(mContext, TopicsActivity.class);
+ intent.putExtra("topic_id",searchTopics.getSearch_id());
+ mContext.startActivity(intent);
+ }
+ });
}else if(searchBase instanceof SearchUsers){
final SearchUsers searchUsers = (SearchUsers)searchBase;
((UsersCellHolder)holder).txtUserName.setText(searchUsers.getName());
@@ -121,7 +125,7 @@ public void onClick(View v) {
((UsersCellHolder) holder).rlUsers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- PersonalCenterActivity.openPersonalCenter(mContext,searchUsers.getUid());
+ PersonalCenterActivity.openPersonalCenter(mContext,searchUsers.getSearch_id());
}
});
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/TopicDetailAdapter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/TopicDetailAdapter.java
new file mode 100644
index 0000000..3faa8d5
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/adapter/TopicDetailAdapter.java
@@ -0,0 +1,116 @@
+package org.iflab.wecentermobileandroidrestructure.adapter;
+
+import android.content.Context;
+import android.content.Intent;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+
+import com.nostra13.universalimageloader.core.ImageLoader;
+
+import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.activity.PersonalCenterActivity;
+import org.iflab.wecentermobileandroidrestructure.activity.QuestionAnswerActivity;
+import org.iflab.wecentermobileandroidrestructure.activity.QuestionDetailActivity;
+import org.iflab.wecentermobileandroidrestructure.model.personal.TopicDetailAnswer;
+
+import java.util.List;
+
+/**
+ * Created by Lyn on 15/12/3.
+ */
+public class TopicDetailAdapter extends RecyclerView.Adapter{
+ private final LayoutInflater mLayoutInflater;
+ private final Context mContext;
+ private List datas;
+
+ public TopicDetailAdapter(List datas,
+ Context mContext) {
+ this.datas = datas;
+ this.mContext = mContext;
+ this.mLayoutInflater = LayoutInflater.from(mContext);
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ return new PersonalAnswerHolder(mLayoutInflater.inflate(R.layout.item_personal_answer, parent, false));
+ }
+
+ public void setData(List datas) {
+ this.datas = datas;
+ notifyDataSetChanged();
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ final TopicDetailAnswer.RowsEntity entity = datas.get(position);
+ ((PersonalAnswerHolder) holder).txt_question_title.setText(entity.getQuestion_info().getQuestion_content());
+ ((PersonalAnswerHolder) holder).txt_user_name.setText(entity.getUser_info().getUser_name());
+// ((PersonalAnswerHolder) holder).txt_signature.setText(signature);
+ ((PersonalAnswerHolder) holder).txt_agree_count.setText(entity.getAnswer_info().getAgree_count()+"");
+ ImageLoader.getInstance().displayImage(entity.getUser_info().getAvatar_file(),((PersonalAnswerHolder) holder).img_user);
+ ((PersonalAnswerHolder) holder).txt_answer_content.setText(entity.getAnswer_info().getAnswer_content());
+ ((PersonalAnswerHolder) holder).rel_top.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ QuestionDetailActivity.openQuestionDetail(mContext, entity.getUser_info().getUid(),entity.getQuestion_info().getQuestion_id());
+ }
+ });
+ ((PersonalAnswerHolder) holder).rel_left.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PersonalCenterActivity.openPersonalCenter(mContext, entity.getUser_info().getUid());
+ }
+ });
+
+ ((PersonalAnswerHolder) holder).rel_right.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent();
+ intent.putExtra("answer_id", entity.getAnswer_info().getAnswer_id());
+ intent.putExtra("question_title", entity.getQuestion_info().getQuestion_content());
+ intent.setClass(mContext, QuestionAnswerActivity.class);
+ mContext.startActivity(intent);
+ }
+ });
+ }
+
+ @Override
+ public int getItemCount() {
+ return datas.size();
+ }
+
+ public static class PersonalAnswerHolder extends RecyclerView.ViewHolder {
+
+ LinearLayout rel_left;
+ RelativeLayout rel_top;
+ RelativeLayout rel_right;
+ TextView txt_question_title;
+ TextView txt_user_name;
+ // TextView txt_signature;
+ TextView txt_answer_content;
+ TextView txt_agree_count;
+ ImageView img_user;
+
+
+ public PersonalAnswerHolder(View itemView) {
+ super(itemView);
+ rel_top = (RelativeLayout) itemView.findViewById(R.id.rel_top);
+ rel_left = (LinearLayout) itemView.findViewById(R.id.rel_left);
+ rel_right = (RelativeLayout) itemView.findViewById(R.id.rel_right);
+ txt_question_title = (TextView) itemView.findViewById(R.id.txt_question_title);
+ txt_user_name = (TextView) itemView.findViewById(R.id.txt_user_name);
+// txt_signature = (TextView) itemView.findViewById(R.id.txt_signature);
+ txt_answer_content = (TextView) itemView.findViewById(R.id.txt_answer_content);
+ img_user = (ImageView)itemView.findViewById(R.id.img_user);
+ txt_agree_count = (TextView) itemView.findViewById(R.id.txt_agree_count);
+
+ }
+ }
+}
+
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/application/WecenterApplication.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/application/WecenterApplication.java
index ebab21e..58d1018 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/application/WecenterApplication.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/application/WecenterApplication.java
@@ -2,6 +2,7 @@
import android.content.Context;
+import android.util.Log;
import com.nostra13.universalimageloader.cache.disc.impl.ext.LruDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
@@ -12,6 +13,8 @@
import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.RefWatcher;
+import org.iflab.wecentermobileandroidrestructure.tools.DroidUncaughtExceptionHandler;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
import org.litepal.LitePalApplication;
/**
@@ -29,7 +32,10 @@ public void onCreate() {
sWidthPix = getResources().getDisplayMetrics().widthPixels;
sHeightPix = getResources().getDisplayMetrics().heightPixels;
initImageLoader(getApplicationContext());
- initRefWatcher();
+// initRefWatcher();
+ Thread.setDefaultUncaughtExceptionHandler(new DroidUncaughtExceptionHandler(this));
+// int[] a = {1};
+// System.out.print(a[11]);
}
private void initRefWatcher() {
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/FoundChildFragment.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/FoundChildFragment.java
index bdcdafa..42af4a5 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/FoundChildFragment.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/FoundChildFragment.java
@@ -110,6 +110,7 @@ public void onRefresh() {
}
private void setData() {
+ refreshLayout.setRefreshing(true);
AsyncHttpWecnter.loadData(getActivity(), RelativeUrl.FOUND, generateParam(), AsyncHttpWecnter.Request.Get, new NetWork() {
@Override
@@ -135,17 +136,18 @@ public void parseJson(JSONObject response) {
QuestionInfo questionInfo = new QuestionInfo();
questionInfo.setQuestionId(row.getInt("question_id"));
questionInfo.setQuestionContent(row.getString("question_content"));
- questionInfo.setQuestionDetail(row.getString("question_detail"));
- questionInfo.setUpdateTime(row.getString("update_time"));
+ questionInfo.setQuestionDetail(row.getString("question_content"));
+ questionInfo.setUpdateTime(row.getString("add_time"));
questionInfo.setType(post_type);
int answerCount = row.getInt("answer_count");
if (answerCount != 0) {
- JSONObject answerObject = row.getJSONObject("answer");
- JSONObject userInfoObject = answerObject.getJSONObject("user_info");
+ JSONArray array = row.getJSONArray("answer_users");
+ JSONObject userInfoObject = array.getJSONObject(0);
+// JSONObject userInfoObject = answerObject.getJSONObject("user_info");
questionInfo.setAnswerUid(userInfoObject.getInt("uid"));
questionInfo.setAnswerUserName(userInfoObject.getString("user_name"));
questionInfo.setAnswerAvatarFile(userInfoObject.getString("avatar_file"));
- questionInfo.setAnswerContent(answerObject.getString("answer_content"));
+// questionInfo.setAnswerContent(answerObject.getString("answer_content"));
}
JSONObject userInfoObject = row.getJSONObject("user_info");
questionInfo.setPublishUid(userInfoObject.getInt("uid"));
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HomePageFragment.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HomePageFragment.java
index bf9584a..f78bfd3 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HomePageFragment.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HomePageFragment.java
@@ -1,12 +1,15 @@
package org.iflab.wecentermobileandroidrestructure.fragment;
+import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -40,6 +43,7 @@
* Created by hcjcch on 15/5/28.
*/
public class HomePageFragment extends BaseFragment {
+ private static int REFRESH = 11;
private RecyclerView listHomepage;
private FloatingActionButton fab;
private SwipeRefreshLayout refreshLayout;
@@ -109,11 +113,34 @@ public void onRefresh() {
});
fab.setOnClickListener(new View.OnClickListener() {
@Override
- public void onClick(View v) {
- Intent intent = new Intent(getActivity().getApplicationContext(), PublishAnswerArticleActivity.class);
- intent.putExtra(PublishAnswerArticleActivity.PUBLISH_TYPE_INTENT,PublishAnswerArticleActivity.PUBLISH_QUESTION);
- startActivity(intent);
+ public void onClick(final View v) {
+ AlertDialog dialog = new AlertDialog.Builder(getActivity())
+ .setItems(new String[]{"发布文章", "发布问题"}, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Intent intent = new Intent(getActivity().getApplicationContext(), PublishAnswerArticleActivity.class);
+ switch (which){
+ case 0:
+ intent.putExtra(PublishAnswerArticleActivity.PUBLISH_TYPE_INTENT,
+ PublishAnswerArticleActivity.PUBLISH_ARTICLE);
+ break;
+ case 1:
+ intent.putExtra(PublishAnswerArticleActivity.PUBLISH_TYPE_INTENT,
+ PublishAnswerArticleActivity.PUBLISH_QUESTION);
+
+ break;
+ }
+ int[] startingLocation = new int[2];
+ v.getLocationOnScreen(startingLocation);
+ startingLocation[0] += v.getWidth() / 2;
+ intent.putExtra(PublishAnswerArticleActivity.ARG_REVEAL_START_LOCATION, startingLocation);
+ startActivityForResult(intent,REFRESH);
+ getActivity().overridePendingTransition(0, 0);
+ dialog.dismiss();
+ }
+ }).create();
+ dialog.show();
}
});
endlessRecyclerOnScrollListener = new EndlessRecyclerOnScrollListener(linearLayoutManager) {
@@ -129,6 +156,13 @@ public void onLoadMore(int current_page) {
private void loadData() {
AsyncHttpWecnter.get(RelativeUrl.HOME_PAGE, setParams(), new AsyncHttpResponseHandler() {
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ refreshLayout.setRefreshing(true);
+ }
+
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String res = new String(responseBody);
@@ -154,12 +188,12 @@ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
JSONObject row = rows.getJSONObject(i);
int history_id = row.getInt("history_id");
homePage.setHistoryId(history_id);
- int uid = row.getInt("uid");
- homePage.setUid(uid);
+// int uid = row.getInt("uid");
+// homePage.setUid(uid);
int associate_action = row.getInt("associate_action");
homePage.setAssociateAction(associate_action);
- int associate_id = row.getInt("associate_id");
- homePage.setAssociateId(associate_id);
+// int associate_id = row.getInt("associate_id");
+// homePage.setAssociateId(associate_id);
int add_time = row.getInt("add_time");
homePage.setAddTime(add_time);
JSONObject userInfoJsonObject = row.getJSONObject("user_info");
@@ -181,13 +215,13 @@ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
questionInfo.setQuestionContent(questionInfoContent);
homePage.setQuestionInfo(questionInfo);
// questionInfo.save();
- } else if (associate_action == 501 || associate_action == 502) {
+ } else if (associate_action == 501 || associate_action == 502 ||associate_action == 503) {
JSONObject articleInfoJsonObject = row.getJSONObject("article_info");
ArticleInfo articleInfo = new ArticleInfo();
int articleInfoId = articleInfoJsonObject.getInt("id");
String articleinfoTitle = articleInfoJsonObject.getString("title");
- articleInfo.setArticleId(articleInfoId);
- articleInfo.setArticleTitle(articleinfoTitle);
+ articleInfo.setId(articleInfoId);
+ articleInfo.setTitle(articleinfoTitle);
homePage.setArticleInfo(articleInfo);
// articleInfo.save();
} else {
@@ -202,16 +236,18 @@ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
JSONObject answerInfoJsonObject = row.getJSONObject("answer_info");
int answerId = answerInfoJsonObject.getInt("answer_id");
- int questionId = answerInfoJsonObject.getInt("question_id");
- String answerContent = answerInfoJsonObject.getString("answer_content");
+// int questionId = answerInfoJsonObject.getInt("question_id");
+// String answerContent = answerInfoJsonObject.getString("answer_content");
+ String answerContent = "";
int agreeCount = answerInfoJsonObject.getInt("agree_count");
- int agree_status = answerInfoJsonObject.getInt("agree_status");
+// int agree_status = answerInfoJsonObject.getInt("agree_status");
+ int against_count = answerInfoJsonObject.getInt("against_count");
AnswerInfo answerInfo = new AnswerInfo();
answerInfo.setAnswerId(answerId);
- answerInfo.setQuestionId(questionId);
+ answerInfo.setQuestionId(questionInfoId);
answerInfo.setAnswerContent(answerContent);
answerInfo.setAgreeCount(agreeCount);
- answerInfo.setAgreestatus(agree_status);
+ answerInfo.setAgreestatus(against_count);
homePage.setAnswerInfo(answerInfo);
// answerInfo.save();
}
@@ -251,4 +287,18 @@ private void refreshReset() {
loadMore = true;
endlessRecyclerOnScrollListener.reset();
}
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if(requestCode == REFRESH){
+ loadData();
+ }else
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ homePages.clear();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HotTopicChildFragment.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HotTopicChildFragment.java
new file mode 100644
index 0000000..b8a5dfa
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HotTopicChildFragment.java
@@ -0,0 +1,163 @@
+package org.iflab.wecentermobileandroidrestructure.fragment;
+
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.google.gson.Gson;
+import com.loopj.android.http.RequestParams;
+
+import org.iflab.wecentermobileandroidrestructure.R;
+import org.iflab.wecentermobileandroidrestructure.adapter.MultipleTopicsAdapter;
+import org.iflab.wecentermobileandroidrestructure.adapter.PersonalTopicAdapter;
+import org.iflab.wecentermobileandroidrestructure.common.NetWork;
+import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
+import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
+import org.iflab.wecentermobileandroidrestructure.listener.EndlessRecyclerOnScrollListener;
+import org.iflab.wecentermobileandroidrestructure.model.User;
+import org.iflab.wecentermobileandroidrestructure.model.personal.PersonalTopic;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+/**
+ * HotTopicChildFragment
+ */
+public class HotTopicChildFragment extends BaseFragment {
+
+ @Bind(R.id.recyclerview_topic)
+ RecyclerView recyclerView;
+
+ @Bind(R.id.swipyrefreshlayout)
+ SwipeRefreshLayout refreshLayout;
+
+ public static int WEEK = 7,MONTH = 30,SELF = 1;
+ public static HotTopicChildFragment hotTopicChildFragment;
+ int type;
+ int page = 1;
+ boolean loadMore;
+ PersonalTopicAdapter answerAdapter;
+ List data = new ArrayList<>();
+ EndlessRecyclerOnScrollListener endlessRecyclerOnScrollListener;
+
+ public HotTopicChildFragment() {}
+
+ public static HotTopicChildFragment newInstance(int type){
+ hotTopicChildFragment = new HotTopicChildFragment();
+ Bundle bundle = new Bundle();
+ bundle.putInt("type", type);
+ hotTopicChildFragment.setArguments(bundle);
+ return hotTopicChildFragment;
+ }
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ View view = inflater.inflate(R.layout.fragment_hot_topic_child, container, false);
+ ButterKnife.bind(this,view);
+ Bundle bundle = getArguments();
+ type = bundle.getInt("type");
+
+ setViews();
+ loadData(page);
+
+ return view;
+ }
+
+ private void setViews() {
+ answerAdapter = new PersonalTopicAdapter(getActivity(), data);
+ LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
+ recyclerView.setLayoutManager(linearLayoutManager);
+ recyclerView.setAdapter(answerAdapter);
+ endlessRecyclerOnScrollListener = new EndlessRecyclerOnScrollListener(linearLayoutManager) {
+ @Override
+ public void onLoadMore(int current_page) {
+ loadMoreData();
+ }
+ };
+ recyclerView.addOnScrollListener(endlessRecyclerOnScrollListener);
+ refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ refreshData();
+ }
+ });
+ }
+
+
+ private void refreshData() {
+ endlessRecyclerOnScrollListener.reset();
+ page = 1;
+ data.clear();
+ loadData(page);
+ }
+
+ private void loadMoreData() {
+ if (loadMore) {
+ page++;
+ loadData(page);
+ }
+ }
+
+ private void loadData(int page) {
+ refreshLayout.setRefreshing(true);
+ String url = "";
+ RequestParams params = new RequestParams();
+ params.put("page",page);
+ switch (type){
+ case 7:
+ params.put("day","week");
+ params.put("mobile_sign", MD5Transform.MD5("topic"+AsyncHttpWecnter.SIGN));
+ url = RelativeUrl.HOT_TOPICS;
+ break;
+ case 30:
+ params.put("day","month");
+ params.put("mobile_sign", MD5Transform.MD5("topic"+AsyncHttpWecnter.SIGN));
+ url = RelativeUrl.HOT_TOPICS;
+ break;
+ case 1:
+ params.put("uid", User.getLoginUser(getActivity()).getUid());
+ params.put("mobile_sign", MD5Transform.MD5("people"+AsyncHttpWecnter.SIGN));
+ url = RelativeUrl.PERSONAL_TOPIC;
+ break;
+ }
+ AsyncHttpWecnter.loadData(getActivity(),url, params, AsyncHttpWecnter.Request.Get, new NetWork() {
+ @Override
+ public void parseJson(JSONObject response) {
+ PersonalTopic personalTopic = (new Gson()).fromJson(response.toString(), PersonalTopic.class);
+ if (personalTopic.getTotal_rows() == 0) {
+ loadMore = false;
+ }else {
+ data.addAll(personalTopic.getRows());
+ answerAdapter.setData(data);
+ }
+ refreshLayout.setRefreshing(false);
+ }
+ });
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ data.clear();
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HotTopicsFragment.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HotTopicsFragment.java
new file mode 100644
index 0000000..121940a
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/HotTopicsFragment.java
@@ -0,0 +1,96 @@
+package org.iflab.wecentermobileandroidrestructure.fragment;
+
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.design.widget.TabLayout;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.support.v7.widget.Toolbar;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import org.iflab.wecentermobileandroidrestructure.R;
+
+import butterknife.Bind;
+import butterknife.ButterKnife;
+
+/**
+ * HotTopics
+ */
+public class HotTopicsFragment extends BaseFragment {
+
+
+ @Bind(R.id.tabLayout)
+ TabLayout tabLayout;
+
+ @Bind(R.id.view_pager)
+ ViewPager viewPager;
+
+ public static HotTopicsFragment hotTopicsFragment;
+
+ public HotTopicsFragment() {}
+
+ public static HotTopicsFragment newInstance(){
+ if(hotTopicsFragment == null){
+ hotTopicsFragment = new HotTopicsFragment();
+ }
+ return hotTopicsFragment;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ View view = inflater.inflate(R.layout.fragment_hot_topics, container, false);
+ ButterKnife.bind(this,view);
+ viewPager.setAdapter(new SectionPagerAdapter(getFragmentManager()));
+ tabLayout.setupWithViewPager(viewPager);
+ return view;
+ }
+
+ public class SectionPagerAdapter extends FragmentPagerAdapter {
+
+ public SectionPagerAdapter(FragmentManager fm) {
+ super(fm);
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ switch (position) {
+ case 0:
+ return HotTopicChildFragment.newInstance(HotTopicChildFragment.WEEK);
+ case 1:
+ return HotTopicChildFragment.newInstance(HotTopicChildFragment.MONTH);
+ case 2:
+ return HotTopicChildFragment.newInstance(HotTopicChildFragment.SELF);
+ default:
+ return null;
+ }
+ }
+
+ @Override
+ public int getCount() {
+ return 3;
+ }
+
+ @Override
+ public CharSequence getPageTitle(int position) {
+ switch (position) {
+ case 0:
+ return "一周话题";
+ case 1:
+ return "一月话题";
+ case 2:
+ return "我关注的";
+ default:
+ return "";
+ }
+ }
+ }
+
+
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/SearchFragment.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/SearchFragment.java
index 0f5c1bd..5bd666a 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/SearchFragment.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/fragment/SearchFragment.java
@@ -134,7 +134,6 @@ private void loadData(String searchText){
RequestParams params = new RequestParams();
params.put("page",page);
- params.put("search_type","all");
params.put("q",searchText);
AsyncHttpWecnter.get(RelativeUrl.SEARCH, params, new AsyncHttpResponseHandler() {
@@ -150,31 +149,25 @@ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String response = new String(responseBody);
try {
JSONObject responseObj = new JSONObject(response);
- String rsm = responseObj.getString("rsm");
+ JSONObject rsmObj = new JSONObject(responseObj.getString("rsm"));
if (loadMore) {
page++;
}
- if(rsm.equals("null")){
- Toast.makeText(getActivity(), "没有相关内容", Toast.LENGTH_SHORT).show();
+ JSONArray array = rsmObj.getJSONArray("rows");
+ if(array.length() == 0){
+ swipeRefreshLayout.setRefreshing(false);
return;
}
- if (rsm.equals("false")) {
+ if (rsmObj.getInt("total_rows") == 0) {
loadMore = false;
Toast.makeText(getActivity(), "只有这么多了", Toast.LENGTH_SHORT).show();
} else {
- JSONArray array = new JSONArray(rsm);
+
int len = array.length();
for (int i = 0; i < len; i++) {
JSONObject obj = array.getJSONObject(i);
- // 接口居然会给null !!
-// if(obj.getString("uid").equals("null")){
-// obj.put("uid",4);
-// }
-// if(obj.getString("score").equals("null")){
-// obj.put("score",1);
-// }
- Log.v("type", obj.getString("type"));
+
if (obj.getString("type").equals(ARTICLES)) {
searchArticles = gson.fromJson(array.getString(i), SearchArticles.class);
searchList.add(searchArticles);
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/AsyncHttpWecnter.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/AsyncHttpWecnter.java
index 4340926..cb2dba4 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/AsyncHttpWecnter.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/AsyncHttpWecnter.java
@@ -15,7 +15,11 @@
import com.loopj.android.http.RequestParams;
import org.apache.http.Header;
+import org.apache.http.protocol.BasicHttpContext;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.SyncBasicHttpContext;
import org.iflab.wecentermobileandroidrestructure.common.NetWork;
+import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -26,7 +30,8 @@
public class AsyncHttpWecnter {
public static final String TAG = "AsyncHttpWecnter";
- public static final String BASE_URL = "http://we.bistu.edu.cn/";
+ public static final String BASE_URL = "http://www.fanfan.cn/";
+ public static final String SIGN = "LyD1Hw77VL95xKN9H2ydlyQKH1";
public static AsyncHttpClient client = new AsyncHttpClient();
/**
@@ -97,7 +102,7 @@ public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
- Log.d(TAG, "失败 [url:\" + url + \"]" + responseString);
+ Log.d(TAG, "失败 [url:" + url +" ]" + responseString);
//TODO 访问失败
netWork.failure();
}
@@ -132,6 +137,13 @@ public static void setCookieStore(PersistentCookieStore cookieStore) {
client.setCookieStore(cookieStore);
}
+ public static void clear(Context context){
+ client.clearBasicAuth();
+ client.cancelAllRequests(true);
+ PersistentCookieStore myCookieStore = new PersistentCookieStore(context);
+ myCookieStore.clear();
+ }
+
public static void cancelAllRequest() {
client.cancelAllRequests(true);
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/RelativeUrl.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/RelativeUrl.java
index 7bb9a6a..f6495ec 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/RelativeUrl.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/http/RelativeUrl.java
@@ -1,35 +1,43 @@
package org.iflab.wecentermobileandroidrestructure.http;
+import org.iflab.wecentermobileandroidrestructure.tools.MD5Transform;
+
/**
* Created by hcjcch on 15/5/17.
*/
public class RelativeUrl {
- public static String AVATAR = "http://we.bistu.edu.cn/uploads/avatar/";//头像文件夹
- public static String USER_LOGIN = "?/api/account/login_process/"; //登录
- public static String HOME_PAGE = "?/api/home/"; //首页
- public static String USER_INFO = "?/api/account/get_userinfo/";//用户信息
- public static String USER_IMG_EDIT = "?/api/account/avatar_upload/";//用户头像修改
- public static String USER_INFORMATION_EDIT = "api/profile_setting.php";//用户信息修改
- public static String USER_INFO_GET_EDIT = "api/profile.php";//用户信息修改前的获取信息
- public static String ATTACHMENT_UPLOAD = "?/api/publish/attach_upload/";//上传附件
- public static String UPLOAD_QUESTION = "?/api/publish/publish_question/";//上传问题
- public static String FOUND = "?/api/explore/";//发现
- public static String PERSONAL_ARTICLE = "api/my_article.php";//个人文章
- public static String PERSONAL_QUESTION = "api/my_question.php";//我的提问列表
- public static String UPLOAD_ANSWER = "?/question/ajax/save_answer_comment/";//发布回答评论
- public static String PERSONAL_ANSWER = "api/my_answer.php";//个人回答
- public static String PERSONAL_TOPIC = "api/my_focus_topic.php";//个人话题
- public static String FOLLOWING = "api/my_focus_user.php";//关注者
- public static String FOLLOWER = "api/my_fans_user.php";//个人粉丝
- public static String ARTICLE_INFO = "?/api/article/article/"; //文章
- public static String QUESTION_INFO = "?/api/question/question/";//问题
- public static String QUESTION_FOUCS = "?/question/ajax/focus/";//关注问题
- public static String QUESTION_ANSWER_INFO = "?/api/question/answer_detail/";
- public static String ANSWER_VOTE = "?/question/ajax/answer_vote/";
- public static String ARTICLE_VOTE = "?/article/ajax/article_vote/";
- public static String ANSWER_COMMENT = "api/answer_comment.php";
- public static String ARTICLE_COMMENT = "?/api/article/comment/";
- public static String PUBLISH_ARTICLE = "?/api/publish/save_comment/";
- public static String PUBLISH_ANSWER = "?/api/publish/save_answer/";//回答问题
- public static String SEARCH = "?/api/search/"; //搜索
+ public static String USER_LOGIN = "/api/account/login_process/" + MD5Transform.getSign("account"); //登录
+ public static String HOME_PAGE = "/api/home/" + MD5Transform.getSign("home"); //首页
+ public static String USER_INFO = "/api/account/get_userinfo/";//用户信息
+ public static String USER_IMG_EDIT = "/api/account/avatar_upload/" + MD5Transform.getSign("account");//用户头像修改
+ public static String USER_INFORMATION_EDIT = "/api/people/profile_setting/" + MD5Transform.getSign("people");//用户信息修改
+ public static String USER_INFO_GET_EDIT = "api/profile.php" + MD5Transform.getSign("profile");//用户信息修改前的获取信息
+ public static String ATTACHMENT_UPLOAD = "api/publish/attach_upload/" + MD5Transform.getSign("publish");//上传附件
+ public static String UPLOAD_QUESTION = "?/api/publish/publish_question/" + MD5Transform.getSign("publish");//上传问题
+ public static String FOUND = "?/api/explore/" + MD5Transform.getSign("explore");//发现
+// public static String PERSONAL_ARTICLE = "api/my_article.php" + MD5Transform.getSign("my_article");//个人文章
+ public static String USER_ACTION = "/api/people/user_actions/" ;
+ public static String TOPIC_BEST_ANSWER = "/api/topic/topic_best_answer_list/";
+ public static String TOPIC_DETAIL = "/api/topic/topic/";
+ public static String TOPIC_FOCUS = "/topic/ajax/focus_topic/";
+ public static String UPLOAD_ANSWER = "/api/question/save_answer_comment/" + MD5Transform.getSign("question");//发布回答评论
+// public static String PERSONAL_ANSWER = "api/my_answer.php" + MD5Transform.getSign("my_answer");//个人回答
+ public static String PERSONAL_TOPIC = "/api/people/topics/";//个人话题
+ public static String TOPICS = "/api/topic/topics/" + MD5Transform.getSign("topic");
+ public static String FOLLOWER = "api/people/follows/";//个人粉丝
+ public static String ARTICLE_INFO = "/api/article/" ; //文章
+ public static String QUESTION_INFO = "/api/question/" + MD5Transform.getSign("question");//问题
+ public static String QUESTION_FOUCS = "/question/ajax/focus/" + MD5Transform.getSign("ajax");//关注问题
+ public static String QUESTION_ANSWER_INFO = "/api/question/answer/";
+ public static String ANSWER_VOTE = "/question/ajax/answer_vote/" + MD5Transform.getSign("ajax");
+ public static String ARTICLE_VOTE = "/article/ajax/article_vote/" + MD5Transform.getSign("ajax");
+ public static String ANSWER_COMMENT = "api/question/answer_comments/" + MD5Transform.getSign("question");
+ public static String ARTICLE_COMMENT = "/api/article/article_comments/";
+ public static String PUBLISH_ARTICLE = "/api/publish/publish_article/" + MD5Transform.getSign("publish");
+ public static String PUBLISH_ANSWER = "/api/publish/save_answer/" + MD5Transform.getSign("publish");//回答问题
+ public static String SEARCH = "/api/search/" + MD5Transform.getSign("search"); //搜索
+ public static String FOLLOW_PEOPLE = "/follow/ajax/follow_people/" + MD5Transform.getSign("ajax");
+ public static String REGISTER = "api/account/register_process/" + MD5Transform.getSign("account");
+ public static String HOT_TOPICS = "/api/topic/hot_topics/";
+ public static String CRASH_LOG = "/api/log/crash/" + MD5Transform.getSign("log");
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchArticles.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchArticles.java
index d831367..b4a259e 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchArticles.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchArticles.java
@@ -5,40 +5,28 @@
*/
public class SearchArticles extends SearchBase{
+
/**
- * uid : 9
- * score : 1
* type : articles
- * url : http://we.bistu.edu.cn/?/article/6
- * search_id : 6
- * name : 我决定粘贴一篇特别长的图文混排的文章
- * detail : {"comments":0,"views":9}
+ * search_id : 21
+ * name : 想想当年经济大萧条,这次股市暴跌也是个警示
+ * detail : {"comments":0,"views":63}
*/
- private int uid;
- private int score;
private String type;
- private String url;
private int search_id;
private String name;
- private DetailEntity detail;
-
- public void setUid(int uid) {
- this.uid = uid;
- }
+ /**
+ * comments : 0
+ * views : 63
+ */
- public void setScore(int score) {
- this.score = score;
- }
+ private DetailEntity detail;
public void setType(String type) {
this.type = type;
}
- public void setUrl(String url) {
- this.url = url;
- }
-
public void setSearch_id(int search_id) {
this.search_id = search_id;
}
@@ -51,22 +39,10 @@ public void setDetail(DetailEntity detail) {
this.detail = detail;
}
- public int getUid() {
- return uid;
- }
-
- public int getScore() {
- return score;
- }
-
public String getType() {
return type;
}
- public String getUrl() {
- return url;
- }
-
public int getSearch_id() {
return search_id;
}
@@ -80,11 +56,6 @@ public DetailEntity getDetail() {
}
public static class DetailEntity {
- /**
- * comments : 0
- * views : 9
- */
-
private int comments;
private int views;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchQuestions.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchQuestions.java
index 0df3503..369c32d 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchQuestions.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchQuestions.java
@@ -5,40 +5,31 @@
*/
public class SearchQuestions extends SearchBase{
+
/**
- * uid : null
- * score : 1
* type : questions
- * url : http://we.bistu.edu.cn/?/question/17
- * search_id : 17
- * name : 我想发一个问题
- * detail : {"best_answer":0,"answer_count":1,"comment_count":0,"focus_count":1,"agree_count":0}
+ * search_id : 146
+ * name : 降息对股市有什么影响?
+ * detail : {"best_answer":0,"answer_count":1,"comment_count":0,"focus_count":2,"agree_count":7}
*/
- private int uid;
- private int score;
private String type;
- private String url;
private int search_id;
private String name;
- private DetailEntity detail;
-
- public void setUid(int uid) {
- this.uid = uid;
- }
+ /**
+ * best_answer : 0
+ * answer_count : 1
+ * comment_count : 0
+ * focus_count : 2
+ * agree_count : 7
+ */
- public void setScore(int score) {
- this.score = score;
- }
+ private DetailEntity detail;
public void setType(String type) {
this.type = type;
}
- public void setUrl(String url) {
- this.url = url;
- }
-
public void setSearch_id(int search_id) {
this.search_id = search_id;
}
@@ -51,22 +42,10 @@ public void setDetail(DetailEntity detail) {
this.detail = detail;
}
- public int getUid() {
- return uid;
- }
-
- public int getScore() {
- return score;
- }
-
public String getType() {
return type;
}
- public String getUrl() {
- return url;
- }
-
public int getSearch_id() {
return search_id;
}
@@ -80,14 +59,6 @@ public DetailEntity getDetail() {
}
public static class DetailEntity {
- /**
- * best_answer : 0
- * answer_count : 1
- * comment_count : 0
- * focus_count : 1
- * agree_count : 0
- */
-
private int best_answer;
private int answer_count;
private int comment_count;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchTopics.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchTopics.java
index b18907c..208de53 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchTopics.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchTopics.java
@@ -7,39 +7,29 @@ public class SearchTopics extends SearchBase{
/**
- * uid : 9
- * score : 1
- * type : articles
- * url : http://we.bistu.edu.cn/?/article/6
- * search_id : 6
- * name : 我决定粘贴一篇特别长的图文混排的文章
- * detail : {"topic_pic":"http://we.bistu.edu.cn/static/common/topic-mid-img.png","topic_id":14,"focus_count":1,"discuss_count":3,"topic_description":""}
+ * type : topics
+ * search_id : 60
+ * name : 股市
+ * detail : {"topic_pic":"http://wecenter.dev.hihwei.com/static/common/topic-mid-img.png","topic_id":60,"focus_count":2,"discuss_count":34,"topic_description":""}
*/
- private int uid;
- private int score;
private String type;
- private String url;
private int search_id;
private String name;
- private DetailEntity detail;
-
- public void setUid(int uid) {
- this.uid = uid;
- }
+ /**
+ * topic_pic : http://wecenter.dev.hihwei.com/static/common/topic-mid-img.png
+ * topic_id : 60
+ * focus_count : 2
+ * discuss_count : 34
+ * topic_description :
+ */
- public void setScore(int score) {
- this.score = score;
- }
+ private DetailEntity detail;
public void setType(String type) {
this.type = type;
}
- public void setUrl(String url) {
- this.url = url;
- }
-
public void setSearch_id(int search_id) {
this.search_id = search_id;
}
@@ -52,22 +42,10 @@ public void setDetail(DetailEntity detail) {
this.detail = detail;
}
- public int getUid() {
- return uid;
- }
-
- public int getScore() {
- return score;
- }
-
public String getType() {
return type;
}
- public String getUrl() {
- return url;
- }
-
public int getSearch_id() {
return search_id;
}
@@ -81,14 +59,6 @@ public DetailEntity getDetail() {
}
public static class DetailEntity {
- /**
- * topic_pic : http://we.bistu.edu.cn/static/common/topic-mid-img.png
- * topic_id : 14
- * focus_count : 1
- * discuss_count : 3
- * topic_description :
- */
-
private String topic_pic;
private int topic_id;
private int focus_count;
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchUsers.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchUsers.java
index e8b8cd4..78adb7f 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchUsers.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/Search/SearchUsers.java
@@ -7,39 +7,30 @@ public class SearchUsers extends SearchBase{
/**
- * uid : 4
- * score : null
- * type : users
- * url : http://we.bistu.edu.cn/?/people/hc
- * search_id : 4
- * name : hc
- * detail : {"avatar_file":"http://we.bistu.edu.cn/uploads/avatar/000/00/00/04_avatar_mid.jpg","signature":"青山依旧在,几度夕阳红!","reputation":0,"agree_count":2,"thanks_count":0}
+ * type : articles
+ * search_id : 21
+ * name : 想想当年经济大萧条,这次股市暴跌也是个警示
+ * detail : {"avatar_file":"","reputation":63,"agree_count":1,"thanks_count":1,"fans_count":1,"signature":""}
*/
- private int uid;
- private int score;
private String type;
- private String url;
private int search_id;
private String name;
- private DetailEntity detail;
-
- public void setUid(int uid) {
- this.uid = uid;
- }
+ /**
+ * avatar_file :
+ * reputation : 63
+ * agree_count : 1
+ * thanks_count : 1
+ * fans_count : 1
+ * signature :
+ */
- public void setScore(int score) {
- this.score = score;
- }
+ private DetailEntity detail;
public void setType(String type) {
this.type = type;
}
- public void setUrl(String url) {
- this.url = url;
- }
-
public void setSearch_id(int search_id) {
this.search_id = search_id;
}
@@ -52,22 +43,10 @@ public void setDetail(DetailEntity detail) {
this.detail = detail;
}
- public int getUid() {
- return uid;
- }
-
- public int getScore() {
- return score;
- }
-
public String getType() {
return type;
}
- public String getUrl() {
- return url;
- }
-
public int getSearch_id() {
return search_id;
}
@@ -81,28 +60,17 @@ public DetailEntity getDetail() {
}
public static class DetailEntity {
- /**
- * avatar_file : http://we.bistu.edu.cn/uploads/avatar/000/00/00/04_avatar_mid.jpg
- * signature : 青山依旧在,几度夕阳红!
- * reputation : 0
- * agree_count : 2
- * thanks_count : 0
- */
-
private String avatar_file;
- private String signature;
private int reputation;
private int agree_count;
private int thanks_count;
+ private int fans_count;
+ private String signature;
public void setAvatar_file(String avatar_file) {
this.avatar_file = avatar_file;
}
- public void setSignature(String signature) {
- this.signature = signature;
- }
-
public void setReputation(int reputation) {
this.reputation = reputation;
}
@@ -115,12 +83,16 @@ public void setThanks_count(int thanks_count) {
this.thanks_count = thanks_count;
}
- public String getAvatar_file() {
- return avatar_file;
+ public void setFans_count(int fans_count) {
+ this.fans_count = fans_count;
}
- public String getSignature() {
- return signature;
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
}
public int getReputation() {
@@ -134,5 +106,13 @@ public int getAgree_count() {
public int getThanks_count() {
return thanks_count;
}
+
+ public int getFans_count() {
+ return fans_count;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/User.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/User.java
index 86dbb8e..b1af94c 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/User.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/User.java
@@ -82,4 +82,25 @@ public static User getLoginUser(Context context) {
return user;
}
+ public static void clear(Context context){
+ SharedPreferences sharedPreferences = context.getSharedPreferences("loginUser", Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.clear();
+ editor.apply();
+ }
+
+ public static void setOwnerSign(Context context,String sign){
+ SharedPreferences sharedPreferences = context.getSharedPreferences("loginUser", Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putString("signNature", sign);
+ editor.apply();
+ }
+
+ public static void setOwnerAvatar(Context context,String avatar){
+ SharedPreferences sharedPreferences = context.getSharedPreferences("loginUser", Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putString("avatarFile", avatar);
+ editor.apply();
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleComment.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleComment.java
index c2c9fe0..fd8b248 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleComment.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleComment.java
@@ -1,148 +1,186 @@
package org.iflab.wecentermobileandroidrestructure.model.article;
+import java.util.List;
+
/**
* Created by Lyn on 15/7/31.
*/
public class ArticleComment {
- int id;
- int uid;
- String message;
- long add_time;
- int at_uid;
- int votes;
- UserInfo user_info;
- AtUserInfo at_user_info;
- int vote_value;
-
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
+ /**
+ * total_rows : 2
+ * rows : [{"id":1,"uid":3,"article_id":30,"message":"GG ","add_time":1447911331,"at_uid":0,"votes":0,"user_info":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"},"at_user_info":null,"vote_info":null},{"id":2,"uid":3,"article_id":30,"message":"GG个","add_time":1447911338,"at_uid":3,"votes":0,"user_info":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"},"at_user_info":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"},"vote_info":null}]
+ */
- public int getUid() {
- return uid;
- }
+ private int total_rows;
+ /**
+ * id : 1
+ * uid : 3
+ * article_id : 30
+ * message : GG
+ * add_time : 1447911331
+ * at_uid : 0
+ * votes : 0
+ * user_info : {"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"}
+ * at_user_info : null
+ * vote_info : null
+ */
- public void setUid(int uid) {
- this.uid = uid;
- }
+ private List rows;
- public String getMessage() {
- return message;
+ public void setTotal_rows(int total_rows) {
+ this.total_rows = total_rows;
}
- public void setMessage(String message) {
- this.message = message;
+ public void setRows(List rows) {
+ this.rows = rows;
}
- public long getAdd_time() {
- return add_time;
+ public int getTotal_rows() {
+ return total_rows;
}
- public void setAdd_time(long add_time) {
- this.add_time = add_time;
+ public List getRows() {
+ return rows;
}
- public int getAt_uid() {
- return at_uid;
- }
+ public static class RowsEntity {
+ private int id;
+ private int uid;
+ private int article_id;
+ private String message;
+ private long add_time;
+ private int at_uid;
+ private int votes;
+ /**
+ * uid : 3
+ * user_name : BugFree
+ * signature : 绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg
+ */
- public void setAt_uid(int at_uid) {
- this.at_uid = at_uid;
- }
+ private UserInfoEntity user_info;
+ private Object at_user_info;
+ private Object vote_info;
- public int getVotes() {
- return votes;
- }
+ public void setId(int id) {
+ this.id = id;
+ }
- public void setVotes(int votes) {
- this.votes = votes;
- }
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
- public UserInfo getUser_info() {
- return user_info;
- }
+ public void setArticle_id(int article_id) {
+ this.article_id = article_id;
+ }
- public void setUser_info(UserInfo user_info) {
- this.user_info = user_info;
- }
+ public void setMessage(String message) {
+ this.message = message;
+ }
- public AtUserInfo getAt_user_info() {
- return at_user_info;
- }
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
- public void setAt_user_info(AtUserInfo at_user_info) {
- this.at_user_info = at_user_info;
- }
+ public void setAt_uid(int at_uid) {
+ this.at_uid = at_uid;
+ }
- public int getVote_value() {
- return vote_value;
- }
+ public void setVotes(int votes) {
+ this.votes = votes;
+ }
- public void setVote_value(int vote_value) {
- this.vote_value = vote_value;
- }
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
+ public void setAt_user_info(Object at_user_info) {
+ this.at_user_info = at_user_info;
+ }
- @Override
- public String toString() {
- return "ArticleComment{" +
- "id=" + id +
- ", uid=" + uid +
- ", message='" + message + '\'' +
- ", add_time=" + add_time +
- ", at_uid=" + at_uid +
- ", votes=" + votes +
- ", user_info=" + user_info.toString() +
- ", at_user_info='" + "at_user_info is null" + '\'' +
- ", vote_value=" + vote_value +
- '}';
- }
+ public void setVote_info(Object vote_info) {
+ this.vote_info = vote_info;
+ }
- public static class UserInfo {
- int uid;
- String user_name;
- String avatar_file;
+ public int getId() {
+ return id;
+ }
public int getUid() {
return uid;
}
- public void setUid(int uid) {
- this.uid = uid;
+ public int getArticle_id() {
+ return article_id;
}
- public String getUser_name() {
- return user_name;
+ public String getMessage() {
+ return message;
}
- public void setUser_name(String user_name) {
- this.user_name = user_name;
+ public long getAdd_time() {
+ return add_time;
}
- public String getAvatar_file() {
- return avatar_file;
+ public int getAt_uid() {
+ return at_uid;
}
- public void setAvatar_file(String avatar_file) {
- this.avatar_file = avatar_file;
+ public int getVotes() {
+ return votes;
}
- @Override
- public String toString() {
- return "{" +
- "uid=" + uid +
- ", user_name='" + user_name + '\'' +
- ", avatar_file='" + avatar_file + '\'' +
- '}';
+ public UserInfoEntity getUser_info() {
+ return user_info;
}
- }
- public static class AtUserInfo{
+ public Object getAt_user_info() {
+ return at_user_info;
+ }
+
+ public Object getVote_info() {
+ return vote_info;
+ }
+
+ public static class UserInfoEntity {
+ private int uid;
+ private String user_name;
+ private String signature;
+ private String avatar_file;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleInfo.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleInfo.java
index 5c374f6..273024e 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleInfo.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/article/ArticleInfo.java
@@ -6,100 +6,331 @@
* Created by hcjcch on 15/5/31.
*/
public class ArticleInfo extends DataSupport{
- int id;
- int uid;
- String title;
- String message;
- int votes;
- String user_name;
- String avatar_file;
- String signature;
- int vote_value;
-
- public int getArticleId() {
- return id;
- }
- public void setArticleId(int id) {
- this.id = id;
- }
- public int getUid() {
- return uid;
+ /**
+ * id : 30
+ * uid : 19
+ * title : 【分享】吴
+ * message : 8月8日,
+ * comments : 2
+ * views : 70
+ * add_time : 1439349922
+ * has_attach : 0
+ * lock : 0
+ * votes : 2
+ * title_fulltext : 2099820139 2
+ * category_id : 1
+ * is_recommend : 1
+ * chapter_id : null
+ * sort : 0
+ * user_info : {"uid":19,"user_name":"放肆","signature":"好困。。。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/19_avatar_mid.jpg"}
+ * vote_info : {"id":30,"uid":3,"type":"article","item_id":30,"rating":1,"time":1439350026,"reputation_factor":1,"item_uid":19}
+ * vote_users : null
+ * user_follow_check : 1
+ */
+
+ private int id;
+ private int uid;
+ private String title;
+ private String message;
+ private int comments;
+ private int views;
+ private long add_time;
+ private int has_attach;
+ private int lock;
+ private int votes;
+ private String title_fulltext;
+ private int category_id;
+ private int is_recommend;
+ private Object chapter_id;
+ private int sort;
+ /**
+ * uid : 19
+ * user_name : 放肆
+ * signature : 好困。。。
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/19_avatar_mid.jpg
+ */
+
+ private UserInfoEntity user_info;
+ /**
+ * id : 30
+ * uid : 3
+ * type : article
+ * item_id : 30
+ * rating : 1
+ * time : 1439350026
+ * reputation_factor : 1
+ * item_uid : 19
+ */
+
+ private VoteInfoEntity vote_info;
+ private Object vote_users;
+ private int user_follow_check;
+
+ public void setId(int id) {
+ this.id = id;
}
public void setUid(int uid) {
this.uid = uid;
}
- public String getArticleTitle() {
- return title;
+ public void setTitle(String title) {
+ this.title = title;
}
- public void setArticleTitle(String title) {
- this.title = title;
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public void setComments(int comments) {
+ this.comments = comments;
+ }
+
+ public void setViews(int views) {
+ this.views = views;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setHas_attach(int has_attach) {
+ this.has_attach = has_attach;
+ }
+
+ public void setLock(int lock) {
+ this.lock = lock;
+ }
+
+ public void setVotes(int votes) {
+ this.votes = votes;
+ }
+
+ public void setTitle_fulltext(String title_fulltext) {
+ this.title_fulltext = title_fulltext;
+ }
+
+ public void setCategory_id(int category_id) {
+ this.category_id = category_id;
+ }
+
+ public void setIs_recommend(int is_recommend) {
+ this.is_recommend = is_recommend;
+ }
+
+ public void setChapter_id(Object chapter_id) {
+ this.chapter_id = chapter_id;
+ }
+
+ public void setSort(int sort) {
+ this.sort = sort;
+ }
+
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
+
+ public void setVote_info(VoteInfoEntity vote_info) {
+ this.vote_info = vote_info;
+ }
+
+ public void setVote_users(Object vote_users) {
+ this.vote_users = vote_users;
+ }
+
+ public void setUser_follow_check(int user_follow_check) {
+ this.user_follow_check = user_follow_check;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getTitle() {
+ return title;
}
public String getMessage() {
return message;
}
- public void setMessage(String message) {
- this.message = message;
+ public int getComments() {
+ return comments;
+ }
+
+ public int getViews() {
+ return views;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getHas_attach() {
+ return has_attach;
+ }
+
+ public int getLock() {
+ return lock;
}
public int getVotes() {
return votes;
}
- public void setVotes(int votes) {
- this.votes = votes;
+ public String getTitle_fulltext() {
+ return title_fulltext;
+ }
+
+ public int getCategory_id() {
+ return category_id;
}
- public String getUser_name() {
- return user_name;
+ public int getIs_recommend() {
+ return is_recommend;
}
- public void setUser_name(String user_name) {
- this.user_name = user_name;
+ public Object getChapter_id() {
+ return chapter_id;
}
- public String getAvatar_file() {
- return avatar_file;
+ public int getSort() {
+ return sort;
}
- public void setAvatar_file(String avatar_file) {
- this.avatar_file = avatar_file;
+ public UserInfoEntity getUser_info() {
+ return user_info;
}
- public String getSignature() {
- return signature;
+ public VoteInfoEntity getVote_info() {
+ return vote_info;
}
- public void setSignature(String signature) {
- this.signature = signature;
+ public Object getVote_users() {
+ return vote_users;
}
- public int getVote_value() {
- return vote_value;
+ public int getUser_follow_check() {
+ return user_follow_check;
}
- public void setVote_value(int vote_value) {
- this.vote_value = vote_value;
+ public static class UserInfoEntity {
+ private int uid;
+ private String user_name;
+ private String signature;
+ private String avatar_file;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
}
- @Override
- public String toString() {
- return "ArticleInfo{" +
- "id=" + id +
- ", uid=" + uid +
- ", title='" + title + '\'' +
- ", message='" + message + '\'' +
- ", votes=" + votes +
- ", user_name='" + user_name + '\'' +
- ", avatar_file='" + avatar_file + '\'' +
- ", signature='" + signature + '\'' +
- ", vote_value=" + vote_value +
- '}';
+ public static class VoteInfoEntity {
+ private int id;
+ private int uid;
+ private String type;
+ private int item_id;
+ private int rating;
+ private int time;
+ private int reputation_factor;
+ private int item_uid;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public void setItem_id(int item_id) {
+ this.item_id = item_id;
+ }
+
+ public void setRating(int rating) {
+ this.rating = rating;
+ }
+
+ public void setTime(int time) {
+ this.time = time;
+ }
+
+ public void setReputation_factor(int reputation_factor) {
+ this.reputation_factor = reputation_factor;
+ }
+
+ public void setItem_uid(int item_uid) {
+ this.item_uid = item_uid;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public int getItem_id() {
+ return item_id;
+ }
+
+ public int getRating() {
+ return rating;
+ }
+
+ public int getTime() {
+ return time;
+ }
+
+ public int getReputation_factor() {
+ return reputation_factor;
+ }
+
+ public int getItem_uid() {
+ return item_uid;
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/MultipleTopics.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/MultipleTopics.java
new file mode 100644
index 0000000..1515f2d
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/MultipleTopics.java
@@ -0,0 +1,229 @@
+package org.iflab.wecentermobileandroidrestructure.model.personal;
+
+import java.util.List;
+
+/**
+ * Created by Lyn on 15/12/5.
+ */
+public class MultipleTopics {
+
+ /**
+ * rsm : [{"topic_id":251,"topic_title":"开发商","add_time":1444038484,"discuss_count":1,"topic_description":"","topic_pic":null,"topic_lock":0,"focus_count":1,"user_related":0,"url_token":"%E5%BC%80%E5%8F%91%E5%95%86","merged_id":0,"seo_title":null,"parent_id":0,"is_parent":0,"discuss_count_last_week":1,"discuss_count_last_month":1,"discuss_count_update":1444038484,"has_focus":0},{"topic_id":252,"topic_title":"房地产","add_time":1444038484,"discuss_count":1,"topic_description":"","topic_pic":null,"topic_lock":0,"focus_count":1,"user_related":0,"url_token":"%E6%88%BF%E5%9C%B0%E4%BA%A7","merged_id":0,"seo_title":null,"parent_id":0,"is_parent":0,"discuss_count_last_week":1,"discuss_count_last_month":1,"discuss_count_update":1444038484,"has_focus":0}]
+ * errno : 1
+ * err : null
+ */
+
+ private int errno;
+ private Object err;
+ /**
+ * topic_id : 251
+ * topic_title : 开发商
+ * add_time : 1444038484
+ * discuss_count : 1
+ * topic_description :
+ * topic_pic : null
+ * topic_lock : 0
+ * focus_count : 1
+ * user_related : 0
+ * url_token : %E5%BC%80%E5%8F%91%E5%95%86
+ * merged_id : 0
+ * seo_title : null
+ * parent_id : 0
+ * is_parent : 0
+ * discuss_count_last_week : 1
+ * discuss_count_last_month : 1
+ * discuss_count_update : 1444038484
+ * has_focus : 0
+ */
+
+ private List rsm;
+
+ public void setErrno(int errno) {
+ this.errno = errno;
+ }
+
+ public void setErr(Object err) {
+ this.err = err;
+ }
+
+ public void setRsm(List rsm) {
+ this.rsm = rsm;
+ }
+
+ public int getErrno() {
+ return errno;
+ }
+
+ public Object getErr() {
+ return err;
+ }
+
+ public List getRsm() {
+ return rsm;
+ }
+
+ public static class RsmEntity {
+ private int topic_id;
+ private String topic_title;
+ private int add_time;
+ private int discuss_count;
+ private String topic_description;
+ private Object topic_pic;
+ private int topic_lock;
+ private int focus_count;
+ private int user_related;
+ private String url_token;
+ private int merged_id;
+ private Object seo_title;
+ private int parent_id;
+ private int is_parent;
+ private int discuss_count_last_week;
+ private int discuss_count_last_month;
+ private int discuss_count_update;
+ private int has_focus;
+
+ public void setTopic_id(int topic_id) {
+ this.topic_id = topic_id;
+ }
+
+ public void setTopic_title(String topic_title) {
+ this.topic_title = topic_title;
+ }
+
+ public void setAdd_time(int add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setDiscuss_count(int discuss_count) {
+ this.discuss_count = discuss_count;
+ }
+
+ public void setTopic_description(String topic_description) {
+ this.topic_description = topic_description;
+ }
+
+ public void setTopic_pic(Object topic_pic) {
+ this.topic_pic = topic_pic;
+ }
+
+ public void setTopic_lock(int topic_lock) {
+ this.topic_lock = topic_lock;
+ }
+
+ public void setFocus_count(int focus_count) {
+ this.focus_count = focus_count;
+ }
+
+ public void setUser_related(int user_related) {
+ this.user_related = user_related;
+ }
+
+ public void setUrl_token(String url_token) {
+ this.url_token = url_token;
+ }
+
+ public void setMerged_id(int merged_id) {
+ this.merged_id = merged_id;
+ }
+
+ public void setSeo_title(Object seo_title) {
+ this.seo_title = seo_title;
+ }
+
+ public void setParent_id(int parent_id) {
+ this.parent_id = parent_id;
+ }
+
+ public void setIs_parent(int is_parent) {
+ this.is_parent = is_parent;
+ }
+
+ public void setDiscuss_count_last_week(int discuss_count_last_week) {
+ this.discuss_count_last_week = discuss_count_last_week;
+ }
+
+ public void setDiscuss_count_last_month(int discuss_count_last_month) {
+ this.discuss_count_last_month = discuss_count_last_month;
+ }
+
+ public void setDiscuss_count_update(int discuss_count_update) {
+ this.discuss_count_update = discuss_count_update;
+ }
+
+ public void setHas_focus(int has_focus) {
+ this.has_focus = has_focus;
+ }
+
+ public int getTopic_id() {
+ return topic_id;
+ }
+
+ public String getTopic_title() {
+ return topic_title;
+ }
+
+ public int getAdd_time() {
+ return add_time;
+ }
+
+ public int getDiscuss_count() {
+ return discuss_count;
+ }
+
+ public String getTopic_description() {
+ return topic_description;
+ }
+
+ public Object getTopic_pic() {
+ return topic_pic;
+ }
+
+ public int getTopic_lock() {
+ return topic_lock;
+ }
+
+ public int getFocus_count() {
+ return focus_count;
+ }
+
+ public int getUser_related() {
+ return user_related;
+ }
+
+ public String getUrl_token() {
+ return url_token;
+ }
+
+ public int getMerged_id() {
+ return merged_id;
+ }
+
+ public Object getSeo_title() {
+ return seo_title;
+ }
+
+ public int getParent_id() {
+ return parent_id;
+ }
+
+ public int getIs_parent() {
+ return is_parent;
+ }
+
+ public int getDiscuss_count_last_week() {
+ return discuss_count_last_week;
+ }
+
+ public int getDiscuss_count_last_month() {
+ return discuss_count_last_month;
+ }
+
+ public int getDiscuss_count_update() {
+ return discuss_count_update;
+ }
+
+ public int getHas_focus() {
+ return has_focus;
+ }
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/Person.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/Person.java
new file mode 100644
index 0000000..9ac7e3f
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/Person.java
@@ -0,0 +1,228 @@
+package org.iflab.wecentermobileandroidrestructure.model.personal;
+
+/**
+ * Created by Lyn on 15/11/27.
+ */
+public class Person {
+
+
+ /**
+ * uid : 2
+ * user_name : 小韭菜
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/02_avatar_max.jpg
+ * sex : 1
+ * province : 浙江省
+ * city : 杭州市
+ * fans_count : 50
+ * friend_count : 23
+ * article_count : 6
+ * question_count : 4
+ * answer_count : 51
+ * topic_focus_count : 28
+ * agree_count : 240
+ * thanks_count : 8
+ * views_count : 162
+ * signature : 非职业投机客...
+ * answer_favorite_count : 1
+ * has_focus : 0
+ */
+
+ private RsmEntity rsm;
+ /**
+ * rsm : {"uid":2,"user_name":"小韭菜","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/02_avatar_max.jpg","sex":1,"province":"浙江省","city":"杭州市","fans_count":50,"friend_count":23,"article_count":6,"question_count":4,"answer_count":51,"topic_focus_count":28,"agree_count":240,"thanks_count":8,"views_count":162,"signature":"非职业投机客...","answer_favorite_count":1,"has_focus":0}
+ * errno : 1
+ * err : null
+ */
+
+ private int errno;
+ private Object err;
+
+ public void setRsm(RsmEntity rsm) {
+ this.rsm = rsm;
+ }
+
+ public void setErrno(int errno) {
+ this.errno = errno;
+ }
+
+ public void setErr(Object err) {
+ this.err = err;
+ }
+
+ public RsmEntity getRsm() {
+ return rsm;
+ }
+
+ public int getErrno() {
+ return errno;
+ }
+
+ public Object getErr() {
+ return err;
+ }
+
+ public static class RsmEntity {
+ private int uid;
+ private String user_name;
+ private String avatar_file;
+ private int sex;
+ private String province;
+ private String city;
+ private int fans_count;
+ private int friend_count;
+ private int article_count;
+ private int question_count;
+ private int answer_count;
+ private int topic_focus_count;
+ private int agree_count;
+ private int thanks_count;
+ private int views_count;
+ private String signature;
+ private int answer_favorite_count;
+ private int has_focus;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public void setSex(int sex) {
+ this.sex = sex;
+ }
+
+ public void setProvince(String province) {
+ this.province = province;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public void setFans_count(int fans_count) {
+ this.fans_count = fans_count;
+ }
+
+ public void setFriend_count(int friend_count) {
+ this.friend_count = friend_count;
+ }
+
+ public void setArticle_count(int article_count) {
+ this.article_count = article_count;
+ }
+
+ public void setQuestion_count(int question_count) {
+ this.question_count = question_count;
+ }
+
+ public void setAnswer_count(int answer_count) {
+ this.answer_count = answer_count;
+ }
+
+ public void setTopic_focus_count(int topic_focus_count) {
+ this.topic_focus_count = topic_focus_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public void setThanks_count(int thanks_count) {
+ this.thanks_count = thanks_count;
+ }
+
+ public void setViews_count(int views_count) {
+ this.views_count = views_count;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public void setAnswer_favorite_count(int answer_favorite_count) {
+ this.answer_favorite_count = answer_favorite_count;
+ }
+
+ public void setHas_focus(int has_focus) {
+ this.has_focus = has_focus;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
+
+ public int getSex() {
+ return sex;
+ }
+
+ public String getProvince() {
+ return province;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public int getFans_count() {
+ return fans_count;
+ }
+
+ public int getFriend_count() {
+ return friend_count;
+ }
+
+ public int getArticle_count() {
+ return article_count;
+ }
+
+ public int getQuestion_count() {
+ return question_count;
+ }
+
+ public int getAnswer_count() {
+ return answer_count;
+ }
+
+ public int getTopic_focus_count() {
+ return topic_focus_count;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
+
+ public int getThanks_count() {
+ return thanks_count;
+ }
+
+ public int getViews_count() {
+ return views_count;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
+
+ public int getAnswer_favorite_count() {
+ return answer_favorite_count;
+ }
+
+ public int getHas_focus() {
+ return has_focus;
+ }
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalAnswer.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalAnswer.java
index 395d340..98b20fc 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalAnswer.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalAnswer.java
@@ -12,14 +12,24 @@
public class PersonalAnswer {
+
/**
- * total_rows : 5
- * rows : [{"agree_count":"0","answer_content":"不陪","avatar_file":"000/00/00/04_avatar_max.jpg","question_title":"你吓到我了,赔钱!","answer_id":"27","question_id":"14"},{"agree_count":"1","answer_content":"huida\n[attach]273[/attach]","avatar_file":"000/00/00/04_avatar_max.jpg","question_title":"huaweic8801","answer_id":"17","question_id":"29"},{"agree_count":"1","answer_content":"当然是**java**好了\n- {{{\nSystem.out.println("I'm good")\n}}}","avatar_file":"000/00/00/04_avatar_max.jpg","question_title":"大四专业课.java与.net选哪个好呢","answer_id":"11","question_id":"8"},{"agree_count":"0","answer_content":"ddsdsdsd\n[attach]53[/attach]\n[attach]52[/attach]\n[attach]54[/attach]\n[attach]58[/attach]\n[attach]55[/attach]\n[attach]56[/attach]\n[attach]59[/attach]\n[attach]60[/attach]\n[attach]57[/attach]\n[attach]62[/attach]\n[attach]63[/attach]\n[attach]61[/attach]\n[attach]66[/attach]\n[attach]67[/attach]\n[attach]68[/attach]\n[attach]64[/attach]\n[attach]65[/attach]","avatar_file":"000/00/00/04_avatar_max.jpg","question_title":"北京信息科技大学最美的时刻","answer_id":"8","question_id":"5"},{"agree_count":"1","answer_content":" 哈哈哈哈哈哈哈哈","avatar_file":"000/00/00/04_avatar_max.jpg","question_title":"我是热门用户","answer_id":"4","question_id":"2"}]
+ * total_rows : 1
+ * rows : [{"history_id":4358,"associate_action":201,"add_time":1448781963,"answer_info":{"answer_id":311,"answer_content":"哈哈哈 测试测试\r\n \r\n \r\n\r\n[attach]47[/attach]\r\n ","add_time":1448781963,"against_count":0,"agree_count":0},"question_info":{"question_id":167,"question_content":"全国房地产开发商前五十名有哪些?","add_time":1444038484,"update_time":1448781963,"answer_count":7,"agree_count":2}}]
*/
- private String total_rows;
+
+ private int total_rows;
+ /**
+ * history_id : 4358
+ * associate_action : 201
+ * add_time : 1448781963
+ * answer_info : {"answer_id":311,"answer_content":"哈哈哈 测试测试\r\n \r\n \r\n\r\n[attach]47[/attach]\r\n ","add_time":1448781963,"against_count":0,"agree_count":0}
+ * question_info : {"question_id":167,"question_content":"全国房地产开发商前五十名有哪些?","add_time":1444038484,"update_time":1448781963,"answer_count":7,"agree_count":2}
+ */
+
private List rows;
- public void setTotal_rows(String total_rows) {
+ public void setTotal_rows(int total_rows) {
this.total_rows = total_rows;
}
@@ -27,7 +37,7 @@ public void setRows(List rows) {
this.rows = rows;
}
- public String getTotal_rows() {
+ public int getTotal_rows() {
return total_rows;
}
@@ -36,67 +46,177 @@ public List getRows() {
}
public static class RowsEntity {
+ private int history_id;
+ private int associate_action;
+ private long add_time;
/**
+ * answer_id : 311
+ * answer_content : 哈哈哈 测试测试
+
+
+
+ [attach]47[/attach]
+
+ * add_time : 1448781963
+ * against_count : 0
* agree_count : 0
- * answer_content : 不陪
- * avatar_file : 000/00/00/04_avatar_max.jpg
- * question_title : 你吓到我了,赔钱!
- * answer_id : 27
- * question_id : 14
*/
- private String agree_count;
- private String answer_content;
- private String avatar_file;
- private String question_title;
- private String answer_id;
- private String question_id;
-
- public void setAgree_count(String agree_count) {
- this.agree_count = agree_count;
+
+ private AnswerInfoEntity answer_info;
+ /**
+ * question_id : 167
+ * question_content : 全国房地产开发商前五十名有哪些?
+ * add_time : 1444038484
+ * update_time : 1448781963
+ * answer_count : 7
+ * agree_count : 2
+ */
+
+ private QuestionInfoEntity question_info;
+
+ public void setHistory_id(int history_id) {
+ this.history_id = history_id;
}
- public void setAnswer_content(String answer_content) {
- this.answer_content = answer_content;
+ public void setAssociate_action(int associate_action) {
+ this.associate_action = associate_action;
}
- public void setAvatar_file(String avatar_file) {
- this.avatar_file = avatar_file;
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
}
- public void setQuestion_title(String question_title) {
- this.question_title = question_title;
+ public void setAnswer_info(AnswerInfoEntity answer_info) {
+ this.answer_info = answer_info;
}
- public void setAnswer_id(String answer_id) {
- this.answer_id = answer_id;
+ public void setQuestion_info(QuestionInfoEntity question_info) {
+ this.question_info = question_info;
}
- public void setQuestion_id(String question_id) {
- this.question_id = question_id;
+ public int getHistory_id() {
+ return history_id;
}
- public String getAgree_count() {
- return agree_count;
+ public int getAssociate_action() {
+ return associate_action;
}
- public String getAnswer_content() {
- return answer_content;
+ public long getAdd_time() {
+ return add_time;
}
- public String getAvatar_file() {
- return avatar_file;
+ public AnswerInfoEntity getAnswer_info() {
+ return answer_info;
}
- public String getQuestion_title() {
- return question_title;
+ public QuestionInfoEntity getQuestion_info() {
+ return question_info;
}
- public String getAnswer_id() {
- return answer_id;
+ public static class AnswerInfoEntity {
+ private int answer_id;
+ private String answer_content;
+ private long add_time;
+ private int against_count;
+ private int agree_count;
+
+ public void setAnswer_id(int answer_id) {
+ this.answer_id = answer_id;
+ }
+
+ public void setAnswer_content(String answer_content) {
+ this.answer_content = answer_content;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setAgainst_count(int against_count) {
+ this.against_count = against_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public int getAnswer_id() {
+ return answer_id;
+ }
+
+ public String getAnswer_content() {
+ return answer_content;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getAgainst_count() {
+ return against_count;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
}
- public String getQuestion_id() {
- return question_id;
+ public static class QuestionInfoEntity {
+ private int question_id;
+ private String question_content;
+ private long add_time;
+ private int update_time;
+ private int answer_count;
+ private int agree_count;
+
+ public void setQuestion_id(int question_id) {
+ this.question_id = question_id;
+ }
+
+ public void setQuestion_content(String question_content) {
+ this.question_content = question_content;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setUpdate_time(int update_time) {
+ this.update_time = update_time;
+ }
+
+ public void setAnswer_count(int answer_count) {
+ this.answer_count = answer_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public int getQuestion_id() {
+ return question_id;
+ }
+
+ public String getQuestion_content() {
+ return question_content;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getUpdate_time() {
+ return update_time;
+ }
+
+ public int getAnswer_count() {
+ return answer_count;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
}
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalArticle.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalArticle.java
index b02a3ee..b61f066 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalArticle.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalArticle.java
@@ -12,14 +12,23 @@
public class PersonalArticle {
+
/**
* total_rows : 1
- * rows : [{"id":"5","title":"文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章","message":"文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章","add_time":"1434897495"}]
+ * rows : [{"history_id":16,"associate_action":501,"add_time":1434706630,"article_info":{"id":3,"title":"读懂ETF,你不再是新韭菜","message":"为什么会发明ETF这样的产品:交易成本低(和买卖股票一样)、有效跟踪指数(不象封闭式基金有很大的折价)、流动性好(有做市商机制和套利盘),而且非常透明(严格复制指数)。","comments":0,"views":36,"add_time":1434706630}}]
*/
- private String total_rows;
+
+ private int total_rows;
+ /**
+ * history_id : 16
+ * associate_action : 501
+ * add_time : 1434706630
+ * article_info : {"id":3,"title":"读懂ETF,你不再是新韭菜","message":"为什么会发明ETF这样的产品:交易成本低(和买卖股票一样)、有效跟踪指数(不象封闭式基金有很大的折价)、流动性好(有做市商机制和套利盘),而且非常透明(严格复制指数)。","comments":0,"views":36,"add_time":1434706630}
+ */
+
private List rows;
- public void setTotal_rows(String total_rows) {
+ public void setTotal_rows(int total_rows) {
this.total_rows = total_rows;
}
@@ -27,7 +36,7 @@ public void setRows(List rows) {
this.rows = rows;
}
- public String getTotal_rows() {
+ public int getTotal_rows() {
return total_rows;
}
@@ -36,47 +45,107 @@ public List getRows() {
}
public static class RowsEntity {
+ private int history_id;
+ private int associate_action;
+ private long add_time;
/**
- * id : 5
- * title : 文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章
- * message : 文章文章文章文章文章文章文章文章文章文章文章文章文章文章文章
- * add_time : 1434897495
+ * id : 3
+ * title : 读懂ETF,你不再是新韭菜
+ * message : 为什么会发明ETF这样的产品:交易成本低(和买卖股票一样)、有效跟踪指数(不象封闭式基金有很大的折价)、流动性好(有做市商机制和套利盘),而且非常透明(严格复制指数)。
+ * comments : 0
+ * views : 36
+ * add_time : 1434706630
*/
- private String id;
- private String title;
- private String message;
- private String add_time;
- public void setId(String id) {
- this.id = id;
- }
+ private ArticleInfoEntity article_info;
- public void setTitle(String title) {
- this.title = title;
+ public void setHistory_id(int history_id) {
+ this.history_id = history_id;
}
- public void setMessage(String message) {
- this.message = message;
+ public void setAssociate_action(int associate_action) {
+ this.associate_action = associate_action;
}
- public void setAdd_time(String add_time) {
+ public void setAdd_time(long add_time) {
this.add_time = add_time;
}
- public String getId() {
- return id;
+ public void setArticle_info(ArticleInfoEntity article_info) {
+ this.article_info = article_info;
}
- public String getTitle() {
- return title;
+ public int getHistory_id() {
+ return history_id;
}
- public String getMessage() {
- return message;
+ public int getAssociate_action() {
+ return associate_action;
}
- public String getAdd_time() {
+ public long getAdd_time() {
return add_time;
}
+
+ public ArticleInfoEntity getArticle_info() {
+ return article_info;
+ }
+
+ public static class ArticleInfoEntity {
+ private int id;
+ private String title;
+ private String message;
+ private int comments;
+ private int views;
+ private long add_time;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public void setComments(int comments) {
+ this.comments = comments;
+ }
+
+ public void setViews(int views) {
+ this.views = views;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public int getComments() {
+ return comments;
+ }
+
+ public int getViews() {
+ return views;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalFollowing.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalFollowing.java
index 2b08a9e..dbb6717 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalFollowing.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalFollowing.java
@@ -12,14 +12,26 @@
public class PersonalFollowing {
+
/**
- * total_rows : 2
- * rows : [{"uid":"5","avatar_file":"000/00/00/05_avatar_max.jpg","signature":"Creating a world of pure white.","user_name":"纯白色蝴蝶"},{"uid":"9","avatar_file":"","signature":"","user_name":"billhu1996"}]
+ * total_rows : 10
+ * rows : [{"uid":25,"user_name":"Daflsh","agree_count":0,"thanks_count":0,"reputation":0,"signature":null,"avatar_file":"http://wecenter.dev.hihwei.com/static/common/avatar-mid-img.png"}]
*/
- private String total_rows;
+
+ private int total_rows;
+ /**
+ * uid : 25
+ * user_name : Daflsh
+ * agree_count : 0
+ * thanks_count : 0
+ * reputation : 0
+ * signature : null
+ * avatar_file : http://wecenter.dev.hihwei.com/static/common/avatar-mid-img.png
+ */
+
private List rows;
- public void setTotal_rows(String total_rows) {
+ public void setTotal_rows(int total_rows) {
this.total_rows = total_rows;
}
@@ -27,7 +39,7 @@ public void setRows(List rows) {
this.rows = rows;
}
- public String getTotal_rows() {
+ public int getTotal_rows() {
return total_rows;
}
@@ -36,47 +48,68 @@ public List getRows() {
}
public static class RowsEntity {
- /**
- * uid : 5
- * avatar_file : 000/00/00/05_avatar_max.jpg
- * signature : Creating a world of pure white.
- * user_name : 纯白色蝴蝶
- */
- private String uid;
- private String avatar_file;
- private String signature;
+ private int uid;
private String user_name;
+ private int agree_count;
+ private int thanks_count;
+ private int reputation;
+ private String signature;
+ private String avatar_file;
- public void setUid(String uid) {
+ public void setUid(int uid) {
this.uid = uid;
}
- public void setAvatar_file(String avatar_file) {
- this.avatar_file = avatar_file;
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public void setThanks_count(int thanks_count) {
+ this.thanks_count = thanks_count;
+ }
+
+ public void setReputation(int reputation) {
+ this.reputation = reputation;
}
public void setSignature(String signature) {
this.signature = signature;
}
- public void setUser_name(String user_name) {
- this.user_name = user_name;
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
}
- public String getUid() {
+ public int getUid() {
return uid;
}
- public String getAvatar_file() {
- return avatar_file;
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
+
+ public int getThanks_count() {
+ return thanks_count;
+ }
+
+ public int getReputation() {
+ return reputation;
}
public String getSignature() {
return signature;
}
- public String getUser_name() {
- return user_name;
+ public String getAvatar_file() {
+ return avatar_file;
}
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalQuestion.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalQuestion.java
index e80de92..486af87 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalQuestion.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalQuestion.java
@@ -12,14 +12,23 @@
public class PersonalQuestion {
+
/**
- * total_rows : 18
- * rows : [{"id":"30","detail":"testhuaweiphoto[attach]267[/attach] [attach]268[/attach] [attach]269[/attach] [attach]270[/attach] [attach]271[/attach] [attach]272[/attach] ","title":"testhuaweiphoto","add_time":"1434893174"},{"id":"29","detail":"huaweic8801","title":"huaweic8801","add_time":"1434892468"},{"id":"28","detail":"删除图片删除图片[attach]265[/attach] [attach]266[/attach] ","title":"删除图片删除图片","add_time":"1434854734"},{"id":"27","detail":"poiuyp[attach]234[/attach] [attach]235[/attach] ","title":"poiuytp","add_time":"1434798314"},{"id":"26","detail":"qwrtuioo[attach]233[/attach] ","title":"qwrtuio","add_time":"1434797638"},{"id":"25","detail":"hhhhmmfmkf","title":"jcjfkkglg","add_time":"1434796709"},{"id":"24","detail":"fjfjjfjfnfnfn","title":"teteyegdhdh","add_time":"1434796346"},{"id":"23","detail":"手机发布手机发布[attach]151[/attach] [attach]152[/attach] [attach]153[/attach] [attach]154[/attach] [attach]155[/attach] [attach]156[/attach] ","title":"手机发布手机发布","add_time":"1434723315"},{"id":"22","detail":"testtest[attach]151[/attach] [attach]152[/attach] ","title":"testtest","add_time":"1434722836"},{"id":"21","detail":"tetstest","title":"testtest","add_time":"1434722315"}]
+ * total_rows : 1
+ * rows : [{"history_id":3032,"associate_action":101,"add_time":1441436907,"question_info":{"question_id":126,"question_content":"谁有中概股公司最新的私有化进程信息和当前溢价统计表?","add_time":1441436907,"update_time":1441437126,"answer_count":1,"agree_count":7}}]
*/
- private String total_rows;
+
+ private int total_rows;
+ /**
+ * history_id : 3032
+ * associate_action : 101
+ * add_time : 1441436907
+ * question_info : {"question_id":126,"question_content":"谁有中概股公司最新的私有化进程信息和当前溢价统计表?","add_time":1441436907,"update_time":1441437126,"answer_count":1,"agree_count":7}
+ */
+
private List rows;
- public void setTotal_rows(String total_rows) {
+ public void setTotal_rows(int total_rows) {
this.total_rows = total_rows;
}
@@ -27,7 +36,7 @@ public void setRows(List rows) {
this.rows = rows;
}
- public String getTotal_rows() {
+ public int getTotal_rows() {
return total_rows;
}
@@ -36,47 +45,107 @@ public List getRows() {
}
public static class RowsEntity {
+ private int history_id;
+ private int associate_action;
+ private long add_time;
/**
- * id : 30
- * detail : testhuaweiphoto[attach]267[/attach] [attach]268[/attach] [attach]269[/attach] [attach]270[/attach] [attach]271[/attach] [attach]272[/attach]
- * title : testhuaweiphoto
- * add_time : 1434893174
+ * question_id : 126
+ * question_content : 谁有中概股公司最新的私有化进程信息和当前溢价统计表?
+ * add_time : 1441436907
+ * update_time : 1441437126
+ * answer_count : 1
+ * agree_count : 7
*/
- private String id;
- private String detail;
- private String title;
- private String add_time;
- public void setId(String id) {
- this.id = id;
- }
+ private QuestionInfoEntity question_info;
- public void setDetail(String detail) {
- this.detail = detail;
+ public void setHistory_id(int history_id) {
+ this.history_id = history_id;
}
- public void setTitle(String title) {
- this.title = title;
+ public void setAssociate_action(int associate_action) {
+ this.associate_action = associate_action;
}
- public void setAdd_time(String add_time) {
+ public void setAdd_time(long add_time) {
this.add_time = add_time;
}
- public String getId() {
- return id;
+ public void setQuestion_info(QuestionInfoEntity question_info) {
+ this.question_info = question_info;
}
- public String getDetail() {
- return detail;
+ public int getHistory_id() {
+ return history_id;
}
- public String getTitle() {
- return title;
+ public int getAssociate_action() {
+ return associate_action;
}
- public String getAdd_time() {
+ public long getAdd_time() {
return add_time;
}
+
+ public QuestionInfoEntity getQuestion_info() {
+ return question_info;
+ }
+
+ public static class QuestionInfoEntity {
+ private int question_id;
+ private String question_content;
+ private long add_time;
+ private int update_time;
+ private int answer_count;
+ private int agree_count;
+
+ public void setQuestion_id(int question_id) {
+ this.question_id = question_id;
+ }
+
+ public void setQuestion_content(String question_content) {
+ this.question_content = question_content;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setUpdate_time(int update_time) {
+ this.update_time = update_time;
+ }
+
+ public void setAnswer_count(int answer_count) {
+ this.answer_count = answer_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public int getQuestion_id() {
+ return question_id;
+ }
+
+ public String getQuestion_content() {
+ return question_content;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getUpdate_time() {
+ return update_time;
+ }
+
+ public int getAnswer_count() {
+ return answer_count;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalTopic.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalTopic.java
index f871f97..a031e84 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalTopic.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/PersonalTopic.java
@@ -12,14 +12,37 @@
public class PersonalTopic {
+
/**
- * total_rows : 21
- * rows : [{"topic_pic":"","topic_title":"哈哈","topic_description":"","topic_id":"6"}]
+ * total_rows : 2
+ * rows : [{"topic_id":13,"topic_title":"基金","add_time":1434772016,"discuss_count":15,"topic_description":"哈哈哈 测试。。","topic_pic":"http://wecenter.dev.hihwei.com/uploads/topic/20151129/e12d3caff53151e54cd1a3b9075cf73b_32_32.jpeg","topic_lock":0,"focus_count":4,"user_related":0,"url_token":"%E5%9F%BA%E9%87%91","merged_id":0,"seo_title":null,"parent_id":0,"is_parent":0,"discuss_count_last_week":1,"discuss_count_last_month":1,"discuss_count_update":1444719904,"has_focus":0},{"topic_id":3,"topic_title":"牛市","add_time":1434675053,"discuss_count":6,"topic_description":"","topic_pic":null,"topic_lock":0,"focus_count":2,"user_related":0,"url_token":"%E7%89%9B%E5%B8%82","merged_id":0,"seo_title":null,"parent_id":0,"is_parent":0,"discuss_count_last_week":5,"discuss_count_last_month":6,"discuss_count_update":1435589709,"has_focus":0}]
*/
- private String total_rows;
+
+ private int total_rows;
+ /**
+ * topic_id : 13
+ * topic_title : 基金
+ * add_time : 1434772016
+ * discuss_count : 15
+ * topic_description : 哈哈哈 测试。。
+ * topic_pic : http://wecenter.dev.hihwei.com/uploads/topic/20151129/e12d3caff53151e54cd1a3b9075cf73b_32_32.jpeg
+ * topic_lock : 0
+ * focus_count : 4
+ * user_related : 0
+ * url_token : %E5%9F%BA%E9%87%91
+ * merged_id : 0
+ * seo_title : null
+ * parent_id : 0
+ * is_parent : 0
+ * discuss_count_last_week : 1
+ * discuss_count_last_month : 1
+ * discuss_count_update : 1444719904
+ * has_focus : 0
+ */
+
private List rows;
- public void setTotal_rows(String total_rows) {
+ public void setTotal_rows(int total_rows) {
this.total_rows = total_rows;
}
@@ -27,7 +50,7 @@ public void setRows(List rows) {
this.rows = rows;
}
- public String getTotal_rows() {
+ public int getTotal_rows() {
return total_rows;
}
@@ -36,47 +59,167 @@ public List getRows() {
}
public static class RowsEntity {
- /**
- * topic_pic :
- * topic_title : 哈哈
- * topic_description :
- * topic_id : 6
- */
- private String topic_pic;
+ private int topic_id;
private String topic_title;
+ private long add_time;
+ private int discuss_count;
private String topic_description;
- private String topic_id;
-
- public void setTopic_pic(String topic_pic) {
- this.topic_pic = topic_pic;
+ private String topic_pic;
+ private int topic_lock;
+ private int focus_count;
+ private int user_related;
+ private String url_token;
+ private int merged_id;
+ private Object seo_title;
+ private int parent_id;
+ private int is_parent;
+ private int discuss_count_last_week;
+ private int discuss_count_last_month;
+ private int discuss_count_update;
+ private int has_focus;
+
+ public void setTopic_id(int topic_id) {
+ this.topic_id = topic_id;
}
public void setTopic_title(String topic_title) {
this.topic_title = topic_title;
}
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setDiscuss_count(int discuss_count) {
+ this.discuss_count = discuss_count;
+ }
+
public void setTopic_description(String topic_description) {
this.topic_description = topic_description;
}
- public void setTopic_id(String topic_id) {
- this.topic_id = topic_id;
+ public void setTopic_pic(String topic_pic) {
+ this.topic_pic = topic_pic;
}
- public String getTopic_pic() {
- return topic_pic;
+ public void setTopic_lock(int topic_lock) {
+ this.topic_lock = topic_lock;
+ }
+
+ public void setFocus_count(int focus_count) {
+ this.focus_count = focus_count;
+ }
+
+ public void setUser_related(int user_related) {
+ this.user_related = user_related;
+ }
+
+ public void setUrl_token(String url_token) {
+ this.url_token = url_token;
+ }
+
+ public void setMerged_id(int merged_id) {
+ this.merged_id = merged_id;
+ }
+
+ public void setSeo_title(Object seo_title) {
+ this.seo_title = seo_title;
+ }
+
+ public void setParent_id(int parent_id) {
+ this.parent_id = parent_id;
+ }
+
+ public void setIs_parent(int is_parent) {
+ this.is_parent = is_parent;
+ }
+
+ public void setDiscuss_count_last_week(int discuss_count_last_week) {
+ this.discuss_count_last_week = discuss_count_last_week;
+ }
+
+ public void setDiscuss_count_last_month(int discuss_count_last_month) {
+ this.discuss_count_last_month = discuss_count_last_month;
+ }
+
+ public void setDiscuss_count_update(int discuss_count_update) {
+ this.discuss_count_update = discuss_count_update;
+ }
+
+ public void setHas_focus(int has_focus) {
+ this.has_focus = has_focus;
+ }
+
+ public int getTopic_id() {
+ return topic_id;
}
public String getTopic_title() {
return topic_title;
}
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getDiscuss_count() {
+ return discuss_count;
+ }
+
public String getTopic_description() {
return topic_description;
}
- public String getTopic_id() {
- return topic_id;
+ public String getTopic_pic() {
+ return topic_pic;
+ }
+
+ public int getTopic_lock() {
+ return topic_lock;
+ }
+
+ public int getFocus_count() {
+ return focus_count;
+ }
+
+ public int getUser_related() {
+ return user_related;
+ }
+
+ public String getUrl_token() {
+ return url_token;
+ }
+
+ public int getMerged_id() {
+ return merged_id;
+ }
+
+ public Object getSeo_title() {
+ return seo_title;
+ }
+
+ public int getParent_id() {
+ return parent_id;
+ }
+
+ public int getIs_parent() {
+ return is_parent;
+ }
+
+ public int getDiscuss_count_last_week() {
+ return discuss_count_last_week;
+ }
+
+ public int getDiscuss_count_last_month() {
+ return discuss_count_last_month;
+ }
+
+ public int getDiscuss_count_update() {
+ return discuss_count_update;
+ }
+
+ public int getHas_focus() {
+ return has_focus;
}
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/TopicDetailAnswer.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/TopicDetailAnswer.java
new file mode 100644
index 0000000..89b9dd0
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/personal/TopicDetailAnswer.java
@@ -0,0 +1,218 @@
+package org.iflab.wecentermobileandroidrestructure.model.personal;
+
+import java.util.List;
+
+/**
+ * Created by Lyn on 15/12/3.
+ */
+public class TopicDetailAnswer {
+
+
+ /**
+ * total_rows : 5
+ * rows : [{"question_info":{"question_id":38,"question_content":"为什么股市中同一10.05%?"},"user_info":{"uid":8,"user_name":"新海基金","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/08_avatar_mid.jpg"},"answer_info":{"answer_id":63,"answer_content":"目前答案根本没有解释","add_time":1436177469,"against_count":0,"agree_count":3,"comment_count":0,"thanks_count":0,"agree_status":0}}]
+ */
+
+ private int total_rows;
+ /**
+ * question_info : {"question_id":38,"question_content":"为什么股市中同一10.05%?"}
+ * user_info : {"uid":8,"user_name":"新海基金","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/08_avatar_mid.jpg"}
+ * answer_info : {"answer_id":63,"answer_content":"目前答案根本没有解释","add_time":1436177469,"against_count":0,"agree_count":3,"comment_count":0,"thanks_count":0,"agree_status":0}
+ */
+
+ private List rows;
+
+ public void setTotal_rows(int total_rows) {
+ this.total_rows = total_rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal_rows() {
+ return total_rows;
+ }
+
+ public List getRows() {
+ return rows;
+ }
+
+ public static class RowsEntity {
+ /**
+ * question_id : 38
+ * question_content : 为什么股市中同一10.05%?
+ */
+
+ private QuestionInfoEntity question_info;
+ /**
+ * uid : 8
+ * user_name : 新海基金
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/08_avatar_mid.jpg
+ */
+
+ private UserInfoEntity user_info;
+ /**
+ * answer_id : 63
+ * answer_content : 目前答案根本没有解释
+ * add_time : 1436177469
+ * against_count : 0
+ * agree_count : 3
+ * comment_count : 0
+ * thanks_count : 0
+ * agree_status : 0
+ */
+
+ private AnswerInfoEntity answer_info;
+
+ public void setQuestion_info(QuestionInfoEntity question_info) {
+ this.question_info = question_info;
+ }
+
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
+
+ public void setAnswer_info(AnswerInfoEntity answer_info) {
+ this.answer_info = answer_info;
+ }
+
+ public QuestionInfoEntity getQuestion_info() {
+ return question_info;
+ }
+
+ public UserInfoEntity getUser_info() {
+ return user_info;
+ }
+
+ public AnswerInfoEntity getAnswer_info() {
+ return answer_info;
+ }
+
+ public static class QuestionInfoEntity {
+ private int question_id;
+ private String question_content;
+
+ public void setQuestion_id(int question_id) {
+ this.question_id = question_id;
+ }
+
+ public void setQuestion_content(String question_content) {
+ this.question_content = question_content;
+ }
+
+ public int getQuestion_id() {
+ return question_id;
+ }
+
+ public String getQuestion_content() {
+ return question_content;
+ }
+ }
+
+ public static class UserInfoEntity {
+ private int uid;
+ private String user_name;
+ private String avatar_file;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
+ }
+
+ public static class AnswerInfoEntity {
+ private int answer_id;
+ private String answer_content;
+ private int add_time;
+ private int against_count;
+ private int agree_count;
+ private int comment_count;
+ private int thanks_count;
+ private int agree_status;
+
+ public void setAnswer_id(int answer_id) {
+ this.answer_id = answer_id;
+ }
+
+ public void setAnswer_content(String answer_content) {
+ this.answer_content = answer_content;
+ }
+
+ public void setAdd_time(int add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setAgainst_count(int against_count) {
+ this.against_count = against_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public void setComment_count(int comment_count) {
+ this.comment_count = comment_count;
+ }
+
+ public void setThanks_count(int thanks_count) {
+ this.thanks_count = thanks_count;
+ }
+
+ public void setAgree_status(int agree_status) {
+ this.agree_status = agree_status;
+ }
+
+ public int getAnswer_id() {
+ return answer_id;
+ }
+
+ public String getAnswer_content() {
+ return answer_content;
+ }
+
+ public int getAdd_time() {
+ return add_time;
+ }
+
+ public int getAgainst_count() {
+ return against_count;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
+
+ public int getComment_count() {
+ return comment_count;
+ }
+
+ public int getThanks_count() {
+ return thanks_count;
+ }
+
+ public int getAgree_status() {
+ return agree_status;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/AnswerInfo.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/AnswerInfo.java
index dd6922c..6d74b10 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/AnswerInfo.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/AnswerInfo.java
@@ -5,99 +5,270 @@
*/
public class AnswerInfo {
- int answer_id;
- String answer_content;
- int agree_count;
- int uid;
- String user_name;
- String avatar_file;
- String signature;
- Long add_time;
- int vote_value;
-
- public Long getAdd_time() {
- return add_time;
- }
- public void setAdd_time(Long add_time) {
- this.add_time = add_time;
- }
+ /**
+ * answer : {"user_info":{"avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/05_avatar_mid.jpg","uid":5,"user_name":"滚雪球","signature":"滚雪球,不是一个人能完成的事儿..."},"comment_count":0,"uid":5,"question_content":"全国房地产开发商前五十名有哪些?","uninterested_count":0,"answer_content":"[b]全国房地产","category_id":1,"user_vote_status":0,"agree_count":2,"against_count":0,"ip":1034167026,"anonymous":0,"has_attach":0,"publish_source":null,"answer_id":289,"user_thanks_status":0,"add_time":1444038839,"question_id":167,"thanks_count":0,"force_fold":0}
+ */
- public int getAnswer_id() {
- return answer_id;
- }
+ private AnswerEntity answer;
- public void setAnswer_id(int answer_id) {
- this.answer_id = answer_id;
+ public void setAnswer(AnswerEntity answer) {
+ this.answer = answer;
}
- public String getAnswer_content() {
- return answer_content;
+ public AnswerEntity getAnswer() {
+ return answer;
}
- public void setAnswer_content(String answer_content) {
- this.answer_content = answer_content;
- }
+ public static class AnswerEntity {
+ /**
+ * user_info : {"avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/05_avatar_mid.jpg","uid":5,"user_name":"滚雪球","signature":"滚雪球,不是一个人能完成的事儿..."}
+ * comment_count : 0
+ * uid : 5
+ * question_content : 全国房地产开发商前五十名有哪些?
+ * uninterested_count : 0
+ * answer_content : [b]全国房地产
+ * category_id : 1
+ * user_vote_status : 0
+ * agree_count : 2
+ * against_count : 0
+ * ip : 1034167026
+ * anonymous : 0
+ * has_attach : 0
+ * publish_source : null
+ * answer_id : 289
+ * user_thanks_status : 0
+ * add_time : 1444038839
+ * question_id : 167
+ * thanks_count : 0
+ * force_fold : 0
+ */
- public int getAgree_count() {
- return agree_count;
- }
+ private UserInfoEntity user_info;
+ private int comment_count;
+ private int uid;
+ private String question_content;
+ private int uninterested_count;
+ private String answer_content;
+ private int category_id;
+ private int user_vote_status;
+ private int agree_count;
+ private int against_count;
+ private long ip;
+ private int anonymous;
+ private int has_attach;
+ private Object publish_source;
+ private int answer_id;
+ private int user_thanks_status;
+ private long add_time;
+ private int question_id;
+ private int thanks_count;
+ private int force_fold;
- public void setAgree_count(int agree_count) {
- this.agree_count = agree_count;
- }
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
- public int getUid() {
- return uid;
- }
+ public void setComment_count(int comment_count) {
+ this.comment_count = comment_count;
+ }
- public void setUid(int uid) {
- this.uid = uid;
- }
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
- public String getUser_name() {
- return user_name;
- }
+ public void setQuestion_content(String question_content) {
+ this.question_content = question_content;
+ }
- public void setUser_name(String user_name) {
- this.user_name = user_name;
- }
+ public void setUninterested_count(int uninterested_count) {
+ this.uninterested_count = uninterested_count;
+ }
- public String getAvatar_file() {
- return avatar_file;
- }
+ public void setAnswer_content(String answer_content) {
+ this.answer_content = answer_content;
+ }
- public void setAvatar_file(String avatar_file) {
- this.avatar_file = avatar_file;
- }
+ public void setCategory_id(int category_id) {
+ this.category_id = category_id;
+ }
- public String getSignature() {
- return signature;
- }
+ public void setUser_vote_status(int user_vote_status) {
+ this.user_vote_status = user_vote_status;
+ }
- public void setSignature(String signature) {
- this.signature = signature;
- }
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
- public int getVote_value() {
- return vote_value;
- }
+ public void setAgainst_count(int against_count) {
+ this.against_count = against_count;
+ }
- public void setVote_value(int vote_value) {
- this.vote_value = vote_value;
- }
+ public void setIp(long ip) {
+ this.ip = ip;
+ }
+
+ public void setAnonymous(int anonymous) {
+ this.anonymous = anonymous;
+ }
+
+ public void setHas_attach(int has_attach) {
+ this.has_attach = has_attach;
+ }
+
+ public void setPublish_source(Object publish_source) {
+ this.publish_source = publish_source;
+ }
+
+ public void setAnswer_id(int answer_id) {
+ this.answer_id = answer_id;
+ }
+
+ public void setUser_thanks_status(int user_thanks_status) {
+ this.user_thanks_status = user_thanks_status;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setQuestion_id(int question_id) {
+ this.question_id = question_id;
+ }
+
+ public void setThanks_count(int thanks_count) {
+ this.thanks_count = thanks_count;
+ }
+
+ public void setForce_fold(int force_fold) {
+ this.force_fold = force_fold;
+ }
+
+ public UserInfoEntity getUser_info() {
+ return user_info;
+ }
+
+ public int getComment_count() {
+ return comment_count;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getQuestion_content() {
+ return question_content;
+ }
+
+ public int getUninterested_count() {
+ return uninterested_count;
+ }
+
+ public String getAnswer_content() {
+ return answer_content;
+ }
+
+ public int getCategory_id() {
+ return category_id;
+ }
+
+ public int getUser_vote_status() {
+ return user_vote_status;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
+
+ public int getAgainst_count() {
+ return against_count;
+ }
+
+ public long getIp() {
+ return ip;
+ }
+
+ public int getAnonymous() {
+ return anonymous;
+ }
+
+ public int getHas_attach() {
+ return has_attach;
+ }
+
+ public Object getPublish_source() {
+ return publish_source;
+ }
+
+ public int getAnswer_id() {
+ return answer_id;
+ }
+
+ public int getUser_thanks_status() {
+ return user_thanks_status;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getQuestion_id() {
+ return question_id;
+ }
+
+ public int getThanks_count() {
+ return thanks_count;
+ }
+
+ public int getForce_fold() {
+ return force_fold;
+ }
+
+ public static class UserInfoEntity {
+ /**
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/05_avatar_mid.jpg
+ * uid : 5
+ * user_name : 滚雪球
+ * signature : 滚雪球,不是一个人能完成的事儿...
+ */
+
+ private String avatar_file;
+ private int uid;
+ private String user_name;
+ private String signature;
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
- @Override
- public String toString() {
- return "AnswerInfo{" +
- "answer_id=" + answer_id +
- ", answer_content='" + answer_content + '\'' +
- ", agree_count=" + agree_count +
- ", uid=" + uid +
- ", user_name='" + user_name + '\'' +
- ", avatar_file='" + avatar_file + '\'' +
- ", signature='" + signature + '\'' +
- ", vote_value=" + vote_value +
- '}';
+ public String getSignature() {
+ return signature;
+ }
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/CommentInfo.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/CommentInfo.java
index d2051f6..ff7cd01 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/CommentInfo.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/CommentInfo.java
@@ -1,63 +1,156 @@
package org.iflab.wecentermobileandroidrestructure.model.question;
+import java.util.List;
+
/**
* Created by Lyn on 15/7/23.
*/
public class CommentInfo {
- int id;
- int uid;
- String user_name;
- String content;
- Long add_time;
-
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public int getUid() {
- return uid;
- }
+ /**
+ * rsm : [{"id":2,"answer_id":291,"uid":3,"message":"恩恩","time":1447899049,"user_info":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"}},{"id":3,"answer_id":291,"uid":3,"message":"@3:中么么啦额","time":1447899057,"at_user":{"3":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"}},"user_info":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"}},{"id":4,"answer_id":291,"uid":3,"message":"@3: @1 @62 哈哈哈","time":1447899982,"at_user":{"1":{"uid":1,"user_name":"Hwei","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/01_avatar_mid.jpg"},"3":{"uid":3,"user_name":"BugFree","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"},"62":{"uid":62,"user_name":"Hwei5047","avatar_file":"http://wecenter.dev.hihwei.com/static/common/avatar-mid-img.png"}},"user_info":{"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"}}]
+ * errno : 1
+ * err : null
+ */
- public void setUid(int uid) {
- this.uid = uid;
- }
+ private int errno;
+ private Object err;
+ private List rsm;
- public String getUser_name() {
- return user_name;
+ public void setErrno(int errno) {
+ this.errno = errno;
}
- public void setUser_name(String user_name) {
- this.user_name = user_name;
+ public void setErr(Object err) {
+ this.err = err;
}
- public String getContent() {
- return content;
+ public void setRsm(List rsm) {
+ this.rsm = rsm;
}
- public void setContent(String content) {
- this.content = content;
+ public int getErrno() {
+ return errno;
}
- public Long getAdd_time() {
- return add_time;
+ public Object getErr() {
+ return err;
}
- public void setAdd_time(Long add_time) {
- this.add_time = add_time;
+ public List getRsm() {
+ return rsm;
}
- @Override
- public String toString() {
- return "CommentInfo{" +
- "id=" + id +
- ", uid=" + uid +
- ", user_name='" + user_name + '\'' +
- ", content='" + content + '\'' +
- ", add_time=" + add_time +
- '}';
+ public static class RsmEntity {
+ /**
+ * id : 2
+ * answer_id : 291
+ * uid : 3
+ * message : 恩恩
+ * time : 1447899049
+ * user_info : {"uid":3,"user_name":"BugFree","signature":"绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg"}
+ */
+
+ private int id;
+ private int answer_id;
+ private int uid;
+ private String message;
+ private int time;
+ private UserInfoEntity user_info;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public void setAnswer_id(int answer_id) {
+ this.answer_id = answer_id;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public void setTime(int time) {
+ this.time = time;
+ }
+
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getAnswer_id() {
+ return answer_id;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public int getTime() {
+ return time;
+ }
+
+ public UserInfoEntity getUser_info() {
+ return user_info;
+ }
+
+ public static class UserInfoEntity {
+ /**
+ * uid : 3
+ * user_name : BugFree
+ * signature : 绝望中新生,迟疑中上涨,欢乐中死亡,企盼中下跌。
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/03_avatar_mid.jpg
+ */
+
+ private int uid;
+ private String user_name;
+ private String signature;
+ private String avatar_file;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionDetailAnswers.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionDetailAnswers.java
new file mode 100644
index 0000000..eb8353f
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionDetailAnswers.java
@@ -0,0 +1,257 @@
+package org.iflab.wecentermobileandroidrestructure.model.question;
+
+/**
+ * Created by Lyn on 15/11/25.
+ */
+public class QuestionDetailAnswers {
+
+ /**
+ * answer_id : 280
+ * question_id : 162
+ * answer_content : 阿里宣布“杭州北京”双主场战略后,准备在北京为中心的北方地区大干一场。此举的目的普遍被解读为针对京东而来,但阿里官方给出的说法是其业务的三分一都已在北京,包括阿里音乐、阿里云、UC优视、高德地图、阿里
+ * add_time : 1443681524
+ * against_count : 0
+ * agree_count : 3
+ * uid : 19
+ * comment_count : 0
+ * uninterested_count : 0
+ * thanks_count : 1
+ * category_id : 1
+ * has_attach : 0
+ * ip : 1034167026
+ * force_fold : 0
+ * anonymous : 0
+ * publish_source : null
+ * user_info : {"uid":19,"user_name":"放肆","signature":"好困。。。","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/19_avatar_mid.jpg"}
+ * user_rated_thanks : null
+ * user_rated_uninterested : null
+ * agree_status : 0
+ */
+
+ private int answer_id;
+ private int question_id;
+ private String answer_content;
+ private long add_time;
+ private int against_count;
+ private int agree_count;
+ private int uid;
+ private int comment_count;
+ private int uninterested_count;
+ private int thanks_count;
+ private int category_id;
+ private int has_attach;
+ private long ip;
+ private int force_fold;
+ private int anonymous;
+ private Object publish_source;
+ private UserInfoEntity user_info;
+ private Object user_rated_thanks;
+ private Object user_rated_uninterested;
+ private String agree_status;
+
+ public void setAnswer_id(int answer_id) {
+ this.answer_id = answer_id;
+ }
+
+ public void setQuestion_id(int question_id) {
+ this.question_id = question_id;
+ }
+
+ public void setAnswer_content(String answer_content) {
+ this.answer_content = answer_content;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setAgainst_count(int against_count) {
+ this.against_count = against_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setComment_count(int comment_count) {
+ this.comment_count = comment_count;
+ }
+
+ public void setUninterested_count(int uninterested_count) {
+ this.uninterested_count = uninterested_count;
+ }
+
+ public void setThanks_count(int thanks_count) {
+ this.thanks_count = thanks_count;
+ }
+
+ public void setCategory_id(int category_id) {
+ this.category_id = category_id;
+ }
+
+ public void setHas_attach(int has_attach) {
+ this.has_attach = has_attach;
+ }
+
+ public void setIp(long ip) {
+ this.ip = ip;
+ }
+
+ public void setForce_fold(int force_fold) {
+ this.force_fold = force_fold;
+ }
+
+ public void setAnonymous(int anonymous) {
+ this.anonymous = anonymous;
+ }
+
+ public void setPublish_source(Object publish_source) {
+ this.publish_source = publish_source;
+ }
+
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
+
+ public void setUser_rated_thanks(Object user_rated_thanks) {
+ this.user_rated_thanks = user_rated_thanks;
+ }
+
+ public void setUser_rated_uninterested(Object user_rated_uninterested) {
+ this.user_rated_uninterested = user_rated_uninterested;
+ }
+
+ public void setAgree_status(String agree_status) {
+ this.agree_status = agree_status;
+ }
+
+ public int getAnswer_id() {
+ return answer_id;
+ }
+
+ public int getQuestion_id() {
+ return question_id;
+ }
+
+ public String getAnswer_content() {
+ return answer_content;
+ }
+
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getAgainst_count() {
+ return against_count;
+ }
+
+ public int getAgree_count() {
+ return agree_count;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public int getComment_count() {
+ return comment_count;
+ }
+
+ public int getUninterested_count() {
+ return uninterested_count;
+ }
+
+ public int getThanks_count() {
+ return thanks_count;
+ }
+
+ public int getCategory_id() {
+ return category_id;
+ }
+
+ public int getHas_attach() {
+ return has_attach;
+ }
+
+ public long getIp() {
+ return ip;
+ }
+
+ public int getForce_fold() {
+ return force_fold;
+ }
+
+ public int getAnonymous() {
+ return anonymous;
+ }
+
+ public Object getPublish_source() {
+ return publish_source;
+ }
+
+ public UserInfoEntity getUser_info() {
+ return user_info;
+ }
+
+ public Object getUser_rated_thanks() {
+ return user_rated_thanks;
+ }
+
+ public Object getUser_rated_uninterested() {
+ return user_rated_uninterested;
+ }
+
+ public String getAgree_status() {
+ return agree_status;
+ }
+
+ public static class UserInfoEntity {
+ /**
+ * uid : 19
+ * user_name : 放肆
+ * signature : 好困。。。
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/19_avatar_mid.jpg
+ */
+
+ private int uid;
+ private String user_name;
+ private String signature;
+ private String avatar_file;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
+
+ public String getAvatar_file() {
+ return avatar_file;
+ }
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionInfo.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionInfo.java
index f8ff8f6..03ff471 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionInfo.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/model/question/QuestionInfo.java
@@ -5,61 +5,224 @@
*/
public class QuestionInfo {
- int question_id;
- String question_content;
- String question_detail;
- int focus_count;
- int has_focus;
- public int getQuestion_id() {
- return question_id;
- }
+ /**
+ * question_id : 162
+ * question_content : 阿里九月份宣布杭州北京双总部,意图何在?
+ * question_detail :
+ * add_time : 1443680912
+ * update_time : 1447898441
+ * answer_count : 3
+ * view_count : 75
+ * focus_count : 4
+ * comment_count : 0
+ * agree_count : 5
+ * against_count : 0
+ * thanks_count : 0
+ * user_info : {"uid":4,"user_name":"Carol","signature":"审计民工","avatar_file":"http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/04_avatar_mid.jpg"}
+ * user_answered : 0
+ * user_follow_check : 1
+ * user_question_focus : 0
+ * user_thanks : 0
+ */
+
+ private int question_id;
+ private String question_content;
+ private String question_detail;
+ private long add_time;
+ private int update_time;
+ private int answer_count;
+ private int view_count;
+ private int focus_count;
+ private int comment_count;
+ private int agree_count;
+ private int against_count;
+ private int thanks_count;
+ private UserInfoEntity user_info;
+ private int user_answered;
+ private int user_follow_check;
+ private int user_question_focus;
+ private int user_thanks;
public void setQuestion_id(int question_id) {
this.question_id = question_id;
}
- public String getQuestion_content() {
- return question_content;
- }
-
public void setQuestion_content(String question_content) {
this.question_content = question_content;
}
+ public void setQuestion_detail(String question_detail) {
+ this.question_detail = question_detail;
+ }
+
+ public void setAdd_time(long add_time) {
+ this.add_time = add_time;
+ }
+
+ public void setUpdate_time(int update_time) {
+ this.update_time = update_time;
+ }
+
+ public void setAnswer_count(int answer_count) {
+ this.answer_count = answer_count;
+ }
+
+ public void setView_count(int view_count) {
+ this.view_count = view_count;
+ }
+
+ public void setFocus_count(int focus_count) {
+ this.focus_count = focus_count;
+ }
+
+ public void setComment_count(int comment_count) {
+ this.comment_count = comment_count;
+ }
+
+ public void setAgree_count(int agree_count) {
+ this.agree_count = agree_count;
+ }
+
+ public void setAgainst_count(int against_count) {
+ this.against_count = against_count;
+ }
+
+ public void setThanks_count(int thanks_count) {
+ this.thanks_count = thanks_count;
+ }
+
+ public void setUser_info(UserInfoEntity user_info) {
+ this.user_info = user_info;
+ }
+
+ public void setUser_answered(int user_answered) {
+ this.user_answered = user_answered;
+ }
+
+ public void setUser_follow_check(int user_follow_check) {
+ this.user_follow_check = user_follow_check;
+ }
+
+ public void setUser_question_focus(int user_question_focus) {
+ this.user_question_focus = user_question_focus;
+ }
+
+ public void setUser_thanks(int user_thanks) {
+ this.user_thanks = user_thanks;
+ }
+
+ public int getQuestion_id() {
+ return question_id;
+ }
+
+ public String getQuestion_content() {
+ return question_content;
+ }
+
public String getQuestion_detail() {
return question_detail;
}
- public void setQuestion_detail(String question_detail) {
- this.question_detail = question_detail;
+ public long getAdd_time() {
+ return add_time;
+ }
+
+ public int getUpdate_time() {
+ return update_time;
+ }
+
+ public int getAnswer_count() {
+ return answer_count;
+ }
+
+ public int getView_count() {
+ return view_count;
}
public int getFocus_count() {
return focus_count;
}
- public void setFocus_count(int focus_count) {
- this.focus_count = focus_count;
+ public int getComment_count() {
+ return comment_count;
}
- public int getHas_focus() {
- return has_focus;
+ public int getAgree_count() {
+ return agree_count;
}
- public void setHas_focus(int has_focus) {
- this.has_focus = has_focus;
+ public int getAgainst_count() {
+ return against_count;
}
+ public int getThanks_count() {
+ return thanks_count;
+ }
+
+ public UserInfoEntity getUser_info() {
+ return user_info;
+ }
+
+ public int getUser_answered() {
+ return user_answered;
+ }
+
+ public int getUser_follow_check() {
+ return user_follow_check;
+ }
+
+ public int getUser_question_focus() {
+ return user_question_focus;
+ }
+
+ public int getUser_thanks() {
+ return user_thanks;
+ }
+
+ public static class UserInfoEntity {
+ /**
+ * uid : 4
+ * user_name : Carol
+ * signature : 审计民工
+ * avatar_file : http://wecenter.dev.hihwei.com/uploads/avatar/000/00/00/04_avatar_mid.jpg
+ */
+
+ private int uid;
+ private String user_name;
+ private String signature;
+ private String avatar_file;
+
+ public void setUid(int uid) {
+ this.uid = uid;
+ }
+
+ public void setUser_name(String user_name) {
+ this.user_name = user_name;
+ }
+
+ public void setSignature(String signature) {
+ this.signature = signature;
+ }
+
+ public void setAvatar_file(String avatar_file) {
+ this.avatar_file = avatar_file;
+ }
+
+ public int getUid() {
+ return uid;
+ }
+
+ public String getUser_name() {
+ return user_name;
+ }
+
+ public String getSignature() {
+ return signature;
+ }
- @Override
- public String toString() {
- return "QuestionInfo{" +
- "question_id=" + question_id +
- ", question_content='" + question_content + '\'' +
- ", question_detail='" + question_detail + '\'' +
- ", focus_count=" + focus_count +
- ", has_focus=" + has_focus +
- '}';
+ public String getAvatar_file() {
+ return avatar_file;
+ }
}
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DisplayUtil.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DisplayUtil.java
index fa7a7f8..9b58ec1 100755
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DisplayUtil.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DisplayUtil.java
@@ -1,10 +1,14 @@
package org.iflab.wecentermobileandroidrestructure.tools;
import android.content.Context;
+import android.graphics.Point;
+import android.view.Display;
+import android.view.WindowManager;
public class DisplayUtil {
-
+ private static int screenWidth = 0;
+ private static int screenHeight = 0;
/**
* 将px值转换为dip或dp值
*/
@@ -42,4 +46,27 @@ public static int sp2px(Context context, float spValue) {
return (int) (spValue * fontScale + 0.5f);
}
+ public static int getScreenHeight(Context c) {
+ if (screenHeight == 0) {
+ WindowManager wm = (WindowManager) c.getSystemService(Context.WINDOW_SERVICE);
+ Display display = wm.getDefaultDisplay();
+ Point size = new Point();
+ display.getSize(size);
+ screenHeight = size.y;
+ }
+
+ return screenHeight;
+ }
+
+ public static int getScreenWidth(Context c) {
+ if (screenWidth == 0) {
+ WindowManager wm = (WindowManager) c.getSystemService(Context.WINDOW_SERVICE);
+ Display display = wm.getDefaultDisplay();
+ Point size = new Point();
+ display.getSize(size);
+ screenWidth = size.x;
+ }
+
+ return screenWidth;
+ }
}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DroidUncaughtExceptionHandler.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DroidUncaughtExceptionHandler.java
new file mode 100644
index 0000000..5de3f7a
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/DroidUncaughtExceptionHandler.java
@@ -0,0 +1,72 @@
+package org.iflab.wecentermobileandroidrestructure.tools;
+
+/**
+ * Created by Lyn on 15/12/10.
+ */
+import android.app.ActivityManager;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import com.loopj.android.http.AsyncHttpResponseHandler;
+import com.loopj.android.http.RequestParams;
+
+import org.apache.http.Header;
+import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
+import org.iflab.wecentermobileandroidrestructure.http.RelativeUrl;
+
+public class DroidUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler{
+ private static final String LOGTAG = "DroidUncaughtExceptionHandler";
+ private Thread.UncaughtExceptionHandler mDefaultExceptionHandler;
+ private Context mAppContext;
+
+ public DroidUncaughtExceptionHandler(Context context) {
+ mAppContext = context.getApplicationContext();
+ mDefaultExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
+ }
+
+ public static String getProcessName(Context appContext) {
+ String currentProcessName = "";
+ int pid = android.os.Process.myPid();
+ ActivityManager manager = (ActivityManager) appContext.getSystemService(Context.ACTIVITY_SERVICE);
+ for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
+ if (processInfo.pid == pid) {
+ currentProcessName = processInfo.processName;
+ break;
+ }
+ }
+ return currentProcessName;
+ }
+
+ @Override
+ public void uncaughtException(Thread thread, Throwable ex) {
+ String trace = "";
+ StackTraceElement[] stackTraceElements = ex.getStackTrace();
+ for(int i=0;i < stackTraceElements .length;i++){
+ trace += stackTraceElements[i];
+ }
+ Log.v("see me",ex.getMessage()+"\n"+trace);
+ sendCrashLog("[Android]["+Global.TimeStamp2Date(System.currentTimeMillis(),"yyyy-MM-dd")+"] "
+ + ex.getMessage()+"\n"+trace);
+ android.os.Process.killProcess(android.os.Process.myPid());
+ }
+
+ public void sendCrashLog(String content){
+ RequestParams params = new RequestParams();
+ params.put("content",content);
+ Log.v("RelativeUrl.CRASH_LOG",RelativeUrl.CRASH_LOG);
+ AsyncHttpWecnter.post(RelativeUrl.CRASH_LOG, params, new AsyncHttpResponseHandler() {
+ @Override
+ public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
+ String res = new String(responseBody);
+
+ }
+
+ @Override
+ public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
+ String res = new String(responseBody);
+ }
+ });
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/Global.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/Global.java
index 541cdce..6d9eb03 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/Global.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/Global.java
@@ -13,6 +13,8 @@
import android.provider.MediaStore;
import java.text.ParseException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* Created by hcjcch on 15/6/8.
@@ -179,14 +181,13 @@ public static String getDataColumn(Context context, Uri uri, String selection,
//日期转化
public static String TimeStamp2Date(String timestampString, String formats) {
+
Long timestamp = Long.parseLong(timestampString);
- String date = new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestamp));
- return date;
+ return new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestamp * 1000));
}
public static String TimeStamp2Date(Long timestampString, String formats) {
- String date = new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestampString));
- return date;
+ return new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestampString * 1000));
}
//日期转化
@@ -200,6 +201,17 @@ public static long Date2TimeStamp(String date) {
return time;
}
+ /**
+ * 检测邮箱地址是否合法
+ * @param email
+ * @return true合法 false不合法
+ */
+ public static boolean isEmail(String email){
+ if (null==email || "".equals(email)) return false;
+ Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");//复杂匹配
+ Matcher m = p.matcher(email);
+ return m.matches();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/ImageOptions.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/ImageOptions.java
index 225826f..0981ea1 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/ImageOptions.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/ImageOptions.java
@@ -13,7 +13,6 @@
public class ImageOptions {
public static DisplayImageOptions optionsImage = new DisplayImageOptions
.Builder()
- .showImageOnLoading(R.mipmap.test_ic_default_image)
.showImageForEmptyUri(R.mipmap.test_image_not_exist)
.showImageOnFail(R.mipmap.test_image_not_exist)
.cacheInMemory(true)
@@ -24,7 +23,6 @@ public class ImageOptions {
.build();
public static DisplayImageOptions optionsImagePersonalDetailAvatar = new DisplayImageOptions
.Builder()
- .showImageOnLoading(R.mipmap.test_ic_default_image)
.showImageForEmptyUri(R.mipmap.test_image_not_exist)
.showImageOnFail(R.mipmap.test_image_not_exist)
.cacheInMemory(false)
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/MD5Transform.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/MD5Transform.java
index 810fb69..a4fbdfc 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/MD5Transform.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/tools/MD5Transform.java
@@ -1,5 +1,7 @@
package org.iflab.wecentermobileandroidrestructure.tools;
+import org.iflab.wecentermobileandroidrestructure.http.AsyncHttpWecnter;
+
/**
* Created by hcjcch on 15/6/16.
*/
@@ -17,4 +19,8 @@ public static String MD5(String md5) {
}
return null;
}
+
+ public static String getSign(String url){
+ return "?mobile_sign="+MD5(url+ AsyncHttpWecnter.SIGN);
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/RevealBackgroundView.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/RevealBackgroundView.java
new file mode 100644
index 0000000..fef2789
--- /dev/null
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/RevealBackgroundView.java
@@ -0,0 +1,123 @@
+package org.iflab.wecentermobileandroidrestructure.ui;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.ObjectAnimator;
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.os.Build;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.Interpolator;
+
+/**
+ * Created by Miroslaw Stanek on 18.01.15.
+ */
+public class RevealBackgroundView extends View {
+ public static final int STATE_NOT_STARTED = 0;
+ public static final int STATE_FILL_STARTED = 1;
+ public static final int STATE_FINISHED = 2;
+
+ private static final Interpolator INTERPOLATOR = new AccelerateInterpolator();
+ private static final int FILL_TIME = 400;
+
+ private int state = STATE_NOT_STARTED;
+
+ private Paint fillPaint;
+ private int currentRadius;
+ ObjectAnimator revealAnimator;
+
+ private int startLocationX;
+ private int startLocationY;
+
+
+ private OnStateChangeListener onStateChangeListener;
+
+ public RevealBackgroundView(Context context) {
+ super(context);
+ init();
+ }
+
+ public RevealBackgroundView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ public RevealBackgroundView(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ init();
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public RevealBackgroundView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ init();
+ }
+
+ private void init() {
+ fillPaint = new Paint();
+ fillPaint.setStyle(Paint.Style.FILL);
+ fillPaint.setColor(Color.WHITE);
+ }
+
+ public void setFillPaintColor(int color) {
+ fillPaint.setColor(color);
+ }
+
+ public void startFromLocation(int[] tapLocationOnScreen) {
+ changeState(STATE_FILL_STARTED);
+ startLocationX = tapLocationOnScreen[0];
+ startLocationY = tapLocationOnScreen[1];
+ revealAnimator = ObjectAnimator.ofInt(this, "currentRadius", 0, getWidth() + getHeight()).setDuration(FILL_TIME);
+ revealAnimator.setInterpolator(INTERPOLATOR);
+ revealAnimator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ changeState(STATE_FINISHED);
+ }
+ });
+ revealAnimator.start();
+ }
+
+ public void setToFinishedFrame() {
+ changeState(STATE_FINISHED);
+ invalidate();
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ if (state == STATE_FINISHED) {
+ canvas.drawRect(0, 0, getWidth(), getHeight(), fillPaint);
+ } else {
+ canvas.drawCircle(startLocationX, startLocationY, currentRadius, fillPaint);
+ }
+ }
+
+ private void changeState(int state) {
+ if (this.state == state) {
+ return;
+ }
+
+ this.state = state;
+ if (onStateChangeListener != null) {
+ onStateChangeListener.onStateChange(state);
+ }
+ }
+
+ public void setOnStateChangeListener(OnStateChangeListener onStateChangeListener) {
+ this.onStateChangeListener = onStateChangeListener;
+ }
+
+ public void setCurrentRadius(int radius) {
+ this.currentRadius = radius;
+ invalidate();
+ }
+
+ public static interface OnStateChangeListener {
+ void onStateChange(int state);
+ }
+}
diff --git a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/SearchView.java b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/SearchView.java
index 5c53540..2a18c86 100644
--- a/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/SearchView.java
+++ b/app/src/main/java/org/iflab/wecentermobileandroidrestructure/ui/SearchView.java
@@ -2,6 +2,7 @@
import android.app.Activity;
import android.content.Context;
+import android.graphics.drawable.Drawable;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
@@ -86,20 +87,6 @@ public SearchView(Context context, AttributeSet attrs) {
private void initViews() {
etInput = (EditText) findViewById(R.id.search_et_input);
ivDelete = (ImageView) findViewById(R.id.search_iv_delete);
-// lvTips = (ListView) findViewById(R.id.search_lv_tips);
-//
-// lvTips.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-// @Override
-// public void onItemClick(AdapterView> adapterView, View view, int i, long l) {
-// //set edit text
-// String text = lvTips.getAdapter().getItem(i).toString();
-// etInput.setText(text);
-// etInput.setSelection(text.length());
-// //hint list view gone and result list view show
-// lvTips.setVisibility(View.GONE);
-// notifyStartSearching(text);
-// }
-// });
ivDelete.setOnClickListener(this);
diff --git a/app/src/main/res/drawable-hdpi/search_icon.png b/app/src/main/res/drawable-hdpi/search_icon.png
deleted file mode 100644
index 398bcd4..0000000
Binary files a/app/src/main/res/drawable-hdpi/search_icon.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/shadow_left.png b/app/src/main/res/drawable-hdpi/shadow_left.png
new file mode 100644
index 0000000..82c71c2
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/shadow_left.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_comment_button.png b/app/src/main/res/drawable-mdpi/ic_comment_button.png
new file mode 100644
index 0000000..ef67bf7
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_comment_button.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/test_ic_search.png b/app/src/main/res/drawable-mdpi/ic_defaul_tavatar.png
similarity index 63%
rename from app/src/main/res/mipmap-xxhdpi/test_ic_search.png
rename to app/src/main/res/drawable-mdpi/ic_defaul_tavatar.png
index 861c050..1d61163 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/test_ic_search.png and b/app/src/main/res/drawable-mdpi/ic_defaul_tavatar.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_login_mail.png b/app/src/main/res/drawable-mdpi/ic_login_mail.png
new file mode 100644
index 0000000..4d26ef6
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_login_mail.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_login_password.png b/app/src/main/res/drawable-mdpi/ic_login_password.png
new file mode 100644
index 0000000..d2887fe
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_login_password.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_login_user.png b/app/src/main/res/drawable-mdpi/ic_login_user.png
new file mode 100644
index 0000000..cea69db
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_login_user.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_navigation.png b/app/src/main/res/drawable-mdpi/ic_navigation.png
new file mode 100644
index 0000000..709f367
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_navigation.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_navigation_back.png b/app/src/main/res/drawable-mdpi/ic_navigation_back.png
new file mode 100644
index 0000000..62bef15
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_navigation_back.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_publishment_answer.png b/app/src/main/res/drawable-mdpi/ic_publishment_answer.png
new file mode 100644
index 0000000..0b42abc
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_publishment_answer.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_publishment_article_question.png b/app/src/main/res/drawable-mdpi/ic_publishment_article_question.png
new file mode 100644
index 0000000..a335bff
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_publishment_article_question.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_search_15dp.png b/app/src/main/res/drawable-mdpi/ic_search_15dp.png
new file mode 100644
index 0000000..d1ae56e
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_search_15dp.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_share_button.png b/app/src/main/res/drawable-mdpi/ic_share_button.png
new file mode 100644
index 0000000..2428183
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_share_button.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_sidebar_explore.png b/app/src/main/res/drawable-mdpi/ic_sidebar_explore.png
new file mode 100644
index 0000000..9bfde93
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_sidebar_explore.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_sidebar_home.png b/app/src/main/res/drawable-mdpi/ic_sidebar_home.png
new file mode 100644
index 0000000..0594809
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_sidebar_home.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_sidebar_search.png b/app/src/main/res/drawable-mdpi/ic_sidebar_search.png
new file mode 100644
index 0000000..ae0fef9
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_sidebar_search.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_sidebar_topic.png b/app/src/main/res/drawable-mdpi/ic_sidebar_topic.png
new file mode 100644
index 0000000..e6bcb40
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_sidebar_topic.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_sidebar_user.png b/app/src/main/res/drawable-mdpi/ic_sidebar_user.png
new file mode 100644
index 0000000..764a6fd
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_sidebar_user.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/login_bg.jpg b/app/src/main/res/drawable-xxhdpi/login_bg.jpg
new file mode 100644
index 0000000..f9d2583
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/login_bg.jpg differ
diff --git a/app/src/main/res/drawable-xxhdpi/logo.png b/app/src/main/res/drawable-xxhdpi/logo.png
new file mode 100644
index 0000000..594a3cd
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/logo.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/register_bg.jpg b/app/src/main/res/drawable-xxhdpi/register_bg.jpg
new file mode 100644
index 0000000..cee5d22
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/register_bg.jpg differ
diff --git a/app/src/main/res/drawable/shadow_top.xml b/app/src/main/res/drawable/shadow_top.xml
new file mode 100644
index 0000000..6613e85
--- /dev/null
+++ b/app/src/main/res/drawable/shadow_top.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_answer_comment.xml b/app/src/main/res/layout/activity_answer_comment.xml
index 73095e0..79b0118 100644
--- a/app/src/main/res/layout/activity_answer_comment.xml
+++ b/app/src/main/res/layout/activity_answer_comment.xml
@@ -14,15 +14,28 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
- android:layout_above="@+id/linearLayout2">
+ android:layout_above="@+id/llAddComment">
-
+ android:id="@+id/contentRoot"
+ android:background="@color/white">
-
+
+
+
+
+
+
@@ -33,7 +46,7 @@
android:layout_alignParentBottom="true"
android:background="@drawable/rectangle"
android:padding="0.5dp"
- android:id="@+id/linearLayout2">
+ android:id="@+id/llAddComment">
@@ -102,16 +102,22 @@
android:id="@+id/linearLayout"
android:background="@drawable/rectangle">
-
+ android:gravity="center">
+
+
-
-
-
+ >
+
+
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index e6f1f37..90f234a 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -1,44 +1,56 @@
-
+ android:background="@drawable/login_bg"
+ >
+
+ >
+ />
+ />
+
+
-
-
-
-
\ No newline at end of file
+ android:layout_marginTop="50dp"
+ android:layout_gravity="center_horizontal"
+ android:src="@drawable/logo"/>
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_personal_center.xml b/app/src/main/res/layout/activity_personal_center.xml
index f721359..ad2b9d4 100644
--- a/app/src/main/res/layout/activity_personal_center.xml
+++ b/app/src/main/res/layout/activity_personal_center.xml
@@ -1,5 +1,5 @@
-
@@ -13,28 +13,27 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
-
+ android:src="@drawable/ic_defaul_tavatar"
+ android:layout_centerVertical="true"
+ android:layout_centerHorizontal="true" />
+ android:layout_marginTop="5dp"
+ android:textColor="#fff"
+ android:layout_below="@+id/img_user"
+ android:layout_centerHorizontal="true" />
+ android:textColor="#fff"
+ android:layout_below="@+id/txt_user_name"
+ android:layout_centerHorizontal="true" />
-
+
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_personal_center_edit.xml b/app/src/main/res/layout/activity_personal_center_edit.xml
index 6f6a190..2746a33 100644
--- a/app/src/main/res/layout/activity_personal_center_edit.xml
+++ b/app/src/main/res/layout/activity_personal_center_edit.xml
@@ -24,7 +24,7 @@
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
- android:src="@mipmap/user_place" />
+ android:src="@drawable/ic_defaul_tavatar" />
+
+
+
+
+ android:layout_below="@id/toolbar"
+ android:id="@+id/sv_root"
+ android:visibility="gone">
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_question_detail.xml b/app/src/main/res/layout/activity_question_detail.xml
index 19b99df..b88cd6d 100644
--- a/app/src/main/res/layout/activity_question_detail.xml
+++ b/app/src/main/res/layout/activity_question_detail.xml
@@ -23,7 +23,8 @@
android:layout_height="wrap_content"
android:dividerHeight="10dp"
android:divider="@color/bg_color_grey"
- android:padding="10dp"
+ android:paddingLeft="10dp"
+ android:paddingRight="10dp"
android:scrollbars="none"
/>
diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml
new file mode 100644
index 0000000..34dc8c7
--- /dev/null
+++ b/app/src/main/res/layout/activity_register.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml
index 200613e..d1916fe 100644
--- a/app/src/main/res/layout/activity_search.xml
+++ b/app/src/main/res/layout/activity_search.xml
@@ -10,11 +10,6 @@
android:layout_height="wrap_content"
/>
-
-
+
-
+ android:layout_height="172dp"
+ android:fitsSystemWindows="true">
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ />
+
+
-
+
diff --git a/app/src/main/res/layout/content_register.xml b/app/src/main/res/layout/content_register.xml
new file mode 100644
index 0000000..5507894
--- /dev/null
+++ b/app/src/main/res/layout/content_register.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_homepage.xml b/app/src/main/res/layout/fragment_homepage.xml
index b4ee10e..f9e9e97 100644
--- a/app/src/main/res/layout/fragment_homepage.xml
+++ b/app/src/main/res/layout/fragment_homepage.xml
@@ -22,14 +22,15 @@
diff --git a/app/src/main/res/layout/fragment_hot_topic_child.xml b/app/src/main/res/layout/fragment_hot_topic_child.xml
new file mode 100644
index 0000000..c075a23
--- /dev/null
+++ b/app/src/main/res/layout/fragment_hot_topic_child.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_hot_topics.xml b/app/src/main/res/layout/fragment_hot_topics.xml
new file mode 100644
index 0000000..188934d
--- /dev/null
+++ b/app/src/main/res/layout/fragment_hot_topics.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/home_page_one_cell.xml b/app/src/main/res/layout/home_page_one_cell.xml
index 73ea828..01a359e 100644
--- a/app/src/main/res/layout/home_page_one_cell.xml
+++ b/app/src/main/res/layout/home_page_one_cell.xml
@@ -19,7 +19,7 @@
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/home_page_margin_medium"
android:layout_marginRight="@dimen/home_page_margin_medium"
- android:src="@mipmap/user_place"
+ android:src="@drawable/ic_defaul_tavatar"
app:border_color="#50000000"
app:border_width="0.5dp" />
diff --git a/app/src/main/res/layout/home_page_two_cell.xml b/app/src/main/res/layout/home_page_two_cell.xml
index 4583157..9a6502a 100644
--- a/app/src/main/res/layout/home_page_two_cell.xml
+++ b/app/src/main/res/layout/home_page_two_cell.xml
@@ -25,7 +25,7 @@
android:id="@+id/image_profile"
android:layout_width="28dp"
android:layout_height="28dp"
- android:src="@mipmap/user_place"
+ android:src="@drawable/ic_defaul_tavatar"
app:border_color="#50000000"
app:border_width="0.5dp" />
@@ -48,7 +48,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/rel_left"
- android:minHeight="@dimen/home_page_maxheight_one_cell">
+ android:minHeight="@dimen/home_page_maxheight_two_cell">
-
-
+ android:textColor="@color/text_color_grey"
+ android:layout_below="@id/txt_user_action_content" />
-
diff --git a/app/src/main/res/layout/item_comments_listview.xml b/app/src/main/res/layout/item_comments_listview.xml
index 87b1fbf..aa1521a 100644
--- a/app/src/main/res/layout/item_comments_listview.xml
+++ b/app/src/main/res/layout/item_comments_listview.xml
@@ -13,7 +13,7 @@
android:id="@+id/image_profile"
android:layout_width="28dp"
android:layout_height="28dp"
- android:src="@mipmap/user_place"
+ android:src="@drawable/ic_defaul_tavatar"
app:border_color="#50000000"
app:border_width="0.5dp"
android:layout_centerVertical="true"
diff --git a/app/src/main/res/layout/item_found.xml b/app/src/main/res/layout/item_found.xml
index a82eeb5..e09de18 100644
--- a/app/src/main/res/layout/item_found.xml
+++ b/app/src/main/res/layout/item_found.xml
@@ -25,7 +25,7 @@
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/home_page_margin_medium"
android:layout_marginRight="@dimen/home_page_margin_medium"
- android:src="@mipmap/user_place"
+ android:src="@drawable/ic_defaul_tavatar"
app:border_color="#50000000"
app:border_width="0.5dp" />
@@ -102,6 +102,7 @@
+ android:layout_marginLeft="@dimen/item_homepage_nav_image_left"
+ android:layout_marginRight="20dp"/>
+ />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_personal_answer.xml b/app/src/main/res/layout/item_personal_answer.xml
index a925c7f..8d9d759 100644
--- a/app/src/main/res/layout/item_personal_answer.xml
+++ b/app/src/main/res/layout/item_personal_answer.xml
@@ -48,13 +48,7 @@
android:layout_height="wrap_content"
android:text="hc"
android:textStyle="bold" />
-
+
+ android:src="@drawable/ic_defaul_tavatar" />
+ android:text="0" />
+ android:src="@drawable/ic_defaul_tavatar" />
diff --git a/app/src/main/res/layout/item_personal_topic.xml b/app/src/main/res/layout/item_personal_topic.xml
index 546c379..e87e43d 100644
--- a/app/src/main/res/layout/item_personal_topic.xml
+++ b/app/src/main/res/layout/item_personal_topic.xml
@@ -1,5 +1,6 @@
+ android:src="@mipmap/topic_defaultimage" />
+ />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_userpersonal_askcount.xml b/app/src/main/res/layout/item_userpersonal_askcount.xml
index 8d83d66..7753f9e 100644
--- a/app/src/main/res/layout/item_userpersonal_askcount.xml
+++ b/app/src/main/res/layout/item_userpersonal_askcount.xml
@@ -6,7 +6,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="48sp"
- android:text="4"
android:layout_centerHorizontal="true"
android:id="@+id/txt_ask_count"
android:layout_marginTop="10dp"/>
diff --git a/app/src/main/res/layout/item_userpersonal_lovecount.xml b/app/src/main/res/layout/item_userpersonal_lovecount.xml
index c874a97..34c2da5 100644
--- a/app/src/main/res/layout/item_userpersonal_lovecount.xml
+++ b/app/src/main/res/layout/item_userpersonal_lovecount.xml
@@ -14,7 +14,6 @@
android:layout_height="wrap_content"
android:layout_below="@id/img_answer_love"
android:layout_centerHorizontal="true"
- android:text="5"
android:textColor="#fff"
android:layout_marginTop="5dp"
android:id="@+id/txt_answer_love_count" />
diff --git a/app/src/main/res/layout/nav_header.xml b/app/src/main/res/layout/nav_header.xml
index 9d7bed2..89f5f2a 100644
--- a/app/src/main/res/layout/nav_header.xml
+++ b/app/src/main/res/layout/nav_header.xml
@@ -19,7 +19,6 @@
android:layout_height="192dp"
android:background="@mipmap/user_home_bg"
android:orientation="vertical"
- android:padding="16dp"
android:id="@+id/rel_nav_header"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
@@ -27,31 +26,29 @@
android:id="@+id/image_profile"
android:layout_width="80dp"
android:layout_height="80dp"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"
- android:layout_alignParentTop="true"
- android:src="@mipmap/user_place" />
+ android:src="@drawable/ic_defaul_tavatar"
+ android:layout_centerVertical="true"
+ android:layout_centerHorizontal="true" />
+ android:layout_marginTop="5dp"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+ android:layout_below="@id/image_profile"
+ android:layout_alignRight="@+id/image_profile"
+ android:layout_alignEnd="@+id/image_profile"
+ android:layout_alignLeft="@+id/image_profile"
+ android:layout_alignStart="@+id/image_profile" />
+ android:layout_marginTop="5dp"
+ android:layout_below="@+id/txt_user_name"
+ android:textAppearance="@style/TextAppearance.AppCompat.Body1"
+ android:layout_centerHorizontal="true" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/question_header_view.xml b/app/src/main/res/layout/question_header_view.xml
index b95eb33..2942b9c 100644
--- a/app/src/main/res/layout/question_header_view.xml
+++ b/app/src/main/res/layout/question_header_view.xml
@@ -23,7 +23,7 @@
android:id="@+id/image_profile"
android:layout_width="40dp"
android:layout_height="40dp"
- android:src="@mipmap/user_place"
+ android:src="@drawable/ic_defaul_tavatar"
app:border_color="#50000000"
app:border_width="0.5dp" />
@@ -57,7 +57,7 @@
android:background="@color/white"
android:text="content"
android:textColor="@color/text_color_black"
- android:padding="10dp" />
+ android:padding="10dp"
android:textSize="18sp" />
@@ -147,10 +145,8 @@
android:id="@+id/txt_focus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignBottom="@+id/image_focus"
- android:layout_alignTop="@+id/image_focus"
+ android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
- android:layout_toEndOf="@+id/image_focus"
android:layout_toRightOf="@+id/image_focus"
android:text="0" />
@@ -181,27 +177,26 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
android:background="@drawable/line_layout_selector"
android:clickable="true"
android:gravity="center"
- android:paddingBottom="5dp"
- android:paddingTop="5dp">
+ >
+ android:src="@drawable/ic_publishment_answer" />
diff --git a/app/src/main/res/layout/search_layout.xml b/app/src/main/res/layout/search_layout.xml
index 7c0cfc4..d905b5a 100644
--- a/app/src/main/res/layout/search_layout.xml
+++ b/app/src/main/res/layout/search_layout.xml
@@ -21,7 +21,7 @@
android:id="@+id/search_et_input"
android:layout_gravity="center_vertical"
android:layout_margin="10dp"
- android:drawableLeft="@drawable/search_icon"
+ android:drawableLeft="@drawable/ic_search_15dp"
android:drawablePadding="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/app/src/main/res/menu/drawer_view.xml b/app/src/main/res/menu/drawer_view.xml
deleted file mode 100644
index 50d8a2f..0000000
--- a/app/src/main/res/menu/drawer_view.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_wencenter.xml b/app/src/main/res/menu/menu_wencenter.xml
index c558e6c..4e4f4a8 100644
--- a/app/src/main/res/menu/menu_wencenter.xml
+++ b/app/src/main/res/menu/menu_wencenter.xml
@@ -5,6 +5,6 @@
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index cde69bc..262759d 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-hdpi/search_icon.png b/app/src/main/res/mipmap-hdpi/search_icon.png
deleted file mode 100644
index 398bcd4..0000000
Binary files a/app/src/main/res/mipmap-hdpi/search_icon.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index c133a0c..bbf5063 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index bfa42f0..aa9ee9b 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 324e72c..8a8b401 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_menu_edit.png b/app/src/main/res/mipmap-xxhdpi/ic_menu_edit.png
deleted file mode 100644
index 8999089..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_menu_edit.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/login_background.png b/app/src/main/res/mipmap-xxhdpi/login_background.png
deleted file mode 100644
index fdbd9a1..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/login_background.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/navigation.png b/app/src/main/res/mipmap-xxhdpi/navigation.png
new file mode 100644
index 0000000..709f367
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/navigation.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/publishment_answer.png b/app/src/main/res/mipmap-xxhdpi/publishment_answer.png
deleted file mode 100644
index 17cff75..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/publishment_answer.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/share_button.png b/app/src/main/res/mipmap-xxhdpi/share_button.png
deleted file mode 100644
index 4f94b45..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/share_button.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/test_ic_dashboard.png b/app/src/main/res/mipmap-xxhdpi/test_ic_dashboard.png
deleted file mode 100644
index f6d0a0d..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/test_ic_dashboard.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/test_ic_default_image.png b/app/src/main/res/mipmap-xxhdpi/test_ic_default_image.png
deleted file mode 100755
index 2cfcaac..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/test_ic_default_image.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/test_ic_event.png b/app/src/main/res/mipmap-xxhdpi/test_ic_event.png
deleted file mode 100644
index efbe8f7..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/test_ic_event.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/test_ic_forum.png b/app/src/main/res/mipmap-xxhdpi/test_ic_forum.png
deleted file mode 100644
index 8f50781..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/test_ic_forum.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/test_ic_headset.png b/app/src/main/res/mipmap-xxhdpi/test_ic_headset.png
deleted file mode 100644
index 53169d9..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/test_ic_headset.png and /dev/null differ
diff --git a/app/src/main/res/mipmap-xxhdpi/user_home_bg.png b/app/src/main/res/mipmap-xxhdpi/user_home_bg.png
index a29096a..9b60ff9 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/user_home_bg.png and b/app/src/main/res/mipmap-xxhdpi/user_home_bg.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/user_place.png b/app/src/main/res/mipmap-xxhdpi/user_place.png
deleted file mode 100755
index d9d7ea0..0000000
Binary files a/app/src/main/res/mipmap-xxhdpi/user_place.png and /dev/null differ
diff --git a/app/src/main/res/values/color.xml b/app/src/main/res/values/color.xml
index fa0ae6d..3fbce9f 100644
--- a/app/src/main/res/values/color.xml
+++ b/app/src/main/res/values/color.xml
@@ -3,12 +3,13 @@
#EDEDED
#669BF4
#50000000
- #10000000
+ #b47b38
#669BF4
#229bf4
#999bf4
#00ffffff
+ #00000000
#ffffff
#666666
@@ -16,4 +17,7 @@
#eeeeee
#fff
#50000000
+
+ #FFD263
+ #50ffffff
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index fb9c395..775885c 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -11,4 +11,5 @@
16dp
35dp
14sp
+ 16dp
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b7914e4..25d100f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,7 +1,7 @@
- WecenterMobileAndroidRestructure
+ 饭饭
Hello world!
Settings
QuestionDetailActivity
@@ -15,7 +15,8 @@
PublishQuestionActivity
SearchActivity
-
+
Hello blank fragment
+ RegisterActivity
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index c34def8..2de6d01 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -12,6 +12,7 @@
- @color/toolbar_color
- true
- false
+ - true
+
+
+
+
+
diff --git a/build.gradle b/build.gradle
index 9405f3f..60a5b9f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,8 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.2.3'
-
+ classpath 'com.android.tools.build:gradle:1.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
diff --git a/gradle/wrapper/gradle-2.8-all.zip b/gradle/wrapper/gradle-2.8-all.zip
new file mode 100644
index 0000000..585856f
Binary files /dev/null and b/gradle/wrapper/gradle-2.8-all.zip differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 0c71e76..257b652 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Apr 10 15:27:10 PDT 2013
+#Wed Nov 25 22:28:11 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
+distributionUrl=gradle-2.8-all.zip