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

微信公众号

相关文章
相关标签/搜索