編輯:關於Android編程
代碼如下:
import android.app.Activity; import android.content.ContentUris; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.widget.Toast; public class MyIntentContentDemo extends Activity { private static final int PICK_CONTACT_SUBACTIVITY = 1; // 定義操作標記 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); Uri uri = Uri.parse("content://contacts/people"); // 連接URI Intent intent = new Intent(Intent.ACTION_PICK, uri); // 指定Intent super.startActivityForResult(intent, PICK_CONTACT_SUBACTIVITY);// 調用Intent } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case PICK_CONTACT_SUBACTIVITY: // 接收返回的數據 Uri ret = data.getData(); // 單個數據Uri String phoneSelection = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?"; // 設置查詢條件 String[] phoneSelectionArgs = { String.valueOf(ContentUris .parseId(ret)) }; // 查詢參數 Cursor c = super.managedQuery( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, phoneSelection, phoneSelectionArgs, null); // 查詢全部手機號碼 StringBuffer buf = new StringBuffer() ; // 用於接收全部電話 buf.append("電話號碼是:") ; for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { // 循環取數據 buf.append(c.getString(c.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER))) .append("、"); // 取出電話號碼 } Toast.makeText(this, buf, Toast.LENGTH_LONG).show(); // 顯示信息 } } }
接到一個新的任務,對現有項目進行代碼混淆。之前對混淆有過一些了解,但是不夠詳細和完整,知道有些東西混淆起來還是比較棘手的。不過幸好目前的項目不是太復雜(針對混淆這塊來說)
前言 Content Provider為存儲數據和獲取數據提供了統一的
有不少朋友都問過我,怎樣才能寫出高性能的應用程序,如何避免程序出現OOM,或者當程序內存占用過高的時候該怎麼樣去排查。確實,一個優秀的應用程序,不僅僅要功能完成得好,性能
准備寫幾篇博客講解Android的動畫,首先介紹Android動畫的整體輪廓。 Android動畫主要分為三大類 View Animation Drawable An