笔记
时光中的记忆
最好的学习方式就是把每天学到的知识记录下来,每天学习一点点
展开
-
android布局优化-merge
前言:merge主要是进行UI布局的优化的,删除多余的层级,优化UI。<merge/>多用于替换frameLayout 或者 当一个布局包含另一个布局的时候,<merge/>标签用于消除师徒层次结构中多余的视图组。例如:你的朱布局文件是垂直的,此时如果你引入一个垂直布局的.这时如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的...转载 2019-07-08 11:17:37 · 552 阅读 · 0 评论 -
Android 自定义的一个带有标题栏的相对布局
项目中很多地方都有用到标题栏 ,如果每个地方都重新写一个有点麻烦,就自定义了一个带标题栏的相对布局package com.vrseen.vivohome.view;import android.annotation.TargetApi;import android.content.Context;import android.content.res.TypedArray;import andr原创 2016-10-13 11:55:32 · 982 阅读 · 1 评论 -
android sdk目录中工具介绍
重点介绍SDK自带的工具: tools目录 重点介以下工具,其他工具,学友们可自行上网搜索 1.layoutopt 检验布局文件是否合理,布局文件一般是不可缺少的,不良的布局文件【比如:不必要的嵌套,过多的视图,嵌套太深】,很容易引起系统开销过大,程序anp等等。怎么初步检测一个布局文件是否合理? 使用参考:[http://www.2cto.com/kf/201201/116870.htm转载 2016-03-01 10:12:56 · 581 阅读 · 0 评论 -
Android读取桌面安装的应用
查询出桌面上已经安装的应用List<AppInfo> appInfos = null; PackageManager manager = context.getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); //过滤条件 mainIn原创 2016-12-01 14:54:28 · 574 阅读 · 0 评论 -
Android studio2.2 adb输出日志到本地文件,界面说明
adb logcat > D:/text.txtAndroidStudio2.2界面介绍链接: http://www.jianshu.com/p/a0bd823c07e2 快捷键介绍: http://www.open-open.com/lib/view/open1468121618489.html简单的快捷键; 快速定位到错误 F2 查询类Ctrl+N 查询全部Shift+Shift原创 2016-11-01 18:04:39 · 5035 阅读 · 0 评论 -
android gradle学习的新知识 笔记一下
1、xUtils的图片加载任务会阻塞Http请求,因为xUtils中的图片加载框架1.Gradle 打包(不废话了直接来脚本),将下列脚本放到build.gradle文件android{}内;defaultConfig{ //applicationId "" //应用包名 minSdkVersion 9 //sdk最小支持版本转载 2016-12-19 12:04:39 · 306 阅读 · 0 评论 -
android mainfast详解
本文编辑整理自: http://blog.163.com/hero_213/blog/static/39891214201242835410742/一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的转载 2017-01-13 15:42:13 · 3110 阅读 · 1 评论 -
android studio2.2初探ndk jni开发
android studio2.2以上ndk开发与之前有所不同,没有了那么多繁琐的生成什么.h 的过程。使用了CMake,初探门径,写了一个例子以作笔记。也希望能给一些在开发这条不归路上的同志们一些帮助,大神略过。1.首先下载ndk 这也可以下载 2.ndk配置好后,创建项目 3.项目创建完成后,默认运行起来就会生成.so文件,会生成ndk需要的文件 (1)这里原创 2017-01-11 18:09:41 · 495 阅读 · 0 评论 -
AndroidStudio2.2NDK CMakeLists.txt配置新的.cpp
刚接触CMakeLists.txt也不是很了解,记录下自己的学习路程做个笔记,也希望能给后来学习的人一点帮助。创建好ndk项目后android studio2.2会自动生成一个.cpp的文件也会生成一个CMakeLists.txt,在这里边已经配置好了这个.cpp文件如果你想再添加一个.cpp文件怎么配置呢。 有不对的地方欢迎指正。原创 2017-01-13 10:15:48 · 3534 阅读 · 0 评论 -
Android studio 导如eclipse项目
在build.dradle中添加aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false packagingOptions { exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/NOTICE' exc原创 2016-08-16 20:29:24 · 299 阅读 · 0 评论 -
Android自定义左右滑动的跑马灯
package com.example.administrator.myapplication;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.text.TextUtils;import android.util.Attribu原创 2016-06-22 11:59:59 · 702 阅读 · 0 评论 -
android通过反射获得资源数据
import android.content.Context; import android.content.res.Resources;import com.zlongame.utils.LogUtils.PDLog;/** * 在不能使用id的情况下 通过使用反射获取数据 */ public class ResourcesUtil { private static Stri原创 2016-04-28 14:32:14 · 1624 阅读 · 0 评论 -
android 中用到的定时器
/* * @Title: ${IndentReserveDetailActivity} * @Description: ${todo}<多线程执行延时任务,单线程执行延时任务> * @author caoyangfei * @data 2016-4-29 下午4:01:38 * @version: */import java.util.concurrent.Executors;imp原创 2016-04-29 16:02:47 · 324 阅读 · 0 评论 -
android中自定义radiobutton的背景色选择默认图标
转载自 [http://mypyg.iteye.com/blog/768471]RadioButton长成什么样子是由其Background、Button等属性决定的,Android系统 使用style定义了默认的属性,在android源码 android/frameworks/base/core/res/res/values/styles.xml中可以看到默认的定义:<style name转载 2016-04-18 19:18:02 · 2895 阅读 · 0 评论 -
android 中handler为什么不会阻塞主线程
handler在消息处理的时候用到了Looper.loop()方法ActivityThread程序的入口public static final void main(String[] args) { SamplingProfilerIntegration.start(); …… Looper.prepareMainLooper(); if转载 2016-05-04 17:35:30 · 7544 阅读 · 2 评论 -
android 23以上使用httpclient
在API 23中,Google已经移除了移除了Apache HttpClient相关的类 。谷歌推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在 Eclipse下libs里添加org.apache.http.legacy.jar, Android studio里在相应的module下的build.gradle中加入即可。原创 2016-05-19 09:42:21 · 427 阅读 · 0 评论 -
Android获取图片的几种方式
1.Drawable drawable =getResources().getDrawable(R.drawable.ic_launcher); img.setImageDrawable(drawable); 2.Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.i原创 2016-06-08 11:23:51 · 378 阅读 · 0 评论 -
Android 用popWindow遇见的问题
在android中使用popwindow使用步骤:/** @param contentView the popup's content 弹出的内容* @param width the popup's width 宽度* @param height the popup's height 高度* @param focusable true if the popup can be focused原创 2016-06-06 15:52:31 · 766 阅读 · 0 评论 -
Android中判断当前应用程序是否在运行 推送时进行判断
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<RunningTaskInfo> list = am.getRunningTasks(100);for (RunningTaskInfo info : list) { if (info.top原创 2016-06-21 14:37:26 · 4055 阅读 · 0 评论 -
热修复tinker 更新.so出现的问题
昨天接入了tinker 发现其他的都能更新就是.so更新不了。今天找了找问题记录一下。竟然要用.so热更新,我们就用tinker给我们提供的加载so库文件的方法。他们给我们提供了一个TinkerLoadLibrary这个类,我们调用这个里边的方法就行了。public TextJni(Context context) { TinkerLoadLibrary.loadLibraryFro原创 2017-01-19 15:00:47 · 1078 阅读 · 1 评论 -
Android 热修复,微信开源框架tinker的接入,就是这么简单
最近在弄热更新,看了几个开源框架,感觉微信的tinker不错,学习一下,但是发现官方文档给的实在蛋疼,全是坑,做个笔记记录一下,以后用的时候避过这些坑。 微信demo 下载下来以后有很多,直接把tinker-sample-android拿出来就好了,看这个就行了。 这个是官网给的接入指南,看下里边gradle的介绍 1.导入demo的问题,导入后你有可能遇见这个 tinkerId is原创 2017-01-18 19:49:17 · 758 阅读 · 0 评论 -
Android activity相互跳转后台出现两个页面的坑
首先解释下,A activity启动B activity连个activity的生命周期 A 启动周期 onCreate()——>onStart()——>onResume() A启动B A不finish A onPause()-->B onCreate()——>onStart()——>onResume()-->A onStop() B返回A B onPause()转载 2017-09-15 10:27:10 · 8884 阅读 · 5 评论 -
Android studio3.0 的几种依赖方式笔记
Android studio3.0 依赖方式: 之前的时候我们经常使用的compile已经被弃用,现在取代他的是implementation和api,provided被compile only替代,apk被runtime only替代implementation:只能在内部使用此模块,比如我在一个libiary中使用implementation依赖了gson库,然后我的主项目依赖了lib原创 2017-11-07 16:26:20 · 1237 阅读 · 0 评论 -
Cordova 初次使用 环境搭建
Cordova中文官网简述下我从第一次听说Cordova 然后怎么创建第一个项目第一部 首先进入Cordova官网找到 下载 node.js,下载完成后安装按照默认的安装直接下一步就可以第二部 用npm命令安装cordova ,打开命令行 , 在cmd命令行窗口输入: npm install -g cordova有可能安装的时候长时间停留,安装不了,你可以切换到淘宝npm镜像 淘宝原创 2017-11-14 14:26:38 · 399 阅读 · 0 评论 -
Android studio更新到3.0后问题解决
问题1: 自定义打包问题提示Cannot set the value of read-only property ‘outputFile’ for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.build.gradle.internal.转载 2017-11-06 18:01:48 · 1537 阅读 · 0 评论 -
Android 适配
之前一直没深究过屏幕适配,今天给深究下,记录下, 首先是dp这个是我们使用最多的适配,dp的定义 Density-independent pixel (dp)独立像素密度。标准是160dip.即1dp对应1个pixel,计算公式如:px = dp * (dpi / 160),屏幕密度越大,1dp对应 的像素点越多。 上面的公式中有个dpi,dpi为DPI是Dots Per Inch(每转载 2018-01-02 17:38:17 · 471 阅读 · 0 评论 -
Android http和https区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,H...转载 2018-12-02 18:46:43 · 3543 阅读 · 0 评论 -
Android java library AbstractProcessor编译代码调试
1.概述在现阶段的Android开发中,注解越来越流行起来,比如ButterKnife,Retrofit,Dragger,EventBus等等都选择使用注解来配置。按照处理时期,注解又分为两种类型,一种是运行时注解,另一种是编译时注解,运行时注解由于性能问题被一些人所诟病。编译时注解的核心依赖APT(Annotation Processing Tools)实现,原理是在某些代码元素上(如类型、函...转载 2019-03-29 22:31:33 · 966 阅读 · 0 评论 -
Android Handler解决RecyclerView notifyDataSetChanged();问题
当RecyclerView 正在刷新的时候,notifyDataSetChanged()会报一个bugCannot call this method while RecyclerView is computing a layout or scrolling出现这个问题原因:在RecyclerView中,当RecyclerView的Adapter更新数据时,按照流程会执行assertNotI...转载 2019-06-06 09:43:40 · 2199 阅读 · 0 评论 -
Android 关于极光推送时测试和正式的问题
极光推送并没有提供区分测试和正式的字段,如果想区分测试和正式的环境,可以重新注册一个,在重新注册时,会让你重新填写包名,release: com.jpush.testdebug: com.jpush.test.debug然后我们配置gradle, buildTypes { release { manifestPlaceholders = [原创 2017-05-02 14:57:08 · 5386 阅读 · 0 评论 -
Android混淆打包 出现release/jars/3/1f/main.jar'
最近打android正式包的时候遇见了一个大坑,Error:Execution failed for task ':app:packageRelease'.> java.io.IOException: Failed to read zip file '/Users/username/Documents/Android Projects/Project Name/app/build/intermed原创 2017-08-18 09:09:40 · 876 阅读 · 0 评论 -
Error:java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException
android 中出现这个问题的原因:从报错来看可以定位到时资源文件出问题了,一个在Android 上运行好好的项目怎么会在AndroidStudio里面出现这种问题,顿觉头大了,查阅各种资料后来才发现了原来是.9.png图片造成的“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png,也就是说项目资源文件夹中,只要图片的文件后缀是.9.png的,就说明这是点9转载 2017-02-21 18:59:54 · 1595 阅读 · 1 评论 -
微信tinker热修复,想用自己的application怎么办
这两天弄这个tinker,尝试接入自己的项目,但是我们原来的项目已经好了,然后application里边也有东西都是继承的android的application,不知道怎么使用自己的application,然后琢磨了一下@DefaultLifeCycle(application = "com.github.tinkersample.SampleApplication", 这个注解生成了一个Samp原创 2017-01-23 15:15:47 · 1217 阅读 · 7 评论 -
Android 获取图库图片 根据uri获取路径
/** * 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换 * @param context * @param imageUri * @author yaoxing * @date 2014-10-12 */ @TargetApi(19) public static String getImageAb转载 2017-03-07 11:34:37 · 1744 阅读 · 0 评论 -
Android 中跳转时关于调用onDestory和onResume的先后问题
Android在界面跳转的时候,比如从Activity A 跳回 Activity B,并不是先执行A的onDestroy,而是执行完A的onPause之后就立即跳回Activity B里的onResume。在执行了Activity B 的onResume之后一两秒甚至更长一点的时间才执行Activity A里的onDestroy。 这样的处理机制应该是为了能够立即响应用户的操作。 这样的原创 2017-03-29 16:49:14 · 2478 阅读 · 0 评论 -
android 通知的一个问题
点击通知的时候发送广播,如果通知的id不要设置固定的,如果固定,会只显示一个把上一个覆盖掉NotificationManager mNotificationManager = (NotificationManager) context .getSystemService(NOTIFICATION_SERVICE); NotificationCompat原创 2017-03-29 17:13:59 · 344 阅读 · 0 评论 -
cmd 关闭某个占用的进程
查看端口为80的进程 netstat -aon|findstr “80” 查看对应的应用 tasklist|findstr “21136”关闭占用该端口的应用 taskkill /pid 21136 /f原创 2017-03-14 10:35:39 · 2229 阅读 · 0 评论 -
Android String格式化 %1$s %1$d
%1$d 整形如果一个String中间要插入一个变化的整形数据, 比如:小明今年27岁了。27要在代码中设置,就不用再String中写两个来拼接了这样写:<string name="old">小明今年%1$d岁了</string> 代码中:String string = getString(R.string.old);String.format(string, 27);%1d表达的意思是整个n原创 2017-05-05 11:20:23 · 832 阅读 · 0 评论 -
Android 极光推送多进程造成的application运行两次
在android 系统中一个应用默认有一个进程,但是我们可以通过配置实现多个进程。在接入极光推送时因为极光pushserice配置一个进程,造成application运行两次 一般在application中进行应用初始化,初始化两次有可能会出问题。 解决办法有两个 1. 去掉多创建的进程 <!-- Required SDK 核心功能--> <!-- 可配置android:pro原创 2017-08-16 18:05:31 · 2689 阅读 · 0 评论 -
android 中右上角的数字BadgeView
转载自[https://github.com/jgilfelt/android-viewbadger]最近项目中有用到右上角有数字的效果,上网查了一下记录下来以供以后需要 BadgeView主要是继承了TextView,底层放了一个label,可以自定义背景图,自定义背景颜色,是否显示,显示进入的动画效果以及显示的位置等等;两张效果图 构造方法: View target = findVie转载 2016-04-08 13:47:40 · 5294 阅读 · 0 评论