編輯:關於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(); // 顯示信息
}
}
}
android app進行代碼混淆實例詳解
接到一個新的任務,對現有項目進行代碼混淆。之前對混淆有過一些了解,但是不夠詳細和完整,知道有些東西混淆起來還是比較棘手的。不過幸好目前的項目不是太復雜(針對混淆這塊來說)
Android開發之ContentProvider的使用詳解
前言 Content Provider為存儲數據和獲取數據提供了統一的
Android最佳性能實踐(一)——合理管理內存
有不少朋友都問過我,怎樣才能寫出高性能的應用程序,如何避免程序出現OOM,或者當程序內存占用過高的時候該怎麼樣去排查。確實,一個優秀的應用程序,不僅僅要功能完成得好,性能
Android動畫之一:Drawable Animation
准備寫幾篇博客講解Android的動畫,首先介紹Android動畫的整體輪廓。 Android動畫主要分為三大類 View Animation Drawable An