浏览代码

订阅号图片

RaoMeng 9 年之前
父节点
当前提交
2ffab39c82

+ 29 - 16
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/AllSubscriptionAdapter.java

@@ -2,6 +2,7 @@ package com.xzjmyk.pm.activity.adapter;
 
 import android.annotation.TargetApi;
 import android.content.Context;
+import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.os.Build;
 import android.os.Handler;
@@ -20,6 +21,7 @@ import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
+import com.xzjmyk.pm.activity.util.ImageUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
 import java.util.ArrayList;
@@ -31,14 +33,14 @@ import java.util.Map;
 /**
  * Created by RaoMeng on 2016/9/7.
  */
-public class AllSubscriptionAdapter extends BaseAdapter{
+public class AllSubscriptionAdapter extends BaseAdapter {
     private Context mContext;
     private List<SubscriptionNumber> mSubscriptionNumbers;
     private List<Integer> mImageIds;
     private int clickPosition;
     protected CustomProgressDialog progressDialog;
     private DBManager mDbManager;
-    
+
 
     public AllSubscriptionAdapter(Context mContext, List<SubscriptionNumber> mSubscriptionNumbers) {
         this.mContext = mContext;
@@ -72,30 +74,41 @@ public class AllSubscriptionAdapter extends BaseAdapter{
     @Override
     public View getView(final int position, View convertView, ViewGroup parent) {
         ViewHolder viewHolder = null;
-        if (convertView == null){
-            convertView = View.inflate(mContext, R.layout.layout_all_subscription_list,null);
+        if (convertView == null) {
+            convertView = View.inflate(mContext, R.layout.layout_all_subscription_list, null);
             viewHolder = new ViewHolder();
 
             viewHolder.subImageView = (ImageView) convertView.findViewById(R.id.all_subscribe_iv);
             viewHolder.subNameTextView = (TextView) convertView.findViewById(R.id.all_subscribe_title_tv);
             viewHolder.applyTextView = (TextView) convertView.findViewById(R.id.all_subscribe_apply_tv);
             convertView.setTag(viewHolder);
-        }else {
+        } else {
             viewHolder = (ViewHolder) convertView.getTag();
         }
 
-//        viewHolder.subImageView.setImageResource(mImageIds.get(position % 5));
+        if (mSubscriptionNumbers.get(position).getImg() != null) {
+            byte[] imgBytes = mSubscriptionNumbers.get(position).getImg();
+            if (imgBytes.length != 0) {
+                Bitmap bitmap = ImageUtil.compressBitmapWithByte(imgBytes,40,40);
+                viewHolder.subImageView.setImageBitmap(bitmap);
+            }else {
+                viewHolder.subImageView.setImageResource(R.drawable.ic_subscription_number);
+            }
+        } else {
+            viewHolder.subImageView.setImageResource(R.drawable.ic_subscription_number);
+        }
+
         viewHolder.subNameTextView.setText(mSubscriptionNumbers.get(position).getTitle());
-        if (mSubscriptionNumbers.get(position).getStatus()== 1){
+        if (mSubscriptionNumbers.get(position).getStatus() == 1) {
             viewHolder.applyTextView.setText("已订阅");
             viewHolder.applyTextView.setTextColor(Color.GRAY);
             viewHolder.applyTextView.setEnabled(false);
-        }else if (mSubscriptionNumbers.get(position).getStatus() == 3){
+        } else if (mSubscriptionNumbers.get(position).getStatus() == 3) {
 //            CommonUtil.textUnderlineForStyle(viewHolder.applyTextView,"申请","申请");
             viewHolder.applyTextView.setText("+订阅");
             viewHolder.applyTextView.setTextColor(Color.BLUE);
             viewHolder.applyTextView.setEnabled(true);
-        }else if (mSubscriptionNumbers.get(position).getStatus() == 2){
+        } else if (mSubscriptionNumbers.get(position).getStatus() == 2) {
             viewHolder.applyTextView.setText("已申请");
             viewHolder.applyTextView.setTextColor(Color.GRAY);
             viewHolder.applyTextView.setEnabled(false);
@@ -117,26 +130,26 @@ public class AllSubscriptionAdapter extends BaseAdapter{
     private void sendApplySubs(int position) {
         progressDialog.show();
         String applyUrl = Constants.getAppBaseUrl(mContext) + "common/charts/vastAddSubsApply.action";
-        Map<String,Object> params = new HashMap<>();
-        params.put("ids",mSubscriptionNumbers.get(position).getId());
+        Map<String, Object> params = new HashMap<>();
+        params.put("ids", mSubscriptionNumbers.get(position).getId());
         params.put("caller", "VastAddSubsApply");
 
-        LinkedHashMap<String,Object> headers = new LinkedHashMap<>();
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(mContext, "sessionId"));
         ViewUtil.httpSendRequest(mContext, applyUrl, params, mHandler, headers, APPLY_SUBSCRIPTION, null, null, "post");
     }
 
 
     private final static int APPLY_SUBSCRIPTION = 101;
-    private Handler mHandler = new Handler(){
+    private Handler mHandler = new Handler() {
         @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
         @Override
         public void handleMessage(Message msg) {
-            switch (msg.what){
+            switch (msg.what) {
                 case APPLY_SUBSCRIPTION:
                     progressDialog.dismiss();
                     Log.d("applysubscription", msg.getData().getString("result"));
-                    CommonUtil.imageToast(mContext,R.drawable.ic_apply_submit_success,"",2000);
+                    CommonUtil.imageToast(mContext, R.drawable.ic_apply_submit_success, "", 2000);
                     mSubscriptionNumbers.get(clickPosition).setStatus(2);
                     mDbManager.updateAllSubs(mSubscriptionNumbers.get(clickPosition));
                     notifyDataSetChanged();
@@ -149,7 +162,7 @@ public class AllSubscriptionAdapter extends BaseAdapter{
         }
     };
 
-    class ViewHolder{
+    class ViewHolder {
         ImageView subImageView;
         TextView subNameTextView;
         TextView applyTextView;

+ 15 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/adapter/MySubscriptionAdapter.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.adapter;
 
 import android.content.Context;
+import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.os.Handler;
 import android.os.Message;
@@ -21,6 +22,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
+import com.xzjmyk.pm.activity.util.ImageUtil;
 import com.xzjmyk.pm.activity.view.crouton.Crouton;
 
 import java.util.ArrayList;
@@ -84,7 +86,19 @@ public class MySubscriptionAdapter extends BaseAdapter {
         }else {
             viewHolder = (ViewHolder) view.getTag();
         }
-//        viewHolder.subscribeIv.setImageResource(mImageIds.get(i % 5));
+
+        if (mPersonalSubscriptionBeans.get(i).getIMG() != null){
+            byte[] imgBytes = mPersonalSubscriptionBeans.get(i).getIMG();
+            if (imgBytes.length != 0){
+                Bitmap bitmap = ImageUtil.compressBitmapWithByte(imgBytes,40,40);
+                viewHolder.subscribeIv.setImageBitmap(bitmap);
+            }else {
+                viewHolder.subscribeIv.setImageResource(R.drawable.ic_subscription_number);
+            }
+        }else {
+            viewHolder.subscribeIv.setImageResource(R.drawable.ic_subscription_number);
+        }
+
         viewHolder.titleTv.setText(mPersonalSubscriptionBeans.get(i).getTITLE());
         if (mPersonalSubscriptionBeans.get(i).getISAPPLED() == -1){
             viewHolder.applyTv.setText("-退订");

+ 9 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/PersonalSubscriptionBean.java

@@ -11,6 +11,15 @@ public class PersonalSubscriptionBean {
     private int ISAPPLED;
     private String MASTER;
     private String USERNAME;
+    private byte[] IMG;
+
+    public byte[] getIMG() {
+        return IMG;
+    }
+
+    public void setIMG(byte[] IMG) {
+        this.IMG = IMG;
+    }
 
     public String getUSERNAME() {
         return USERNAME;

+ 9 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/bean/SubscriptionNumber.java

@@ -13,6 +13,15 @@ public class SubscriptionNumber {
     private String master;//订阅号所属账套
     private String username;//订阅号所属账号
     private int removed;//是否被本地移除
+    private byte[] img;
+
+    public byte[] getImg() {
+        return img;
+    }
+
+    public void setImg(byte[] img) {
+        this.img = img;
+    }
 
     public int getRemoved() {
         return removed;

+ 13 - 9
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java

@@ -497,10 +497,8 @@ public class DBManager {
         sqLiteStatement.bindLong(8, subscriptionNumber.getRemoved());
         sqLiteStatement.execute();
     }*/
-
-   
-    public void saveListToAllSubs(List<SubscriptionNumber> subscriptionNumbers){
-        String saveSql = "replace into AllSubs(subs_id,subs_title,subs_kind,subs_status,subs_type,subs_master,subs_username,subs_removed) values (?,?,?,?,?,?,?,?)";
+    public void saveListToAllSubs(List<SubscriptionNumber> subscriptionNumbers) {
+        String saveSql = "replace into AllSubs(subs_id,subs_title,subs_kind,subs_status,subs_type,subs_master,subs_username,subs_removed,subs_img) values (?,?,?,?,?,?,?,?,?)";
         SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
         for (int i = 0; i < subscriptionNumbers.size(); i++) {
             SubscriptionNumber subscriptionNumber = subscriptionNumbers.get(i);
@@ -512,6 +510,8 @@ public class DBManager {
             sqLiteStatement.bindString(6, subscriptionNumber.getMaster());
             sqLiteStatement.bindString(7, subscriptionNumber.getUsername());
             sqLiteStatement.bindLong(8, subscriptionNumber.getRemoved());
+            sqLiteStatement.bindBlob(9, subscriptionNumber.getImg());
+
             sqLiteStatement.execute();
         }
     }
@@ -533,6 +533,7 @@ public class DBManager {
             subscriptionNumber.setMaster(cursor.getString(cursor.getColumnIndex("subs_master")));
             subscriptionNumber.setUsername(cursor.getString(cursor.getColumnIndex("subs_username")));
             subscriptionNumber.setRemoved(cursor.getInt(cursor.getColumnIndex("subs_removed")));
+            subscriptionNumber.setImg(cursor.getBlob(cursor.getColumnIndex("subs_img")));
             subscriptionNumbers.add(subscriptionNumber);
         }
         cursor.close();
@@ -554,7 +555,7 @@ public class DBManager {
         sta.executeInsert();
     }
 
-    public void updateListAllSubs(List<SubscriptionNumber> subscriptionNumbers){
+    public void updateListAllSubs(List<SubscriptionNumber> subscriptionNumbers) {
         String sql = "update AllSubs"
                 + " set subs_status=?, subs_removed=? "
                 + " where subs_id=? and subs_master=? and subs_username=? ;";
@@ -600,7 +601,7 @@ public class DBManager {
      * ************* 已订阅表MySubs操作  ***************************************
      *************************************************************************/
     public void saveToMySubs(PersonalSubscriptionBean personalSubscriptionBean) {
-        String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master,subs_username) values (?,?,?,?,?,?,?)";
+        String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master,subs_username,subs_img) values (?,?,?,?,?,?,?,?)";
         SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
         sqLiteStatement.bindLong(1, personalSubscriptionBean.getNUM_ID());
         sqLiteStatement.bindString(2, personalSubscriptionBean.getTITLE());
@@ -609,11 +610,12 @@ public class DBManager {
         sqLiteStatement.bindLong(5, personalSubscriptionBean.getISAPPLED());
         sqLiteStatement.bindString(6, personalSubscriptionBean.getMASTER());
         sqLiteStatement.bindString(7, personalSubscriptionBean.getUSERNAME());
+        sqLiteStatement.bindBlob(8, personalSubscriptionBean.getIMG());
         sqLiteStatement.execute();
     }
 
     public void saveListToMySubs(List<PersonalSubscriptionBean> personalSubscriptionBeans) {
-        String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master,subs_username) values (?,?,?,?,?,?,?)";
+        String saveSql = "replace into MySubs(subs_id,subs_title,subs_kind,subs_type,subs_applied,subs_master,subs_username,subs_img) values (?,?,?,?,?,?,?,?)";
         SQLiteStatement sqLiteStatement = db.compileStatement(saveSql);
         for (int i = 0; i < personalSubscriptionBeans.size(); i++) {
             PersonalSubscriptionBean personalSubscriptionBean = personalSubscriptionBeans.get(i);
@@ -624,6 +626,7 @@ public class DBManager {
             sqLiteStatement.bindLong(5, personalSubscriptionBean.getISAPPLED());
             sqLiteStatement.bindString(6, personalSubscriptionBean.getMASTER());
             sqLiteStatement.bindString(7, personalSubscriptionBean.getUSERNAME());
+            sqLiteStatement.bindBlob(8, personalSubscriptionBean.getIMG());
             sqLiteStatement.execute();
         }
     }
@@ -644,6 +647,7 @@ public class DBManager {
             personalSubscriptionBean.setISAPPLED(cursor.getInt(cursor.getColumnIndex("subs_applied")));
             personalSubscriptionBean.setMASTER(cursor.getString(cursor.getColumnIndex("subs_master")));
             personalSubscriptionBean.setUSERNAME(cursor.getString(cursor.getColumnIndex("subs_username")));
+            personalSubscriptionBean.setIMG(cursor.getBlob(cursor.getColumnIndex("subs_img")));
             personalSubscriptionBeans.add(personalSubscriptionBean);
         }
         cursor.close();
@@ -681,9 +685,9 @@ public class DBManager {
         }
     }*/
 
-    public void deleteMasterMySubs(String master, String username){
+    public void deleteMasterMySubs(String master, String username) {
         String table = "MySubs";
-        String[] whereArgs = {master,username};
+        String[] whereArgs = {master, username};
         String whereClause = "subs_master=? and subs_username=? ";
         db.delete(table, whereClause, whereArgs);
     }

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBOpenHelper.java

@@ -13,7 +13,7 @@ import com.xzjmyk.pm.activity.ui.erp.util.Constants;
  */
 public class DBOpenHelper extends SQLiteOpenHelper {
 
-    private static final int DATABASE_VERSION = 57;//数据库版本号(每添加一个表要增加版本号)
+    private static final int DATABASE_VERSION = 58;//数据库版本号(每添加一个表要增加版本号)
     public static String dataBaseName = "erp.db";//数据库名称
     public Context context;
 

+ 6 - 4
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java

@@ -4,6 +4,7 @@ import android.content.Intent;
 import android.graphics.drawable.BitmapDrawable;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Base64;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
@@ -424,14 +425,15 @@ public class SubscriptionAllFragment extends BaseFragment {
                             for (int i = 0; i < subsArray.length(); i++) {
                                 JSONObject subsObject = subsArray.getJSONObject(i);
                                 SubscriptionNumber subscriptionNumber = new SubscriptionNumber();
-                                subscriptionNumber.setId(subsObject.getInt("id"));
-                                subscriptionNumber.setTitle(subsObject.getString("title"));
-                                subscriptionNumber.setKind(subsObject.getString("kind"));
-                                subscriptionNumber.setStatus(subsObject.getInt("status"));
+                                subscriptionNumber.setId(subsObject.optInt("id"));
+                                subscriptionNumber.setTitle(subsObject.optString("title"));
+                                subscriptionNumber.setKind(subsObject.optString("kind"));
+                                subscriptionNumber.setStatus(subsObject.optInt("status"));
                                 subscriptionNumber.setType(key);
                                 subscriptionNumber.setMaster(currentMaster);
                                 subscriptionNumber.setUsername(currentUser);
                                 subscriptionNumber.setRemoved(0);
+                                subscriptionNumber.setImg(Base64.decode(subsObject.optString("img"),Base64.DEFAULT));
                                 mNetSubscriptionNumbers.add(subscriptionNumber);
                             }
                             if (mDbSubscriptionNumbers == null || mDbSubscriptionNumbers.size() == 0){

+ 19 - 14
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java

@@ -3,6 +3,7 @@ package com.xzjmyk.pm.activity.ui.erp.fragment;
 import android.content.Intent;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Base64;
 import android.util.Log;
 import android.view.View;
 import android.widget.AdapterView;
@@ -105,17 +106,20 @@ public class SubscriptionMyFragment extends BaseFragment {
 
     @Override
     protected void initDatas() {
-        List<PersonalSubscriptionBean> dbPersonalSubscriptionBeans = mDbManager.queryFromMySubs(new String[]{currentMaster,currentUser}, "subs_master=? and subs_username=? ");
-        if (dbPersonalSubscriptionBeans == null
-                || dbPersonalSubscriptionBeans.size() == 0
-                || CommonUtil.isNetWorkConnected(getActivity().getApplicationContext())){
+        if (CommonUtil.isNetWorkConnected(getActivity().getApplicationContext())){
             sendSubscriptionRequest();
         }else {
-            mPersonalSubscriptionBeans.clear();
-            mPersonalSubscriptionBeans.addAll(dbPersonalSubscriptionBeans);
-            mMySubscriptionAdapter.notifyDataSetChanged();
-            if (mPersonalSubscriptionBeans.size() == 0){
-                mEmptyLayout.showEmpty();
+            List<PersonalSubscriptionBean> dbPersonalSubscriptionBeans = mDbManager.queryFromMySubs(new String[]{currentMaster,currentUser}, "subs_master=? and subs_username=? ");
+            if (dbPersonalSubscriptionBeans != null){
+                mPersonalSubscriptionBeans.clear();
+                mPersonalSubscriptionBeans.addAll(dbPersonalSubscriptionBeans);
+                mMySubscriptionAdapter.notifyDataSetChanged();
+                if (mPersonalSubscriptionBeans.size() == 0){
+                    mEmptyLayout.showEmpty();
+                }
+            }else {
+                mEmptyLayout.setErrorMessage("网络未连接");
+                mEmptyLayout.showError();
             }
         }
     }
@@ -166,13 +170,14 @@ public class SubscriptionMyFragment extends BaseFragment {
                                 for (int i = 0; i < resultArray.length(); i++) {
                                     JSONObject currentObject = resultArray.getJSONObject(i);
                                     PersonalSubscriptionBean personalSubscriptionBean = new PersonalSubscriptionBean();
-                                    personalSubscriptionBean.setNUM_ID(currentObject.getInt("NUM_ID"));
-                                    personalSubscriptionBean.setTITLE(currentObject.getString("TITLE_"));
-                                    personalSubscriptionBean.setKIND(currentObject.getString("KIND_"));
-                                    personalSubscriptionBean.setTYPE(currentObject.getString("TYPE_"));
-                                    personalSubscriptionBean.setISAPPLED(currentObject.getInt("ISAPPLIED_"));
+                                    personalSubscriptionBean.setNUM_ID(currentObject.optInt("NUM_ID"));
+                                    personalSubscriptionBean.setTITLE(currentObject.optString("TITLE_"));
+                                    personalSubscriptionBean.setKIND(currentObject.optString("KIND_"));
+                                    personalSubscriptionBean.setTYPE(currentObject.optString("TYPE_"));
+                                    personalSubscriptionBean.setISAPPLED(currentObject.optInt("ISAPPLIED_"));
                                     personalSubscriptionBean.setMASTER(currentMaster);
                                     personalSubscriptionBean.setUSERNAME(currentUser);
+                                    personalSubscriptionBean.setIMG(Base64.decode(currentObject.optString("IMG_"),Base64.DEFAULT));
                                     mPersonalSubscriptionBeans.add(personalSubscriptionBean);
                                 }
                                 mMySubscriptionAdapter.notifyDataSetChanged();

+ 12 - 7
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/CommonUtil.java

@@ -62,10 +62,14 @@ import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.xmpp.listener.ChatMessageListener;
 
+import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
+import java.lang.ref.SoftReference;
 import java.net.URL;
 import java.net.URLConnection;
 import java.text.SimpleDateFormat;
@@ -204,10 +208,10 @@ public class CommonUtil {
                 .considerExifParams(true)  //是否考虑JPEG图像EXIF参数(旋转,翻转)
                 .imageScaleType(ImageScaleType.IN_SAMPLE_INT)//设置图片以如何的编码方式显示
                 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片的解码类型
-                //.decodingOptions(BitmapFactory.Options decodingOptions)//设置图片的解码配置
+                        //.decodingOptions(BitmapFactory.Options decodingOptions)//设置图片的解码配置
                 .delayBeforeLoading(0)//int delayInMillis为你设置的下载前的延迟时间
-                //设置图片加入缓存前,对bitmap进行设置
-                //.preProcessor(BitmapProcessor preProcessor)
+                        //设置图片加入缓存前,对bitmap进行设置
+                        //.preProcessor(BitmapProcessor preProcessor)
                 .resetViewBeforeLoading(true)//设置图片在下载前是否重置,复位
                 .build();//构建完成
         return options;
@@ -443,7 +447,7 @@ public class CommonUtil {
         return value;
     }
 
-    public static int getSharedPreferencesInt(Context ct, String key,int defValues) {
+    public static int getSharedPreferencesInt(Context ct, String key, int defValues) {
         if (key == null) {
             return 0;
         }
@@ -1129,15 +1133,16 @@ public class CommonUtil {
 
     /**
      * 去除集合中相同元素
+     *
      * @param datas
      * @return
      */
-    public static List<Object> getSingleElement(List<Object> datas){
+    public static List<Object> getSingleElement(List<Object> datas) {
         List<Object> resultList = new ArrayList<>();
         Iterator<Object> iterator = datas.iterator();
-        while (iterator.hasNext()){
+        while (iterator.hasNext()) {
             Object next = iterator.next();
-            if (!resultList.contains(next)){
+            if (!resultList.contains(next)) {
                 resultList.add(next);
             }
         }

+ 4 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/util/Constants.java

@@ -94,7 +94,8 @@ public class Constants {
             + "subs_type varchar(50),"
             + "subs_master varchar(50),"
             + "subs_username varchar(50),"
-            + "subs_removed integer"
+            + "subs_removed integer,"
+            + "subs_img BLOB"
             +")";
 
     //已订阅号表
@@ -106,7 +107,8 @@ public class Constants {
             + "subs_type varchar(50),"
             + "subs_applied integer,"
             + "subs_master varchar(50),"
-            + "subs_username varchar(50)"
+            + "subs_username varchar(50),"
+            + "subs_img BLOB"
             + ")";
 
 

+ 40 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/ImageUtil.java

@@ -13,10 +13,13 @@ import android.media.ExifInterface;
 import android.util.Log;
 
 import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.lang.ref.SoftReference;
 
 /**
  * Created by Arisono on 2016/5/25.
@@ -341,4 +344,41 @@ public class ImageUtil {
             return null;
         }
     }
+
+
+
+    /**
+     * 字节数组转换成bitmap
+     * @param bytes
+     * @return
+     */
+    public static Bitmap decodeImg(byte[] bytes) {
+        Bitmap bitmap = null;
+
+        byte[] imgByte = null;
+        InputStream input = null;
+        try {
+            imgByte = bytes;
+            BitmapFactory.Options options = new BitmapFactory.Options();
+            options.inSampleSize = 8;
+            input = new ByteArrayInputStream(imgByte);
+            SoftReference softRef = new SoftReference(BitmapFactory.decodeStream(input, null, options));
+            bitmap = (Bitmap) softRef.get();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (imgByte != null) {
+                imgByte = null;
+            }
+
+            if (input != null) {
+                try {
+                    input.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return bitmap;
+    }
 }

+ 0 - 1
WeiChat/src/main/res/layout/layout_all_subscription_list.xml

@@ -10,7 +10,6 @@
         android:layout_width="40dp"
         android:layout_height="40dp"
         android:scaleType="fitXY"
-        android:src="@drawable/ic_subscription_number"
         />
     <LinearLayout
         android:layout_width="match_parent"

+ 0 - 1
WeiChat/src/main/res/layout/layout_my_subscribe_list.xml

@@ -10,7 +10,6 @@
         android:layout_width="40dp"
         android:layout_height="40dp"
         android:scaleType="fitXY"
-        android:src="@drawable/ic_subscription_number"
         />
 
     <TextView