Android幾個實戰經驗

android studio svn commit changelist delete

在提交代碼的時候,會提示Partial Commit of Active Changelist,通常會選擇Yes,但如圖,我這樣強迫症患者,就想刪掉 解決方案: java

The APK file does not exist on disk.Error while Installing APK

運行apk,直接報這個錯誤,clean也無效 解決方案: android

Android Studio獲取SHA1

開發地圖,在他們的後臺須要填SHA1,之前是填MD5值,MD5值獲取很簡單,那SHA1怎麼獲取呢? 步驟以下: 一、全局配置jdk1.8.0_45\bin(或cd進入bin目錄) 二、keytool -v -list -keystore 你的keystore路徑 三、輸入祕鑰庫口令:若是沒設置,這裏就是空,直接回車就進去了。android-studio

Android 6.0 Dialog text doesn't appear

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("退出登陸");
builder.setMessage("您肯定要退出登陸嗎?");
builder.setNegativeButton("取消", null);
builder.setPositiveButton("肯定", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        HashMap
  
  
  

 
  
  params = new HashMap 
 
  
    (); postData(API.LOGOUT, params, false, new ResponseCallBack 
   
     (Settingctivity.this) { @Override public void onSuccessResponse(String bean, String msg) { } @Override public void onFailResponse(String msg) { } }, null, null, true); } }); builder.create().show(); 
    
   

 複製代碼

正常這樣是沒問題,可是在Android 6.0發現文本不顯示,如圖: 微信

解決方案:網絡

/**
 * http://stackoverflow.com/questions/33228454/android-6-0-dialog-text-doesnt-appear
 *
 * @param context
 * @return
 */
public static AlertDialog.Builder alertDialogBuilder(Context context) {
    AlertDialog.Builder builder;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        builder = new AlertDialog.Builder(context, android.R.style.Theme_Material_Light_Dialog_Alert);
    } else {
        builder = new AlertDialog.Builder(context);
    }
    return builder;
}複製代碼

而後初始化app

AlertDialog.Builder builder = alertDialogBuilder(this);複製代碼

URLEncoder.encode

若是網絡請求,參數包含了中文,那須要URLEncoder轉下ide

URLEncoder.encode(參數值 "utf-8")複製代碼

單擊返回鍵兩次退出

@Override 
    public boolean onKeyUp(int keyCode, KeyEvent event) { 
        if (keyCode == KeyEvent.KEYCODE_BACK) { 
            long secondTime = System.currentTimeMillis(); 
            if (secondTime - firstTime > 800) {//若是兩次按鍵時間間隔大於800毫秒,則不退出 
                Toast.makeText(MainActivity.this, "再按一次退出程序...", 
                        Toast.LENGTH_SHORT).show(); 
                firstTime = secondTime;//更新firstTime 
                return true; 
            } else { 
                //不然退出程序操做
            } 
        } 
        return super.onKeyUp(keyCode, event); 
    }複製代碼

……svn

更多實戰經驗見個人博客:wuxiaolong.me/2015/08/10/…post

微信公衆號

相關文章
相關標籤/搜索