![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android积累
文章平均质量分 84
丶ban
丶ban
展开
-
Picasso 使用心得
/** * 初始化单例Picasso对象 确保Picasso的唯一性 */private void initPicasso() { //配置Picasso Picasso picasso = new Picasso.Builder(this) //设置内存缓存大小,10M .memoryCache(new LruCache(原创 2016-08-03 15:41:50 · 215 阅读 · 0 评论 -
android接口回调第二种优化写法详解、另外附赠简单例子
原本写法:即方法一,这次主要推荐使用方法二,详见改进。方法一:接口回调的实现步骤: 简单的实现例子回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。开发原创 2016-08-30 18:23:23 · 5573 阅读 · 3 评论 -
android接口回调详解、简单例子+复杂例子
使用接口的核心原因:为了能够向上转型为多个基类型。即利用接口的多实现,可向上转型为多个接口基类型。1.接口回调是什么?接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。看下面示例。接口原创 2016-08-30 17:27:12 · 28788 阅读 · 3 评论 -
EventBus的StickyEvents黏性事件详解及使用说明
EventBus还支持发送黏性事件。何为黏性事件呢?简单讲,就是在发送事件之后再订阅该事件也能收到该事件,跟黏性广播类似。看看官网的描述Some events carry information that is of interest after the event is posted. For example, an event signals that some ini原创 2016-09-12 13:53:55 · 18189 阅读 · 4 评论 -
RxJava-RxAndroid 使用心得-看视频收藏的图片
好东西自己拿咯。《老罗Android开发视频教程第二季》-RxAndroid开发链接: https://pan.baidu.com/s/1miLbfc8 密码: mzzh原创 2016-08-11 15:44:58 · 1503 阅读 · 0 评论 -
定义Retrofit 网络接口服务的包装类(基础类)
1、根据API返回的json数据来创建一个FamousInfo数据对象,我们可以利用AndroidStudio插件 GsonFormat 快速,方便的将json数据转为Java 对象。FamousInfopackage test.ban.com.myapplication.bean;import java.util.List;/** * Created by ba原创 2016-08-23 17:31:52 · 506 阅读 · 0 评论 -
android Touch 事件的分发和消费机制
Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理。View在ViewGroup内,ViewGroup也可以在其他ViewGroup内,这时候把内部的ViewGroup当成View来分析。ViewGroup的相关事件有三个:onInterc原创 2016-09-02 15:19:28 · 244 阅读 · 0 评论 -
Android Toast 自定义背景、图片 随心使用
Toast源码Toast.makeText() public static Toast makeText(Context context, CharSequence text, @Duration int duration) { Toast result = new Toast(context); LayoutInflater inflate =原创 2016-08-25 10:06:11 · 4496 阅读 · 0 评论 -
还在使用Toast吗?来使用Snackbar吧。快上车!!
Snackbar是Android Support Design Library库中的一个控件,可以在屏幕底部快速弹出消息,比Toast更加好用。本文对原生Snackbar进行了修改,使其更加灵活。Snackbar.make()源码: @NonNull public static Snackbar make(@NonNull View view, @NonNull CharS原创 2016-08-25 11:47:27 · 674 阅读 · 0 评论 -
AsyncTask的使用方法和理解
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。为了简化操作,Android1.5提供了工具类andro原创 2016-08-25 16:24:39 · 336 阅读 · 0 评论 -
滑动冲突的产生及其处理-纯理论
Touch事件的滑动冲突。比如ListView嵌套ScrollView,ViewPager嵌套ScrollView,ListView嵌套ScrollView时常常发生。这些滑动冲突的产生,一般而言都具有以下特点:子View和父View都有滑动的需求滑动事件不能准确地传递给合适的View那么,有哪些方法可以解决滑动冲突呢?子View禁止父View拦截T原创 2016-09-05 14:33:14 · 287 阅读 · 0 评论 -
webView 使用指南及使用心得总结
MainActivitypackage test.ban.com.webview;import android.annotation.TargetApi;import android.content.Intent;import android.graphics.Bitmap;import android.net.http.SslError;import android.os.Bui原创 2016-08-24 10:19:48 · 482 阅读 · 0 评论 -
Activity的启动模式以及onNewIntent(Intent intent)
启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置;Activity启动模式设置: ".MainActivity" android:launchMode="standard" />启动模式有4种,分别为standard、singleTop、singleTask原创 2016-09-05 15:34:22 · 464 阅读 · 0 评论 -
android 优雅的判断程序是否在后台运行
传统写法:1需要在AndroidMenitfest.xml文件中添加以下权限 /** *判断当前应用程序处于前台还是后台 */ public static boolean isApplicationBroughtToBackground(final Context context) { ActivityManager am = (A原创 2016-08-26 16:59:19 · 1557 阅读 · 0 评论 -
Android 资源名获取资源ID的两种实现方式-附带例子说明
获取资源文件,res目录下的资源时,id报空指针!!!如何解决?之前一直纠结的问题,如何获取资源的id??在android中,我们经常使用资源文件的id来代替这个资源,如 R.drawable.*** ,那怎样通过文件名得到这个资源的Id的,这里介绍两种方法:一:通过 getIdentifier (String name, String defType原创 2016-09-07 14:52:14 · 5609 阅读 · 0 评论 -
使用Facebook开源项目Stetho 在Chrome上调试Android网络、数据库
StethoStetho是一个全新的安卓平台调试工具。Stetho提供C/S协议,使强大的Chrome开发者工具能在应用程序中使用该协议。你的应用程序整合之后,只需访问chrome://inspect ,点击“检查”即可开始。使用该工具你可以在Chrome Developer Tools查看App的布局,网络请求,sqlite,preference,一切都是可视化的操作,无须自原创 2016-10-21 10:28:27 · 2515 阅读 · 0 评论 -
Gradle build error, Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug
Error:Execution failed for task ':app:transformClassesAndResourcesWithProguaJava.io.IOException: Please correct the above warnings first.处理方法:是因为混淆开启了。。关闭它就可以了 记录一下,下次如果遇到可以在记忆碎片原创 2017-01-17 15:30:08 · 883 阅读 · 0 评论 -
Activity、windows、view、contenxt、getApplication、androidlaunch知识点
原创 2016-08-29 18:58:45 · 704 阅读 · 0 评论 -
android mvp模式 总结及个人心得
转变:转变为:原创 2016-08-19 09:31:19 · 246 阅读 · 0 评论 -
RxJava简单使用、模仿访问服务器获取数据更新界面-基于mvp架构
先看下项目结构目录-基于mvp架构RxJava是一个实现Java响应式编程的库,让异步事件以序列的形式组织。MVP则通常用来将View业务层与Model层分离开来,两者结合起来可轻松实现业务解耦、线程控制、单元测试等等强大功能目标:假设有一个从服务端获取字符串并显示的手机上的简单功能。这是一个比较典型的MVP结构图(图片来自参考文献),相比于mvc,原创 2016-08-29 15:30:49 · 2546 阅读 · 1 评论 -
SD卡的帮助类 SDCardHelper
import android.content.Context;import android.os.Environment;import android.os.StatFs;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;原创 2016-08-03 15:45:13 · 617 阅读 · 0 评论 -
Retrofit 使用心得 @GET@POST带参数不带参数
private void initRetrofit() { OkHttpClient client = OkHttp3Utils.getOkHttpSingletonInstance(); Log.i(TAG, "---->initRetrofit: " + client.toString()); Retrofit retrofit = new Retrofit.Buil原创 2016-08-03 17:42:06 · 8088 阅读 · 5 评论 -
Retrofit 使用心得 -使用Retrofit2框架下载大文件
请求方式如下:需要加入 @Streaming,这个返回的是一个流。/** * 作用:访问网络,下载大文件。 * 默认情况下,Retrofit在处理结果前会将服务器端的Response全部读进内存。 * 如果服务器端返回的是一个非常大的文件,则容易oom。 * * @return */@Streaming@GETCall getNetworkDataAsync(@Url原创 2016-08-03 19:26:41 · 1983 阅读 · 0 评论 -
Retrofit 使用心得-看视频收藏的图片
原创 2016-08-03 20:14:42 · 263 阅读 · 0 评论 -
Glide 使用心得-看视频收藏的图片
原创 2016-08-04 11:01:19 · 235 阅读 · 0 评论 -
Glide与Picasso的区别及优缺点
原创 2016-08-04 11:02:58 · 3839 阅读 · 0 评论 -
EventBus 使用心得及技巧
先给官网的建议步骤:地址如下:https://github.com/greenrobot/EventBusEventBus in 3 stepsDefine events:public class MessageEvent { /* Additional fields if needed */ }Prepare subscribers: Regist原创 2016-08-04 16:22:28 · 1765 阅读 · 0 评论 -
android 多渠道打包,build.gradle文件配置、manifest文件配置
build.gradleapply plugin: 'com.android.application'android { signingConfigs { SP { keyAlias 'ywyysq' keyPassword '123456' storeFile file('/Users/a原创 2016-08-01 14:16:27 · 4514 阅读 · 1 评论 -
Retrofit 使用心得-初次接触-get请求
1、建立一个接口文件public interface Service { @GET("/") //这里的"/"不是网址,是网址下的子目录 Call getBaidu();}2、创建retrofit实例Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://www.bai原创 2016-08-01 15:43:15 · 202 阅读 · 0 评论 -
Retrofit 使用心得-json解析
Retrofit封装了从Web API下载数据,解析成一个普通的java对象(POJO),这里我们就去天狗网使用他们的一个菜谱的API做简单演示,供大家一起学习思考。在天狗网的API文档网站http://www.tngou.net/doc/cook的菜谱API接口:http://www.tngou.net/api/cook/list1)首先得添加支持包原创 2016-08-01 19:05:24 · 4648 阅读 · 0 评论 -
Retrofit 使用心得-xml解析
1、首先得添加支持包 compile 'com.squareup.retrofit2:converter-simplexml:2.1.0'2、建立一个接口文件package xml;import retrofit2.Call;import retrofit2.http.GET;/** * Created by ban */public interfa原创 2016-08-01 19:22:59 · 1072 阅读 · 0 评论 -
android材料设计
原创 2016-08-02 15:31:03 · 191 阅读 · 0 评论 -
使用RxJava+OKhttp3进行图片下载
1、创建类来初始化一个观察者package test.ban.com.rx_project;/** * Created by apple on 16/8/5. */import java.io.IOException;import okhttp3.Call;import okhttp3.Callback;import okhttp3.OkHttpClient;import原创 2016-08-05 17:03:25 · 2064 阅读 · 0 评论 -
startActivity()、startActivityForResult()、onActivityResult()有什么联系和区别?
1、区别startActivity:启动activity使用,关闭后不能接受参数StartActivityForResult:是说明调用这个activity,关闭后可以接收到返回值onActivityResult:当activity关闭后,如果有返回值,则会在这个方法内接收2、联系startActivityForResult(原创 2016-08-29 10:48:21 · 608 阅读 · 0 评论 -
startActivityForResult的详细用法及详细使用说明
启动另外一个Activity有两种方法:1、startActivity()主要作用就是启动acitivty,不可以回传数据。2、startActivityForResult()主要作用也是启动acitivty,不同的就是它可以回传数据。当activity关闭后,如果有返回值,则会在这个onActivityResult方法内接收。原创 2016-08-29 10:55:12 · 4558 阅读 · 1 评论 -
startActivityForResult()接收不到回传值,优雅的处理方法及替换建议。
为什么通过startActivityForResult()方式去启动launchMode=singleTask的Activity,onActivityResult()会被立即回调且resultCode值为RESULT_CANCEL?? 真的是这个样子吗?可以发现在5.0之后,就不出现这种情况。launchMode为singleTask只会出现原创 2016-08-29 11:28:17 · 2417 阅读 · 0 评论 -
Android透明背景Dialog、Dialog实现悬浮窗口 可与输入法交互,不被输入法覆盖
直接干货上代码!直接干货上代码!PersonSetRemarkDialog 核心代码package com.ctri.ui.personal.widget;import android.app.AlertDialog;import android.content.Context;import android.os.Bundle;import android.view.Vi原创 2017-01-19 18:01:42 · 2638 阅读 · 0 评论