- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 AndroidStudio 2.3 NDK开发项目构建流程
新建一个普通的AndroidStudio工程修改Project下的build.gradle :用:classpath ‘com.android.tools.build:gradle-experimental:0.9.1’ 替换原来的:classpath ‘com.android.tools.build:gradle:2.3.0’ 代码如下: buildscript { rep
2017-11-13 17:37:08
391
原创 toolbar相关的主题属性设置
style<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!--设置每个菜单项及它选中时的背景色--> <item name="android:itemBackground">#a
2017-03-18 14:09:49
2518
原创 MenuItemCompat.getActionView(item)返回null
在toolbar中添加来了了一个searchView但是在 SearchView searchView = (SearchView) MenuItemCompat.getActionView(item); 总数返回null,解决方法: android.support.v7.widget.SearchVie前面要用自定义的命名空间app app:actionViewClas
2017-03-15 09:59:19
2242
原创 Android崩溃日志手动捕捉工具类 CrashHandler
思路: 1.新建一个类继承UncaughtExceptionHandler2.通过thread.setDefaullUncaughtExceptionHandler 将本类设置为app默认的UncaughtException处理类3.重写 UncaughtException如果用户没有处理,默认让系统处理;4.重写 handlerException处理了返回true,在这个方法中保存错误日志,没
2017-03-14 10:50:37
6297
原创 AbsListView.obtainView(AbsListView.java:2353)
在写适配器的时候报错: java.lang.NullPointerException at android.widget.AbsListView.obtainView(AbsListView.java:2353) at android.widget.ListView.makeAndAddView(ListView.java:1812) at android.widge
2017-03-13 13:45:22
652
原创 BaseDialog
/***自定义dialog基类*/public abstract class BaseDialog extends Dialog { protected Context mContext; public BaseDialog(Context context) { super(context, R.style.ShareDialog); this.m
2017-03-12 13:32:15
681
原创 Android中计算文件大小的工具类:FileSizeUtil
/***复制到类中就可以直*接调用*/public class FileSizeUtil { public static final int SIZETYPE_B = 1;// 获取文件大小单位为B的double值 public static final int SIZETYPE_KB = 2;// 获取文件大小单位为KB的double值 public static
2017-03-10 10:41:50
3438
原创 Handler源码分析
分析handler的源码,我们需要提前准备好这几个java类:Handler.java ;MessageQueue.javaLooper.javaActivityThread.javaThreadLocal.java如果没有关联源码,我们可以在adk目录下的sources中选择我们需要查看的API版本,然后在搜索框中搜索上面的类名,就可以找到这几个类的源码,然后将源码拖拽到eclipse
2017-03-09 17:12:10
298
原创 Could not find method android() for arguments on root project '项目名' of type org.gradle.api.Project.
Could not find method android() for arguments [build_9m5ezt0p5zo7axieu78rb2u57$_run_closure2@3207872b] on root project ‘xx项目名xxx’ of type org.gradle.api.Project. Open File解决方案: 添加: apply plugin: ‘co
2017-02-22 13:56:06
12817
2
原创 java.lang.NullPointerException:Attempt to invoke virtual method xxx on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method ‘com.zhongtie.zzxt.potopicker.PickerConfig com.zhongtie.zzxt.potopicker.utils.PickerHelper.getConfig()’ on a null object reference今天从And
2017-02-21 17:30:07
4908
原创 Unable to execute dex: Cannot merge new index 65726 into a non-jumbo instruction!
我是在eclipse中导入来啦一个新的 .jar包之后出现的这个问题,大衣是eclipse在将jar转化成dex的时候,可能会合并类的代码,由于资源太多导致的这个问题, 解决办法: 在project.properties文件中添加下列代码 dex.disable.merger=true 然后clean一下
2017-02-21 17:26:02
1056
原创 eclipse中导入v7包 android-support-v7-appcompat 和 android-support-v7-recyclerview
在eclipse中使用v7包,紧紧导入 .jar文件是不行的,总是报错:java.lang.ClassNotFoundException: android.support.v7.下面总结一下我在eclipse中使用v7的经验,仅供大家参考 1.下载Android support libary 使用Android SDK manager 下载 extras 下面的 Android suppo
2017-02-21 17:17:25
8946
2
原创 性能优化辅助工具
性能优化的帮助工具: MAT, Memory Monitor(属于AndroidMonitor中一个模块), HeapTool(查看堆信息), Allaction Tracking, LeakCanary Lint工具1.Allaction Tracking 追踪内存分配信息。可以很直观地看到某个操作的内存是如何进行一步一步地分配的。2.
2017-02-06 15:05:04
463
原创 常见内存泄漏分析
1.确定是否存在内存泄露 1)Android Monitors的内存分析 最直观的看内存增长情况,知道该动作是否发生内存泄露。 动作发生之前:GC完后内存1.4M; 动作发生之后:GC完后内存1.6M2)使用MAT内存分析工具MAT分析heap的总内存占用大小来初步判断是否存在泄露Heap视图中有一个Type叫做data object,即数据对象,也
2017-02-06 14:57:14
464
原创 Android内存优化基础
1.什么是内存泄漏:当一个对象已经不需要再使用了,本该被gc回收的时候,而有另外一个对象持有该对象的引用,就会导致该对象不被gc回收而继续保留在堆内存中,句产生了内存泄漏。2.java中gc回收的机制:某个对象不在被任何对象引用的时候,才会被gc回收。3.java内存分配的三种策略: (1)静态存储区:静态存储区在程序编译过程中就分配,程序运行过程中一直存在
2017-01-23 17:29:12
246
原创 java.lang.IllegalArgumentException: AppIndex: The URI scheme must be 'android-app' and follow the fo
找到Caused by 所只的类,删除里面系统自动生成的代码,即下图中的三个方法,全部删除,就可以恢复正常
2016-10-26 15:53:05
1297
原创 Unknown features (Run Configuration[AndroidRunConfigurationType], Facet[android, android-gradle]) c
这是由于as的部分插件被禁用,file/setting/plugins发现右侧的插件好多都是红颜色的,点击后面的选框,然后点击apply再点击ok,自动重启as后,重复前面的步骤,插件变为灰色,重新选中保存然后重启,就可以正常使用了,这是我自己解决的过程,希望可以帮到大家
2016-10-21 09:35:37
3156
1
原创 java.lang.NoClassDefFoundError: de.greenrobot.event.EventBus
集成环信的时候,程序安装运行是报错:java.lang.NoClassDefFoundError: de.greenrobot.event.EventBus at com.zxyoyo.base.BaseActivity.onCreate(BaseActivity.java:54) at com.zxyoyo.activity.StartActivity.onCreate(StartActiv
2016-10-17 10:57:36
5804
原创 Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
环信sdk集成过程中的问题
2016-09-23 14:32:23
461
原创 集成环信sdk过程中的冲突处理
1;//将bitmap对象转换成drawable对象Drawable drawable=new BitmapD
2016-07-06 17:48:24
6385
1
转载 [Android]inflate方法与 findViewById 方法区别 | LayoutInflater的inflate函数用法详解
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInfl
2016-06-07 21:09:15
404
原创 安卓中shape(形状)的应用
drawable目录下新建xml文件选择shape<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 角度 --> <corners android:radius="5dp" /> <!-- 渐变 <gra
2016-05-24 08:20:31
456
转载 android studio 与eclipse创建命名空间时候的区别
在写布局 layout 文件的时候,都有一个默认的name spacexmlns:android=”http://schemas.android.com/apk/res/android”当我们使用第三方或者自定义控件的时候,就需要给它们添加一个额外的命名控件,通常固定格式是:xmlns:app=”http://schemas.android.com/apk/res/packagename”其中 pa
2016-05-21 11:00:01
1604
原创 widget组件
Widget (微件、小组件) 1)写布局文件 对于widget的布局文件有限制!不是所有的组件都能够使用的。 容器类视图目前只支持四种:LinearLayout,RelativeLayout,FrameLayout,GridLayout 容器类目前支持的视图组件: AnalogClock 模拟时钟 ChronoMeter 电子时钟、计时器 Button ImageButton T
2016-05-20 11:30:44
485
原创 图片加载
一.简单异步加载图片的方式(在listview中显示从网络下载的图片)利用AsyncTask启动一个异步任务,在doInBackground方法中,根据图片的地址下载图像。当图像下载完毕后会将图像作为方法的返回结果提交到onPostExecute方法的参数中。在onPostExecute方法中将该图像放到ImageView中进行显示。应用场合:图片加载量比较小的场合,可以使用这种方式进行加载。当简单
2016-05-17 10:17:07
367
原创 绘制圆形图片
第一种方法:自己手写一个类来绘制圆形图片1.写一个类:`//这个类要继承imageviewpublic class CircleView extends ImageView{ int borderWidth; int borderColor;//包含三个参数的构造函数我们一般使用有两个参数的就行了 /*public CircleView(Context context)
2016-05-17 08:34:27
619
原创 初学向本地服务器发起网络访问
*使用HC( HttpClient )/ UC(HttpURLConnection) 发起网络访问的基本步骤 0.申请权限: 清单配置文件中申请 INTERNET 权限; 1.任何网络访问的相关代码都必须在工作线程进行: (new AsyncTask/new Thread)启动工作线程 2.创建HC/UC对象 3.声明发起网络访问的方式(G
2016-05-12 21:02:35
448
原创 android开发中即时聊天软件中时间的获得
`/** * 根据long类型的时间戳,转换为一个String类型的描述性时间 * 通话记录如果发生在今天:“15:30” * 发生在昨天:“昨天8:23” * 发生在前天:“前天4:56” * 更早: “2016/04/15” * @param timeStample * @return */ //
2016-05-07 10:13:51
2170
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人