
android
水的川
无论多好的借口只要想找,都能找到!唯有坚持梦想才能行的更远!
展开
-
列表自定义控件
平常软件开发中经常要用到自定义列表控件,难得有时间今天来分享一个常用的自定义列表控件。话不多说,先上效果图:刚好最近有需求需要实现一个列宽能够随着内容变化的列表控件,在网上看了好多已经造好的轮子,最后觉得最下面这个轮子比较适合我的项目,当然得对这个项目进行一些改造。主架构:左侧固定头部textview+右边可滑动头部分由横向LinearLayout实现,下方是一个recycleview,里面item布局左侧固定,右侧也由横向LinearLayout实现。好了,话不多说直接上代码。package c原创 2021-05-06 17:02:01 · 344 阅读 · 0 评论 -
安卓一些常用的小知识
1、android gradle 3.0.0 中依赖指令implementation、api 的区别。简单来说就是使用implementation指令的依赖不会传递。例如,有一个module为sdk,sdk依赖于gson库,有另一个module为test依赖于sdk,但是test不能直接引用到gson这个库,而api则可以做到。但是api既然有这优势必然有其劣势,那就是编译会比implementation慢,所以能用implementation就用这个,迫不得已再用api。2、在Google最新推出原创 2021-03-09 19:51:52 · 110 阅读 · 0 评论 -
android控件获取屏幕坐标
android中,得到目标控件或者点击位置坐标总结:在motionevent获取到的点击位置 final float eventX = event.getX();//相对于父控件 final float eventY = event.getY(); final float eventrowX = event.getRawX();//原创 2015-12-03 14:01:51 · 2773 阅读 · 0 评论 -
android小结
记录新的知识点: 1:为什么mContentFmLayout明明是FrameLayout 类型,在mContentFmLayout.getLayoutParams()得到的是LinearLayout, 看下源代码后发现,通过getLayoutParams()获取到的是父类的类型哦。private FrameLayout mContentFmLayout;LinearLayout.LayoutP原创 2016-08-16 16:29:04 · 355 阅读 · 0 评论 -
使用andorid studio遇到的问题
android studio使用后遇到的比较奇葩的问题,以后会一直跟新。1:项目之前还能运行,改了些代码后再运行一直报运行内存不足,can't converting byteclass to dexjavaMaxHeapSize "4g"之后不断升这个值,还是不行,不管怎么clean,重启都不行,然后百度说有些lib包重复引用了,但是并没有发现这问题最后在我误打误撞删掉项目...原创 2016-05-30 19:33:43 · 1557 阅读 · 0 评论 -
android绘制动画实现方式
#代码用途 比如当我们想实现数据的走势,通过一个动画能够非常直观的表现出来,给用户一个好的体验。 以下代码通过动画巧妙的避免了通过线程来实现动画效果。(推荐) ValueAnimator mAnimator = ValueAnimator.ofFloat(0, 100);//绘制范围0到100 mAnimator.setDuration(100原创 2017-04-24 14:53:07 · 1632 阅读 · 0 评论 -
安卓代码编写规范
之前读了阿里巴巴的java代码规范终极版,作为同为java的android也基本上都适用,现自己通过手打摘录来加深自己的印象,提高自己以后编码可阅读性,同时与各位java开发分享,让我们的代码更加漂亮。(一) 命名风格1.代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name / __name / Object/name/nameObject / name_ / n转载 2017-10-13 14:36:04 · 644 阅读 · 0 评论 -
安卓通过url打开app,以及下载对应app
一.使用Custom Scheme URI打开APP此红色部分(自定义Uri)引用的博客是:http://blog.youkuaiyun.com/buptlzx/article/details/9837137 就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下:scheme://ho...原创 2018-06-08 15:08:05 · 8634 阅读 · 0 评论 -
内存泄漏全解
内存泄露简介内存泄露,即Memory Leak,指程序中不再使用到的对象因某种原因从而无法被GC正常回收。发生内存泄露,会导致一些不再使用到的对象没有及时释放,这些对象占用了宝贵的内存空间,很容易导致后续需要分配内存的时候,内存空间不足而出现OOM(内存溢出)。无用对象占据的内存空间越多,那么可用的空闲空间也就越少,GC就会更容易被触发,GC进行时会停止其他线程的工作,因此有可能会造成界面...转载 2018-09-17 17:12:50 · 694 阅读 · 0 评论 -
【Android】不使用WebView来执行Javascript脚本(Rhino)
1.导入js.jar包https://download.youkuaiyun.com/download/u013377714/108955072.代码引用:public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ...转载 2019-01-04 14:17:59 · 2222 阅读 · 2 评论 -
webview与js交互两种方式
安卓里面经常会用到webview与js交互的问题,一般有两种方式处理。1.通过与web方面定义接口方式:(推荐)安卓端代码实现: JavaScriptInterface JSInterface; wv = (WebView) findViewById(R.id.web); wv.getSettings().setJavaScriptEnabled(...原创 2019-01-08 10:46:22 · 3033 阅读 · 0 评论 -
providers出现重复问题。
现在android studio的使用已经很普遍了,引用包也越来越方便,然后就出现了一些奇葩的问题,比如说provider重复问题。在引用compile ‘com.jph.takephoto:takephoto_library:4.0.3’ 这个类库时发现此类库里的注册文件中也包含provider文件,造成了重复。所以只能通过下面这种方式解决。 <provider ...原创 2019-03-19 15:21:17 · 897 阅读 · 0 评论 -
设置中用到的简单好用的PreferenceActivity
我们在开发中经常会遇到对东西的下载,显示,那么在何种条件下才对内容进行显示,或者说显示的内容有哪些呢,下面我们就来介绍今天的主题PreferenceActivity:首先创建一个activity继承PreferenceActivity,与其它的activity不同它在oncreate方法中不是采用setcontentview方式而是添加一个方法: addPreferencesF原创 2015-07-26 17:31:40 · 1014 阅读 · 0 评论 -
android中遇到的java反射
android开发中反射也是常用到的方法,通过反射加载某个类中的方法并执行,下面就是对一般类中方法的反射总结://无参方法:publicstatic BaseIntentHelper getInstance()反射:Class clazz = (Class) Class.forName(className);//得到类实例Method m = clazz.getMeth原创 2015-12-02 15:03:31 · 469 阅读 · 0 评论 -
android动画总结
好的动画效果往往让这个应用变得更有活力。下面我讲讲我到现在经历的动画历程。我们都知道android现在主要有三种动画: View Animation 控件动画 Drawable Animation 帧动画 Property Animation 属性动画(后面出来的) 首先接触到的是 帧动画,当时做一个项目时,用到加载的时候上面是原创 2015-11-25 16:32:23 · 427 阅读 · 0 评论 -
android多线程应用
1.简单的异步操作:new Thread(new Runnable() {//开启一个新线程(执行耗时操作) @Override public void run() { // TODO Auto-generated method stub Me原创 2015-01-29 10:52:58 · 495 阅读 · 0 评论 -
android适配器总结
android适配器总结原创 2014-12-05 10:12:21 · 503 阅读 · 0 评论 -
Scrollview嵌套ListView
我们在做android开发的时候,经常会遇到Scrollview嵌套ListView的问题,其中有几点问题,就是scrollview和listview都会滑动。第一个问题,解决listview的滑动:设置listview不滑动重写listview,重写listview中的onmeasure方法/*** 设置不滚动*/public void onMeasure(int w原创 2015-01-19 15:48:38 · 1690 阅读 · 0 评论 -
神奇的android广播
简单好用的广播事件。。原创 2015-01-19 16:17:05 · 737 阅读 · 0 评论 -
ScaleAnimation
分享大家一个关于ScaleAnimation的点击事件,个人非常喜欢boolean fcous;booleanisRunAnim;boolean isClick;public void setonClick(View view){view.setClickable(true);view.setOnTouchListener(new OnTouchListener() {原创 2015-01-19 16:03:12 · 722 阅读 · 0 评论 -
Horizontal+ViewPager
首先布局文件:xmlversion="1.0"encoding="utf-8"?>LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_par原创 2015-03-06 11:07:02 · 581 阅读 · 0 评论 -
android-设计模式的应用
设计模式系列之一:观察者模式背景:当我们退出android应用时,往往不能关闭所有的activity而系统又没有提供一次性退出所有应用的方法。此时观察者模式很好的解决了这个问题:我们在做android项目时往往用到一个baseactivty,这是继承了avtivity的基类,我们把在各个activity用到的方法都整理到这个activity,方便以及加速我们的开发过程。而在我们原创 2015-05-06 10:30:25 · 496 阅读 · 0 评论 -
android-命令模式在项目中的应用
设计模式之:二:命令模式在项目中我们经常会碰到listview,gridview这些控件,而经常我们需要对这些item里面的小控件进行点击,比如里面的图片,名字之类的。此时,命令模式就很好地发挥了作用。我们经常会遇到一种模式,就是一个接口我们先引用,然后再在另一个类里面实现,即请求者不直接与接收者交互, 即请求者不包含接收者的引用, 因此彻底消除了彼此之间的耦合。/** *原创 2015-05-07 09:23:40 · 485 阅读 · 0 评论 -
策略模式的使用
初步的代码:[java] view plaincopypackage com.zhy.bean; /** * 游戏的角色超类 * * @author zhy * */ public abstract class Role { protected String name;转载 2015-05-22 16:43:25 · 431 阅读 · 0 评论 -
简单的重写控件
我们知道最基本的就是继承View,下面我们结合一个例子对重写进行简单地分析: 继承一个view,都会有一个或多个构造方法,在不同的时候调用到不同的构建方法,一般会重写三个方法,onMeasure();onLayout();onDraw();分别是测量,定位和画下面说下,android中重写view时,经常会遇到的混淆:requestLayout(),invalidate原创 2015-07-19 15:12:08 · 984 阅读 · 0 评论 -
自定义控件中的DrawingCache
叙述学到东西不偷着藏着,趁今天周五赶紧跟大家分享一下DrawingCache.当我们想对之前已经绘制过的东西进行保存时,需要用到的一个方法。 下面结合一个简单地例子–画飞机,讲讲这个方法的简单好用之处。。希望对大家有所帮助。 package com.sc.yanzheng.wight; import com.sc.yanzheng.R; import android.annotation.S原创 2015-07-31 10:26:38 · 715 阅读 · 0 评论 -
android中的跨进程服务组件aidl
我们经常在android开发中会接触到aidl这个跨进程服务组件,今天我就写点关于对它的理解。 首先,aidl是典型的代理模式。那自然它有调用的一端以及实现的一端,暂且先定义为,API.Proxy以及API_Stub我们不考虑其内部的实现原理,因为android在里面都已经封装好了数据的实现原理。 接下来我们直接根据一个音乐播放器的代码直观的来说:首先是我们原创 2015-09-10 15:16:20 · 869 阅读 · 0 评论 -
android项目开发之单元测试
在进行android开发过程中,第一步的测试那当然就是程序员自己的单元测试了,今天就让我们好好讲讲单元测试的简单步骤以及注意事项吧。 第一步:当然就是创建单元测试的java类了,如下简单地测试类:public class BizTestextends AndroidTestCase {//该类必须继承AndroidTestCaseIExamBiz biz;@Over原创 2015-10-30 10:36:22 · 643 阅读 · 0 评论 -
简单的android缓存问题
前几天遇到一个问题,刚if(VERSION.SDK_INT>=VERSION_CODES.HONEYCOMB) task().executeOnExecutor(Executors.newCachedThreadPool(),TaskType.INIT); else task().execute(TaskType.IN原创 2014-09-18 14:03:21 · 466 阅读 · 0 评论