Android開發小知識點(二)

1.android studio 在Log控制檯,顯示No debuggable applications,沒有辦法單獨調試某個程序,能夠在 Tools->Android->Enable ADB Integration active.html

2.從相冊中選取圖片java

//在4.4之後就不在推薦使用 這個Action:Intent.ACTION_GET_CONTENT ,而是使用
//Intent.ACTION_OPEN_DOCUMENT,其相應的後續處理也會有一些變化,代碼以下
//開啓圖片查看器選擇圖片,能夠在點擊事件中調用如下方法 ,requestCode 能夠本身定義一個變量REQUEST_CODE_FOR_SELECT_PICTURE = 0x001; 
    public static void selectPictrue(Activity activity, int requestCode) {
        try {
            //打開手機中的相冊
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {//SDK 在在19如下
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                activity.startActivityForResult(Intent.createChooser(intent, activity.getResources().getString(R.string.chat_activity_select_picture)), requestCode);
            } else {//SDK 在在19以上
                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.setType("image/*");
                activity.startActivityForResult(intent, requestCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
            ToastUtils.showLongToast("圖片文件查看程序啓動失敗");
        }
    }
////////////////////在取得圖像的URI以後再 onActivityResult 方法中作的處理也會有些不一樣,代碼以下 ,到時候在Activity的onActivityResult 方法下調用下面的方法,就能夠獲得圖像的路徑 //////////////////////////
@TargetApi(Build.VERSION_CODES.KITKAT)
    public static String onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK) {
            try {
                String tempPath = null;
       if (requestCode == REQUEST_CODE_FOR_SELECT_PICTURE) {  //判斷 是不是從相冊選取圖片
                    if (data == null) {
                        ToastUtils.showLongToast("操做失敗,請重試...");
                        return null;
                    }
                    Uri uri = null;
                    //SDK 小於19
                    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
                        uri = data.getData();
                    } else { //SDK 大於 19
                        //for Android 4.4
                        uri = data.getData();
                        int takeFlags = Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION;
                        activity.getContentResolver().takePersistableUriPermission(uri, takeFlags);
                    }
                    tempPath = ProviderPathUtils.getPath(activity, uri);
                }
                if (TextUtils.isEmpty(tempPath)) {
                    ToastUtils.showLongToast("操做失敗,請重試...");
                    return null;
                }
                Logger.e("圖像路徑=" + tempPath);
                return tempPath;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return null;
    }

 

3.在TextView中顯示Html效果 (參考http://blog.csdn.net/dawanganban/article/details/11191265)android

TextView tv=(TextView)findViewById(R.id.textView1);  
        String html="<html><head><title>TextView使用HTML</title></head><body><p><strong>強調</strong></p><p><em>斜體</em></p>"  
                +"<p><a href=\"http://www.dreamdu.com/xhtml/\">超連接HTML入門</a>學習HTML!</p><p><font color=\"#aabb00\">顏色1"  
                +"</p><p><font color=\"#00bbaa\">顏色2</p><h1>標題1</h1><h3>標題2</h3><h6>標題3</h6><p>大於>小於<</p><p>" +  
                "下面是網絡圖片</p><img src=\"http://avatar.csdn.net/0/3/8/2_zhang957411207.jpg\"/></body></html>";  
          
        tv.setMovementMethod(ScrollingMovementMethod.getInstance());//滾動  
        tv.setText(Html.fromHtml(html));

4.GridView 或者 ListView中使用 android:clipToPadding="false" 能夠在設置padding值以後,使其設置padding 應用到父佈局上,上下滑動時,不會有設置padding的邊距,詳情可參看http://blog.csdn.net/hpu_zyh/article/details/44520949網絡

5.intent傳遞圖片時,圖片對象大小不該該超過40K,不然會報!!!Failed binder transation !!!app

6.限制EditText的輸入長度,例如: maxLength = "3"ide

相關文章
相關標籤/搜索