android
d_o_n_g2
这个作者很懒,什么都没留下…
展开
-
记一次chales连接oppo手机问题
wlan证书,ca证书都导入了,证书格式pem和cer格式也都导入了,还是报错。最后原因竟然是手机的时间出问题了,过年回来很久没开机,这个导致了ssl报错,也是服了,特此记录。原创 2023-01-29 11:45:10 · 233 阅读 · 0 评论 -
记一次报错解决经历依赖重复
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex原创 2022-06-21 20:24:00 · 133 阅读 · 0 评论 -
Android 动画总结
一、动画的本质:View的移动。View移动分为几种。1、ScrollTo/ScrollBy:改变的是View中mScrollX和mScrollY的值。注意正负与安卓坐标系方向相反。不会改变mLeft和mTop值,getTranslationX 也是无值。滚动的是内容。实现比较特殊,是父类在onDraw之前做了canvas变化,不过还是会变换回来。所以父类和内容的getTranslationX 都是无值的。2、SetTranslationX/SetTranslationY:改变的是DisPla.原创 2020-12-24 17:39:57 · 310 阅读 · 1 评论 -
是时候弄清楚getExternalStorageDirectory()和getExternalFilesDir()的区别了
版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/nugongahou110目录(?)[+]之前看到一位网友的吐槽:当我把手机连接到电脑上时,在SD卡根目录看到了成百上千个各种应用程序创建的文件夹,拜托了各位开发者,你真的认为我的手机上只安装你一个app吗?你认为你的app是世界上最重要的app吗?你应该将你的应用数据写到这个路转载 2017-09-19 10:27:04 · 12542 阅读 · 0 评论 -
架构设计之依赖倒置、控制反转与依赖注入
名词解释依赖:一种模型元素之间的关系的描述。例如类A调用了类B,那么我们说类A依赖于类B。耦合:一种模型元素之间的关系的描述。例如类A调用了类B或类B调用了类A,那么我们说类A与类B有耦合关系。耦合度:模型元素之间的依赖程度的量化描述。控制:一种模型元素之间的关系的描述。例如类A调用了类B,那么我们说类A控制类B。绪论转载 2017-09-27 11:32:52 · 243 阅读 · 0 评论 -
Android 源码中的设计模式
请尊重个人劳动成果,转载注明出处谢谢! http://blog.csdn.net/amazing7/article/details/51719404 最近看了一些android的源码,发现设计模式无处不在啊!感觉有点乱,于是决定要把设计模式好好梳理一下,于是有了这篇文章。面向对象的六大原则单一职责原则 所谓职责是指类变化的原因。如果一个类有多于一转载 2017-09-27 11:52:26 · 233 阅读 · 0 评论 -
解决Android手机 屏幕横竖屏切换
转载:http://www.cnblogs.com/zhangkai281/archive/2011/07/06/2099277.htmlAndroid中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),怎么使屏幕横竖屏切换时,当前的Activity不销毁呢?1. 在AndroidManifest.xml中为Activ转载 2017-10-20 10:53:07 · 948 阅读 · 0 评论 -
android中DownloadManager实现版本更新,监听下载进度实例
DownloadManager简介DownloadManager是Android 2.3(API level 9)用系统服务(Service)的方式提供了DownloadManager来处理长时间的下载操作。它包含两个静态内部类DownloadManager.Query(用来查询下载信息)和DownloadManager.Request(用来请求一个下载)。Download转载 2017-09-19 11:37:06 · 9258 阅读 · 0 评论 -
理解WebKit和Chromium: Chromium WebView和Chrome浏览器渲染机制
转载请注明原文地址:http://blog.csdn.net/milado_nju ## 数据对比前面介绍过Chromium WebView的时候,说过有关ChromiumWebView同Chrome浏览器有很多不同之处,下面以Chromium Content Shell来对比来描述Chromium WebView,这是因为Chrome浏览器的渲染机制等同Content S转载 2017-09-08 12:14:04 · 428 阅读 · 0 评论 -
webkit与Chrome
作者:知乎用户链接:https://www.zhihu.com/question/21104657/answer/17213295来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。众所周知,Chrome和Android在Google属于完全不同的两个团队,而Android是收购来的项目,其原生浏览器是一个基于Webkit的实现,而Chrome长期耕耘转载 2017-09-08 12:12:02 · 373 阅读 · 0 评论 -
关于点击popupwindow以外区域 popupwindow自动消失问题
方法一(这种方法可以处理popupwindows dimiss的时候一些其他的操作,比如让其他控件的隐藏,消失等):代码如下popupWindow.setFocusable(false);//focusable要为false(不设置默认的就是False);//这是Activity 的OnTouchEvent。OnTouchEvent代表的是Activity 获得事件(即为PopupWind转载 2017-08-30 11:25:18 · 249 阅读 · 0 评论 -
Android开发 打开文件 选择文件对话框
[java] view plaincopy// filename: CallbackBundle.java package com.example.openfiledemo; import android.os.Bundle; // 简单的Bundle参数回调接口 public interface CallbackBundle {转载 2017-08-29 16:28:36 · 1222 阅读 · 0 评论 -
android中Dialog和PopupWindow的区别
android的系统弹出控件很多,Toast,OptionsMenu,Dialog,PopupWindow等。一大堆的弹出控件,文档又没有明确说出各控件应用于哪些场景,使得实际开发中很多鸡肋,有时候自己花很多力气去尝试做一个弹出控件,结果才发现用错了api接口。最近在做一个项目,要求用户在title栏中点击button弹出检索框进行搜索。在网上找了很多,最开始想的是用AlertDialog,我转载 2017-08-29 08:46:54 · 429 阅读 · 0 评论 -
Android 百分比布局库(percent-support-lib) 解析与扩展
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46695347; 本文出自:【张鸿洋的博客】一、概述周末游戏打得过猛,于是周天熬夜码代码,周一早上浑浑噩噩的发现android-percent-support-lib-sample这个项目,Google终于开始支持百分比的方式布局了,瞬间脉动回来,转载 2017-08-24 15:50:54 · 185 阅读 · 0 评论 -
Android 屏幕适配方案
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45460089; 本文出自:【张鸿洋的博客】1、概述大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实转载 2017-08-24 15:47:06 · 196 阅读 · 0 评论 -
Android 常用的语言代码与国家地区对照表
版权声明:本文为博主原创文章,未经博主允许不得转载。1、Android 中要实现国际化比较简单。 字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了, 如,英语环境下的,文件夹命名为:values-en 美国英文环境:values-en-rUS 中文环境为:values-zh 大陆地区中转载 2017-10-17 18:17:27 · 3950 阅读 · 0 评论 -
Android将应用程序指定默认语言
[html] view plain copyAndroid的国际化做得还是不错的,通过设置资源文件的名称,如:values-zh-rCN,即可,系统会自动根据当前系统设置的语言进行选择,默认是选择values目录下的资源文件的。那么如果某个应用程序要指定默认语言,无论系统设置的语言是什么,都要显示默认语言,那这么办呢?很简单,3步就Ok了。 第转载 2017-10-17 19:11:13 · 624 阅读 · 0 评论 -
Android Studio中Gradle使用详解
转载自简书 http://www.jianshu.com/p/02cb9a0eb2a0。一)基本配置build配置buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } }Android脚本app转载 2017-10-27 14:44:28 · 336 阅读 · 0 评论 -
今天Gradle升级了发现cordova项目报错了
转载自:https://blog.csdn.net/u014284625/article/details/79599312今天Gradle升级了发现cordova项目报错了,如下最后发现原来是因为android support library互相不兼容导致的,这些support library的版本不一致,导致项目中Crosswalk插件里面报了android:attr/fontVariation...转载 2018-05-30 14:33:21 · 1138 阅读 · 0 评论 -
安卓APK安装失败,错误代码
/** * if the package is already installed. * 程序已经存在 */ public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; /** * if the package archive file is invalid. * 无效的APK ...转载 2018-05-02 14:02:48 · 1384 阅读 · 0 评论 -
通过反射的方法获取资源id
import android.content.Context;public class MResource { public static int getIdByName(Context context, String className, String name) { String packageName = context.getPackageName(); ...原创 2018-02-22 14:52:51 · 422 阅读 · 0 评论 -
友盟推送点击行为处理
http://blog.csdn.net/dreamj1991/article/details/68065531注:友盟后台推送,后台必须设置返回数据自定义,返回点击行为不可以为默认打开app,再者就是custom数据设置,要不然 手机端接收不到。 // 点击"通知"的后续行为,默认为打开app。 "after_open": "xx" // 必填 值可以为:转载 2017-12-26 11:48:27 · 890 阅读 · 0 评论 -
Proguard打包混淆报错:can't find superclass or interface
转载:http://blog.csdn.net/lvxiangan/article/details/17911623在Eclipse打包工程时报如下错误:[2014-01-06 08:58:44 - emp_android] Proguard returned with error code 1. See console[2014-01-06 08:58转载 2017-12-25 13:13:52 · 315 阅读 · 0 评论 -
Android 获得设备状态信息、Mac地址、IP地址
前言在APP开发时,经常会遇到要获取手机状态信息的场景,像升级时获取版本号,像发生异常时要收集手机信息等等。有些软件还要根据Mac地址来判定当前用户以前是否登录过。下面将一一介绍获取这些手机状态信息的方法。1 通过build获取手机硬件信息运用反射获取Build信息,然后从build中得到对应字段的值。这种情况适用于获取所有的build信息。或者直接调用Build类直接拿里转载 2017-11-06 16:17:51 · 750 阅读 · 0 评论 -
Gradle学习总结——根本上看透Android Studio构建
转载自:http://www.jianshu.com/p/60e556a968de用过android studio的对gradle应该都不陌生了,gradle文件的基本配置大同小异,略做了解使用应该是没什么问题了。但是深入细致的了解一下对于理解项目还是很有帮助的,尤其是遇到一些配置复杂的github项目,不了解gradle可能会遇到跑不起来又束手无策的情形。下面对gradle相转载 2017-10-13 15:12:16 · 379 阅读 · 0 评论 -
利用编译时注解生成Java源代码
我们在编写注解的时候,需要指定@Retention,有三个可选值,表示注解会被保留到那个阶段。RetentionPolicy.SOURCE 这种类型的Annotations只在源代码级别保留,编译时就会被忽略,因此一般用来为编译器提供额外信息,以便于检测错误,抑制警告等. 比如@Override @SuppressWarningsRetentionPolicy.CLASS转载 2017-10-13 13:59:56 · 456 阅读 · 0 评论 -
Android WebView在屏幕旋转后,不重新加载URL及禁止横屏的方法
转载:http://blog.csdn.net/ningranzuozuo/article/details/50474386最近在开发一个web app,发现横屏后,URL会重新加载,体验很不好。需要更改AndroidManifest.xml文件,在需要禁止重新加载的Activity中增加android:configChanges="orientation|keyboardHidd转载 2017-10-20 11:02:52 · 2318 阅读 · 0 评论 -
Gradle 完整指南(Android)
转载自简书: http://www.jianshu.com/p/9df3c3b6067a 写的太棒了,所以转载过来。原文见以上链接。前言为什么需要学Gradle?Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的G转载 2017-10-27 15:18:50 · 246 阅读 · 0 评论 -
Android进程整理
一、概括系统启动架构图:上图在Android系统-开篇中有讲解,是从Android系统启动的角度来分析,本文是从进程/线程的视角来分析该问题。1.1 父进程在所有进程中,以父进程的姿态存在的进程(即图中的浅红色项),如下:kthreadd进程: 是所有内核进程的父进程init进程 : 是所有用户进程的父进程(或者父父进程)zygote进程 : 是所有上层Java进程转载 2017-08-28 16:05:15 · 424 阅读 · 0 评论 -
Smali和逆向分析
原文地址:http://www.tuicool.com/articles/EjYnuim这篇文章其实2个月前就想写了,但我知道并不好写,就懒得写了,所以拖到现在~其实接触smali这门语法是件蛮偶然的事,接触后发现,次奥,这货在某些领域太有用了,至于为什么我想看完这篇文章应该都明白了。我自己也只是接触了皮毛,大概用了2个礼拜多一点,也不是很系统的学习,写这篇的目的主要还是想把知道的东西转载 2017-09-06 13:25:29 · 350 阅读 · 0 评论 -
android AsyncTask介绍
AsyncTask和Handler对比1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l转载 2017-08-28 10:36:45 · 193 阅读 · 0 评论 -
android studio 如何将工程提交到github
首先下载git客户端,然后android studio里面需要指定git.exe,然后利用git的bash命令做一些配置,http://jingyan.baidu.com/article/6766299761b1be54d51b84a0.html。可以参照这个来。提交到github的前提是你用自己的账号在github上新建了一个仓库。最后android studio提交project到gi原创 2016-10-08 17:47:06 · 319 阅读 · 0 评论 -
咱来聊聊java的多态机制?
java面像对象的三大原则,继承,封装,多态。其实前两者是为多态做准备的。多态才是java世界利用最多的也是最强有力的武器。在这里我不会详细的叙述原理,我只会根据我的经验一步一步来让大家了解这个多态。多态的意义就是不同的类对同一个行为做不同的反应。这个有啥好处呢?一定要细细深究啊,这个好处真的不是一点半点。比如大家经常重写子类的方法,目的是啥?无非就是为了让系统来执行这个方法的时候表现我们所要的样原创 2016-09-14 16:38:04 · 567 阅读 · 0 评论 -
android studio 进行ndk开发思考总结
第一:环境配置。下载ndk,在as里面配置ndk,电脑环境变量配置PATH,ANDROID_NDK_HOME,至于是不是非得两个我也不清楚,就是在解决问题的时候就配置上了。路径都指向ndk第一层就行,比如:E:\android-ndk-r10b。这种。验证办法就是windows系统的cmd命令,然后输入ndk-build,如果能够解析证明配置成功。我出现了一个问题,cmd能够解析,但是as自带的t原创 2016-07-07 16:09:52 · 617 阅读 · 0 评论 -
浅析Looper的作用?
如果你遇到了这个报错Can't create handler inside thread that has not called Looper.prepare()。那就是是时候来好好理解下Looper的作用了。主要有两句话,Looper.prepare()。准备Looper。Looper.loop().Looper进行循环,这句话之后的代码都不会得到执行。这两句话实际的目的是为android中原创 2016-07-25 17:06:12 · 1894 阅读 · 0 评论 -
浅析onInterceptTouchEvent事件?
这个方法是viewgroup独有的,其返回值为true则拦截事件向子类view传递。默认值为false,代表默认viewgroup所有的事件处理都需要流向子view来处理。如果返回true的话,代表事件直接传递到该层的dispatchTouchEvent,然后传递到该层的ontouchevet方法。这个方法的意义提供了一种屏蔽机制,某种情况下,事件只会由该层来处理,而不会由别的层处理。这样两层原创 2016-02-15 14:10:24 · 327 阅读 · 0 评论 -
带你搞懂onInterceptTouchEvent和onTouchEvent
今天被这个搞得有点晕,现在终于明白了,这个事件传递机制的详细过程。首先明确一些基本常识,我发现这些默认值不清楚是导致后面理解错误混乱的原因。1、onInterceptTouchEvent 为viewgroup独有,这个函数一般返回的是默认值是false。代表不拦截。好了,这个不拦截代表啥鸟意思呢?代表不拦截事件传递给子view。 2、事件其实分为三种,而不是一种。down,move,up。 3、原创 2016-02-03 17:32:20 · 580 阅读 · 0 评论 -
如何理解handler.postDelayed方法的用途与意义?
这个方法接收两个参数,一个是Runnable对象,一个是一个long的时间毫秒数。这个方法好在,我们可以在将来的某一个时间执行一段代码,这个看起来是非常棒的。这个可以替代掉计时器的作用。并且,这个时间到来之前,我们随时可以移除掉这个Runnable对象。只需要通过handler.removecallbacks方法即可,非常好用。这种灵活性的搭配,使得这个方法在许多的自定义view中用途广发。原创 2016-02-15 15:53:26 · 1291 阅读 · 0 评论 -
android图片素材参考
hpi:一般是大图像素是:480x800 (640*960)宽比长大致为0.6左右 一般240dpi。 小图的像素根据实际来。xhdi:一般大图像素是: 640x1136 (720*1280) 宽比长大致为0.6左右比例 一般是320dpi。 小图的像素根据实际来。小图像素参考:(根据实际情况定)Android:原创 2016-01-27 11:25:46 · 1003 阅读 · 0 评论 -
大话Fragment管理
上一个项目遇到了一个Activity 管理30个Fragment的情况,刚开始的时候真的管理的焦头烂额,但是后来不停的研究api文档,渐渐的明白了android的Fragment管理体系。下面用一种Fragment嵌套Fragment的情况来总结一下Fragment的管理。 大神立马就能看出来,最外面一个Activity,底下首页,分类,购物车..是第一层一个FragmentTabHost,转载 2016-01-09 10:08:29 · 342 阅读 · 0 评论