- 博客(42)
- 资源 (3)
- 收藏
- 关注
原创 Android 一天一题
1、类的加载过程,Person person = new Person();为例进行说明因为new用到了Person.class,所以会先找到Person.class,并加载到内存中执行类中的static代码块,如果有的话给Person.class 进行初始化在堆内存中开辟空间分配内存地址在堆内存中建立对象的特有属性,并进行默认初始化对属性进行显示初始化对对象进行构造代码块初始化对对象
2018-02-28 16:38:44
270
原创 普里姆(Prim)算法
普里姆算法是图论中的一种算法,可在加权连通图里搜索最小生成树。 举个例子来说就是要在v0 - v8 9个村子中架设电缆下图是每个村庄之间的距离 普里姆算法的作用就是让线路连线的公里数最少。如图所示一共有九个顶点,构建如下图所示的二维数组 数组中我们使用65535代表无穷 `1. /**2. * 普利姆算法3. */4. public void prim()
2018-02-26 22:01:33
782
原创 腾讯管家测网速控件仿写
先看一下腾讯管家的测速控件 其中可以看出来测速控件分为两个作用一个是测量延时,一个是测网速 所以可以将控件分为两部分,然后用一个ViewGroup将两个View装载在一起。好了,分析的话就说这么多,下面开始看第一部分测量网络延时的源码`public class DelayMeterView extends View {Paint dottedPoint;//最外层画笔float time;//
2018-02-26 21:58:54
429
原创 AsyncTask理解
AsyncTask是轻量级的异步任务类,其主要是子线程处理任务得到的结果返回到主线程用于更新UI,以前很多的网络请求都是用AsyncTask来实现的。需要特别指出的一点是AsyncTask不适合进行特别耗时的后台任务(为什么?? 个人猜测是因为AsyncTask一旦执行了doInBackground,就算调用取消方法,也会将doInBackground里面的代码执行完毕,才会停止,当进行特别耗时操...
2018-02-26 21:51:15
254
转载 RxJava - 为Retrofit添加请求重试
在App程序中不可避免的会用到网络请求,但是我们在平常的使用中每个网络请求都是一次性的操作,有可能此时的网络请求正好是不稳定的就造成了你的这次请求无效,因此我们必须为APP添加请求重试功能。 在这里网络请求重试功能应该有两个必须点 1. 可配置的重试次数,重新请求时间 2. 对网络请求错误的判断(是超时,404) 操作符retryWhen在这里需要用到rxjava的操作符ret...
2017-06-13 23:33:37
2292
原创 TextView 使用otf字体文件
先上代码:Typeface typeFace = Typeface.createFromAsset(getAssets(),"fonts/value_bold.otf"); tvMoney.setTypeface(typeFace);
2017-06-13 23:05:17
3591
原创 列表中EditText的使用 ExtendedEditText
在列表中使用EditText中会出现一个问题 就是当执行EditText的addTextChangedListener 会出现错乱 因为在列表中所有的EditText存在关联,肯定要监听3个,如果处理不好的话,改变一个值,其他的值也改变,这样会陷入一个死循环。虽然有removeTextChangedListener 这个方法,但是实在不敢恭维,容易出错。最好的办法当然是 当一个EditText获得
2017-05-31 16:04:43
715
原创 android 设置toolbar透明度所有的页面都会变透明
Android 在一个页面上设置toolbar透明度(用Java代码设置),所有的页面都会变成透明色toolbar1.getBackground().setAlpha(100);然后我又用了第二种方法设置透明度Drawable mDrawable = ContextCompat.getDrawable(getActivity(), R.color.colorPrimary);mDrawable.s
2017-05-07 22:03:21
2385
转载 补间动画,帧动画
Android 动画详解开始的时候先思考几个问题 1. android 动画是什么 2. android 动画的分类 3. android 动画怎么实现 4. android 动画实现的原理第一个问题:android 动画是什么这个问题很明显了 就不用回答了第二个问题:android动画的分类android 动画一共分为三类 1. View Animation 也叫补间动画,是andro
2016-10-26 10:32:52
523
转载 property
Property Animation(属性动画)使用详解概念:属性动画可以作用在View的属性上,对属性进行修改,而且不要求对应的属性一定是有显示效果的 属性: Duration: 动画持续时间 默认300秒 Time interpolation: 时间插值定义动画的变化率 Repeat count and behavior:重复次数、以及重复模式;可以定义重复多少次;重复时从头开始,还是反
2016-10-25 20:02:02
274
原创 补间动画,帧动画
Android 动画详解开始的时候先思考几个问题 1. android 动画是什么 2. android动画的分类 3. android 动画怎么实现 4. android 动画实现的原理第一个问题:android 动画是什么这个问题很明显了 就不用回答了第二个问题:android动画的分类android 动画一共分为三类 1. View Animation 也叫补间动画,是androi
2016-10-25 20:01:43
395
原创 Content Provider 使用
Content Provider 使用ContentResolver:当外部应用需要对ContentProvider中的数据进行添加、删除、修改和查询操作时,可以使用ContentResolver 类来完成,要获取ContentResolver 对象,可以使用Activity提供的getContentResolver()方法。 ContentResolver使用insert、delete、updat
2016-08-24 21:08:32
321
原创 Content Provider 基础
Content Provider 基础ContentProvider:为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的ContentProvider。 1、ContentProvider使用表的形式来组织数据 无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格 2、ContentPro
2016-08-24 21:08:11
257
转载 Service基础
Service基础service 是Android的四大组件之一,服务的主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示UI的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。通过AIDL服务可以实现不同进程之间的通信,这样也是服务的重要用途之一。 1、 Service生命周期 Service生命周期可以从两种启动Service的模式开始讲起,分别是context.
2016-08-17 22:26:14
321
原创 广播接收者
Android 广播接收者1.广播接收者 广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context,Intent intent),其中intent可以获得传递的数据; 广播意图就是通过Context.sendBroadcast(Intent intent)或Conte
2016-08-17 22:25:01
275
原创 广播发送者
广播发送者通常广播发送方就是调用Context.sendBroadcast()的程序,而广播接收者就是继承BroadcastReceiver的程序; 通常广播发送方都是通过隐式意图,这样才能发送给多人;广播发送方分为普通广播和有序广播; 同步广播:发送方发出后,几乎同时到达多个广播接收者处,某个接收者不能接收到广播后进行一番处理后传给下一个接收者,并且无法终止广播继续传播;Context.sen
2016-08-17 22:24:38
300
原创 Activity四种加载模式
Activity四种加载模式在android的多activity开发中,activity之间的跳转可能需要有多种方式,有时是普通的生成一个新实例,有时希望跳转到原来某个activity实例,而不是生成大量的重复的activity。加载模式便是决定以哪种方式启动一个跳转到原来某个Activity实例。1.standard:标准模式(默认模式),一调用startActivity()方法就会产生一个新的实
2016-08-16 21:54:39
330
原创 Activity相关的技巧和特效
Activity相关的技巧和特效(未完待续)一、全屏显示(隐藏标题栏和状态栏)1、在AndroidManifest.xml的配置文件里面的标签添加属性: android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”2、在Activity的onCreate()方法中的super()和setContentView()两个方法之间加入下面两条语句:
2016-08-15 22:05:39
316
原创 Activity之间的数据传输的4种方法
Activity之间的数据传输的4种方法Intent传递数据这是一种官方推荐的传输方式。比如,你在A这个Activity上拿到一坨用户输入的文本信息,兴高采烈的想把它放到B这个Activity上展示并发送,一个很可行的方式,是通过Intent的putExtra接口,把用户输入的那些字符信息,按照key/value的形式放进Intent,传输到B这个Activity上。Intent intent
2016-08-15 21:43:52
1075
原创 Android生命周期
Android 四大组件Activity生命周期先上一张图相信不少朋友也已经看过这个流程图了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程。启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法
2016-08-15 21:43:18
203
转载 android中的类-接口-方法
Part 1: Activity.startActivities() 常用于在应用程序中间启动其他的Activity。 TextUtils.isEmpty() 简单的工具类,用于检测是否为空。(可同时判断”“和null哦) Html.fromHtml() 用于生成一个Html,参数可以是一个字符串.个人认为它不是很快,所以我不怎么经常去用.(我说不经常用它是为了重点突出这句话:请多手动构建
2016-06-02 09:26:03
752
转载 Facebook的Android调试工具Stetho
Stetho是Facebook出品的一个强大的Android调试工具,使用该工具你可以在线查看数据库、布局、网络请求等一切都是可视化布局。你只需要在配置好代码之后在谷歌浏览器中输入 chrome://inspect 就可以(上图) 这很像web开发中的审查元素选项配置Stetho添加额外包 gradle引用compile 'com.facebook.stetho:stetho:1.1.0' 只
2016-04-21 11:11:35
475
转载 OkHttp缓存功能的应用
1.首先要设置okhttp启用缓存功能 设置缓存目录和缓存大小client.setCache(new Cache(context.getCacheDir(),maxCacheSize));2.当然,设置了缓存和目录还是不够的,http请求总该有个过期时间吧,缓存是由HTTP消息头中的”Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-re
2016-01-20 15:51:30
2235
转载 第五更 android 自定义view(一)
先写几点注意事项 1、设置矩形或者文字的位置所设置的位置是其左下角的坐标 2、自定义view中getWidth和 getMeasuredWidth()的区别 下面是写自定义view必备的几个操作 1、在value中建立attrs.xml文件 我们定义了字体,字体颜色,字体大小3个属性,format是值该属性的取值类型:一共有:string,color,demension,integer,e
2015-10-12 10:55:40
408
转载 android第四更 (DownManger 系统级下载文件)
DownManger 是系统自带的下载控件,在api level 9之后,android系统为我们提供了DownLoadManager类,这是android提供的系统服务,我们通过这个服务完成文件下载。整个下载过程全部交给系统负责,不需要我们过多的处理。 通过API文档,可以看出DownLoadManager包含两个内部类: DownLoadManager.Query:主要用于查询下载信
2015-09-29 16:57:59
571
转载 Android中Bitmap和Drawable
一、相关概念 1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象 2、Canvas画布,绘图的目的区域,用于绘图 3、Bitmap位图,用于图的处理 4、Matrix矩阵 二、Bitmap 1、从资源中获取Bitm
2015-09-21 10:26:24
344
原创 android第三更(下载附件,通知栏显示进度)
我们在开发中经常需要从服务器下载文件,下载的内容可能有交换的信息,缓存的图片,程序更新包等。我们使用URLConnection来实现下载。先看几行代码: URL url=new URL(urls); HttpURLConnection conn=(HttpURLConnection) url.openConnection();//建立连接 con
2015-09-17 16:40:27
631
原创 android 第二更(后台判断网络状态,反馈到页面)
接每日一更之第一天(判断网络状态) 模仿扣扣的页面,后台判断网络状态 当网络状态改变的时候,能通知前台页面做出相应的操作。(页面很丑)广播代码public class NetWorkBroadcast extends BroadcastReceiver { public static NetWorkListener netWorkListener; @Override p
2015-09-16 11:45:16
494
转载 Github开源项目总结
目前包括:Android 开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style、
2015-08-14 11:50:46
4060
转载 android Fragment 无法用返回键监听
解决方法:Activity可以很容易的得到物理返回键的监听事件,而Fragment却不能。假设FragmentActivity有三个Fragment,一般安卓用户期望点击返回键会一层层返回到FragmentActivity。当然,我们可以将每个Fragment对应的Transaction放到BackStack中,但是如果每个Fragment有对返回事件的特殊消费,那么在Frag
2015-08-14 10:49:52
1065
转载 android 中visibility属性VISIBLE、INVISIBLE、GONE的区别
VISIBLE 设置控件可见INVISIBLE 设置控件不可见GONE 设置控件隐藏其在XML文件和Java代码中设置如下: 可见(visible)XML文件:android:visibility="visible"Java代码:view.setVisibility(View.VISIBLE);不可见(invisible)
2015-08-14 10:48:40
403
转载 tools:context=".MainActivity的作用
[html] view plaincopyprint?TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true"
2015-08-14 10:47:38
383
转载 Android 四种加载方式详解(standard singleTop singleTask singleInstance)
加载模式分类及在哪里配置Activity有四种加载模式:standardsingleTopsingleTasksingleInstance设置的位置在AndroidManifest.xml文件中activity元素的android:launchMode属性:android:launchMode="singleTask">standard首先说st
2015-08-14 10:46:36
471
原创 android android:noHistory="true" 的作用
写在配置文件中 android:name=".user.SearchCompanyActivity" android:label="@string/title_activity_regist" android:noHistory="true" android:windowSoftInpu
2015-08-14 10:45:37
534
转载 Android关于buildToolVersion与CompileSdkVersion的区别
1、CompileSdkVersion是你SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。2、buildeToolVersion是你构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX这个版本号一般是API-LEVEL.0.0。 例如I/O2014
2015-08-14 10:44:30
513
原创 android studio快捷键的使用
android studio快捷键的使用 限在快捷键设置中设置了和eclipse中一样的Ctrl + H 全局查找F4 查看类的继承说明F2 查看类的说明文档(函数使用说明)Ctrl + E 查看最近打开过的文件Ctrl+Shift+R:快速定位到你所想打开的文件。Ctrl +Shift+/ :快速写注释Alt+Shift+x:运行(run)Alt+Sh
2015-08-14 10:42:32
380
原创 android studio 新手遇到的问题(三)
错误提示: iCCP: Not recognizing known sRGB profile that has been edited (此错误 warnning级别的 不影响程序的编译)错误原因:这个图片是sRGB的改成ARGB的就可以啦 在androidstudio中的右上角会显示24位而argb的图片显示是32位(原因是新版本的libpng对关于ICCP采用了更严苛的约束)改错
2015-04-22 12:07:15
367
原创 androidstudio 新手遇到的问题(二)
ninepath的图片设置问题 当文件名为***.9.png的时候会报错 解决方法:去掉.9android studio的图片引用格式为@mipmap/图片名
2015-04-22 12:03:48
400
原创 android studio 新手遇到的问题(一)
错误提示: Process 'command finished with non-zero exit value 42此错误可能是你的build.gradle的兼容包和compileSdkVersion配置不对引起的有两个解决方法:一个是全部升级成最新的,appcompat-v7:21.0.0须使用android 5.0版本的build tool,而且build出来的程序只能在Androi
2015-04-22 12:00:00
356
Mac的 MacDown
2018-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人