Quellcode durchsuchen

显示联系人

liuzhenxing1118 vor 5 Monaten
Ursprung
Commit
75c5d57e60

+ 9 - 5
app/src/main/java/com/sikey/skcontact/activity/ContactActivity.java

@@ -10,9 +10,12 @@ import android.widget.ListView;
 
 import com.sikey.skcontact.R;
 import com.sikey.skcontact.adapter.BaseListAdapter;
+import com.sikey.skcontact.manager.DatabaseUtils;
 import com.sikey.skcontact.model.BaseModel;
+import com.sikey.skcontact.model.ContactBean;
 import com.sikey.skcontact.utils.Constant;
-import com.sikey.skcontact.utils.ResUtils;
+
+import java.util.ArrayList;
 
 public class ContactActivity extends BaseActivity {
     public final String TAG = "losion / skcontact :" + getClass().getSimpleName();
@@ -27,11 +30,12 @@ public class ContactActivity extends BaseActivity {
     }
 
     private void initData() {
-        String[] stringList = {"阿凡达范德萨", "aaa"};
-        for (int i = 0; i < stringList.length; i++) {
+        ArrayList<ContactBean> contacts = DatabaseUtils.queryContacts(this);
+        for (int i = 0; i < contacts.size(); i++) {
             BaseModel model = new BaseModel();
-            model.title = stringList[i].trim();
-            model.cellType = Constant.CellType.TITLE_SUBTITLE;
+            model.title = contacts.get(i).name.trim();
+            model.cellType = Constant.CellType.TITLE;
+            model.isShowArrow = false;
             mDataList.add(model);
         }
     }

+ 0 - 12
app/src/main/java/com/sikey/skcontact/adapter/BaseListAdapter.java

@@ -3,23 +3,11 @@ package com.sikey.skcontact.adapter;
 import android.annotation.SuppressLint;
 import android.content.Context;
 import android.os.Handler;
-import android.os.Message;
-import android.text.Editable;
-import android.text.InputFilter;
-import android.text.TextWatcher;
-import android.view.ActionMode;
 import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.EditText;
 import android.widget.ImageView;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import com.sikey.skcontact.R;

+ 40 - 30
app/src/main/java/com/sikey/skcontact/manager/DatabaseUtils.java

@@ -1,6 +1,8 @@
 package com.sikey.skcontact.manager;
 
 import android.annotation.SuppressLint;
+import android.content.ContentResolver;
+import android.content.Context;
 import android.database.Cursor;
 import android.net.Uri;
 import android.util.Log;
@@ -11,51 +13,59 @@ import com.sikey.skcontact.utils.Macros;
 import com.sikey.skcontact.utils.MetaData;
 import com.sikey.skcontact.utils.ToolsUtils;
 
+import java.util.ArrayList;
+
 public class DatabaseUtils {
-    public String TAG = "losion / skcontact :" + getClass().getSimpleName();
+    public static String TAG = "losion / skcontact :" + "DatabaseUtils";
     public DatabaseUtils() {}
 
     @SuppressLint("Range")
-    public ContactBean loadContact(String userId) {
-        Log.d(TAG, "loadContact: ");
+    public static ArrayList<ContactBean> queryContacts(Context context) {
         if (Macros.DEBUG) {
-            ContactBean bean = new ContactBean();
-            bean.userId = userId;
-            bean.name = "Father";
-            return bean;
+            return testContactList();
         } else {
+            ArrayList<ContactBean> arrayList = new ArrayList<>();
+            ContentResolver resolver = context.getContentResolver();
             Uri uri = Uri.parse(MetaData.DB_CONTACTS);
-            Cursor cursor = ContactApplication.getsContext().getContentResolver().query(uri, null, null, null, null);
+            Cursor cursor = resolver.query(uri, null, null, null, null);
             if (cursor == null) {
-                Log.d(TAG, "loadContact: cursor == null");
-                return null;
+                Log.d(TAG, "queryContacts: cursor == null");
+                return arrayList;
             }
             if (!cursor.moveToFirst()) {
-                Log.d(TAG, "loadContact: cursor.moveToFirst() false");
+                Log.d(TAG, "queryContacts: cursor.moveToFirst() == false");
                 cursor.close();
-                return null;
+                return arrayList;
             }
-
-            ContactBean bean = new ContactBean();
+            Log.d(TAG, "queryContacts: db ok");
             do {
-                String uId = cursor.getString(cursor.getColumnIndex("userId"));
-                if (uId.equals(userId)) {
-                    Log.d(TAG, "loadContact: find contact");
-                    bean._id = cursor.getLong(cursor.getColumnIndex("_id"));
-                    bean.id = cursor.getString(cursor.getColumnIndex("id"));
-                    bean.userId = cursor.getString(cursor.getColumnIndex("userId"));
-                    bean.name = cursor.getString(cursor.getColumnIndex("name"));
-                    bean.profile = cursor.getString(cursor.getColumnIndex("profile"));
-                    bean.profilePath = cursor.getString(cursor.getColumnIndex("profilePath"));
-                    bean.phoneNumber = cursor.getString(cursor.getColumnIndex("phoneNumber"));
-                    bean.countryPN = cursor.getString(cursor.getColumnIndex("countryPN"));
-                    bean.type = ToolsUtils.parseInt(cursor.getString(cursor.getColumnIndex("type")));
-                    bean.rate = ToolsUtils.parseInt(cursor.getString(cursor.getColumnIndex("rate")));
-                    bean.unRead = ToolsUtils.parseInt(cursor.getString(cursor.getColumnIndex("unRead")));
-                }
+                ContactBean bean = new ContactBean();
+                bean.id = cursor.getString(cursor.getColumnIndex("id"));
+                bean.name = cursor.getString(cursor.getColumnIndex("name"));
+                bean.profile = cursor.getString(cursor.getColumnIndex("profile"));
+                bean.profilePath = cursor.getString(cursor.getColumnIndex("profilePath"));
+                bean.phoneNumber = cursor.getString(cursor.getColumnIndex("phoneNumber"));
+                bean.countryPN = cursor.getString(cursor.getColumnIndex("countryPN"));
+                bean.type = ToolsUtils.parseInt(cursor.getString(cursor.getColumnIndex("type")));
+                bean.rate = ToolsUtils.parseInt(cursor.getString(cursor.getColumnIndex("rate")));
+                bean.unRead = ToolsUtils.parseInt(cursor.getString(cursor.getColumnIndex("unRead")));
+                arrayList.add(bean);
             } while (cursor.moveToNext());
             cursor.close();
-            return bean;
+            Log.d(TAG, "queryContacts: " + arrayList.size());
+            return arrayList;
+        }
+    }
+
+    public static ArrayList<ContactBean> testContactList() {
+        ArrayList<ContactBean> arrayList = new ArrayList<>();
+        for (int i = 0; i < 8; i++) {
+            ContactBean bean = new ContactBean();
+            bean.id = "2000";
+            bean.name = "abcdefghijk"+ i;
+            bean.phoneNumber = "1111";
+            arrayList.add(bean);
         }
+        return arrayList;
     }
 }