- 博客(33)
- 收藏
- 关注
原创 dagger2简单使用
1.首先应该创建一个全局的AppComponent,以提供全局使用的工具类进行使用,例如先创建一个ToastUtil类 public class ToastUtil { private Context mContext; public ToastUtil(Context context){ this.mContext = context; }
2016-07-29 15:21:23 461
原创 Dagger2从入门到放弃
1.让你爱不释手:http://android.jobbole.com/82694/ 2.入门就不放弃http://blog.csdn.net/u012943767/article/details/51897247
2016-07-29 11:52:12 428
原创 Retrofit2.0+okhttp3设置缓存
1.首先需要一个工具方法:判断当前网络状态 方法:/** * 判断网络是否可用 * * @param context Context对象 */ public static Boolean isNetworkReachable(Context context) { ConnectivityManager cm =
2016-07-28 15:26:04 4314 1
原创 loadmorerecyclerview GitHub项目使用
项目地址: https://github.com/Brooks0129/LoadMoreRecyclerView 1.使用:将项目library导入到应用中。方法,参看前面的博客。 2.使用,有2中加载方式,一种是自动加载,一种是手动加载,本文以自动加载为例进行说明 <com.brooks.loadmorerecyclerview.LoadMoreRecyclerView
2016-07-28 10:39:52 1628 1
转载 Android Studio使用第三方类库
ndroid Studio导入第三方类库的方法 Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比Eclipse好用吧,反正以前没有java开发经验,索性就从android studio开始学,以前一直是做.net的开发,最近使用了Ec
2016-07-27 17:29:45 497
原创 Google推荐的图片加载库Glide介绍
Google推荐的图片加载库Glide介绍 链接地址:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html Android 平滑图片加载和缓存库 Glide 使用详解 http://www.codeceo.com/article/android-glide-usage.html
2016-07-27 16:28:13 280
原创 android-Ultra-Pull-To-Refresh 使用简介
项目地址https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh 该项目只包含下拉刷新,可以包裹任何控件,如果需要添加上拉加载,可以将包裹的view改为前篇文章的LoadMoreRecyclerView实现上拉加载功能。 引入方法1:直接导入lib库:ptr-lib,可到项目地址下载,然后将lib添加到项目 compile proj
2016-07-27 16:15:57 6870
原创 基于RecyclerView的BaseAdapter、ViewHolder、OnItemClickListener联合使用
1、OnItemClickListener public interface OnItemClickListener { void onItemClick(ViewGroup parent, View view, T t, int position); boolean onItemLongClick(ViewGroup parent, View view, T t, int po
2016-07-27 15:29:15 1124
原创 带加载更过功能的LoadMoreRecyclerView
类实现 /** * * 添加加载更多功能 * Created by chs . */ public class LoadMoreRecyclerView extends RecyclerView { private boolean isScrollingToBottom = true; private FloatingActionButton floatingActio
2016-07-27 14:55:53 5170 1
原创 Android沉浸式通知栏的一个开源库SystemBarTint简单使用,android沉浸式状态栏
SystemBarTint项目地址:https://github.com/jgilfelt/SystemBarTint 使用:public class BaseActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { sup
2016-07-27 14:03:20 1280
原创 为Android程序设置全局的捕获异常,提升用户体验(UncaughtExceptionHandler捕获全局异常)
主要方法:通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可。 实现类 public class CrashHandler implements UncaughtExceptionHandler { public static final String TAG = "CrashHandler"; //
2016-07-27 12:30:24 2566 2
原创 Retrofit使用简介
1.基础介绍,参看 Retrofit – Java(Android) 的REST 接口封装类库 :http://www.tuicool.com/articles/NnuIva 2.Retrofit 2.0:有史以来最大的改进 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0915/3460.html 3.Androi
2016-07-27 09:36:56 263
原创 RxJava实战演示3----okhttp3表单提交
1.定义LoginUtils public class LoginUtils { private OkHttpClient client; public LoginUtils() { client = new OkHttpClient(); } /** * 定义了login操作,使用RxAndroid的编程思想 * @pa
2016-07-26 15:15:16 2324
原创 RxJava实战演示2,获取网络图片
本文参考老罗视频进行讲解 下载工具类封装:public class DownLoadUtils { private OkHttpClient client; public DownLoadUtils(){ client = new OkHttpClient(); } /** * 声明一个被观察者对象,作为结果返回 * @pa
2016-07-26 11:32:36 1422
原创 RxJava实战演示1------基本代码使用
声明:本文适合有一点RxJava语法基础的同学阅读,如果基础为零,建议先看下仍物线大神的此篇文章:http://gank.io/post/560e15be2dca930e00da1083 1.应用程序配置,如果使用java8的lambda表达式的话,需要额外添加如下配置 在全局build.gradle的 dependencies中添加:classpath 'me.tatarka:gradle-
2016-07-26 11:24:54 590
原创 观察者模式
1.观察者模式:有2个角色。观察者(Observer)和被观察者(Observable),当被观察者状态发生改变的时候,通知观察者进行相应的操作。下面通过示例程序进行说明。 被观察者类:当设置的数据跟当前值不同时则会通知观察者,进行相应操作 public class SimpleObservable extends Observable { private int data = 0;
2016-07-25 17:29:53 213
原创 使用MediaRecorder进行视频录制
1.仅适用MediaRecorder进行录制,此种方式网上很多,就是不加camera实现。 2.使用MediaRecorder+camera进行录制,此种方式可能会出现问题,下面的代码经过在4.4以及5.1系统测试均没问题。 private Camera mCamera; private SurfaceView mSurfaceView; private SurfaceHolder mSu
2016-07-20 13:40:00 828 2
转载 Android网络请求框架NoHttp简介
转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 目录(?)[+] NoHttp QQ技术交流1群:46523908 QQ技术交流2群:46505645 NoHttp 源码及Demo托管在Github欢迎大家Star https://github.com/yanzhenjie/NoHttp
2016-07-14 10:22:28 1624
原创 xUtils简介
xUtils简介 xUtils3 api变化较多, 已转至 https://github.com/wyouflf/xUtils3xUtils 2.x对Android 6.0兼容不是很好, 请尽快升级至xUtils3.xUtils 包含了很多实用的android工具。xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响
2016-07-13 16:37:56 287
原创 原生网络连接方式
1.使用HttpURLConnection使用get方法实现获取网络图片 public class MainActivity extends Activity { static ImageView iv; static MainActivity ma; static Handler handler = new Handler(){ //此方法在主线程中调用,可以用来刷新ui pu
2016-07-13 16:21:18 2068
原创 Android图片处理
一、加载图片到内存 1.不推荐方式 //相当消耗内存资源 根据图片的分辨率而定,可能会引起oom // Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/photo.jpg"); // myiv.setImageBitmap(bitmap); 2.推荐方式 //1.得到屏幕的宽高信息 WindowManager wm =
2016-07-13 10:47:57 307
原创 自定义ProgressBar(更改系统主题方式实现)
1.先搜索到系统的ProgressBar的样式,其中的drawable是转动的那个圆环,所以,我们要更改progress_medium_white这个文件 true @drawable/progress_medium_white repeat 3500 48dip 48dip
2016-07-12 10:42:59 1200
原创 Activity中多个fragment切换
1.Activity继承FragmentActivity layout中添加FrameLayout //获取到fragment的管理者 fragmentManager = getSupportFragmentManager(); //开启事务 FragmentTransaction mTransaction = fragmentManager.beginTransaction
2016-07-11 13:26:00 1745
原创 安卓获取当前最顶部Task应用名称
//获取到进程管理器 activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); //获取到当前正在运行的任务栈 List tasks = activityManager.getRunningTasks(1);//参数是想获得的个数,可以随意写 //获取到最上面的进程 Run
2016-07-11 13:14:37 3334
原创 SQLite数据库操作
创建数据库需要使用的api:SQLiteOpenHelper * 必须定义一个构造方法: //arg1:数据库的名字("people.db") //arg2:游标工厂(通常直接传人null,则系统会使用默认的工厂) //arg3:数据库版本号(从1开始),方便升级使用,不断设置更大的值会调用,onUpgrade方法 public MyOpenHelper(Context context,
2016-07-08 15:30:40 252
转载 Android 反射Method应用
本来想先介绍反射构造函数,代码写了一部分,发现先介绍反射构造函数不是太”灵活”,所以,就先介绍方法,感觉先介绍了方法,在讲构造函数时,往构造函数中传递参数,然后通过方法在体现出来,效果会更加! 大致介绍一下Method.java中需要用到的几个常见的方法: invoke(Object obj, Object... args)
2016-07-07 13:49:13 4481
原创 AIDL进程间通讯
可能最让人迷惑的是Android推出来了Messager,它就是完成应用之间的通讯的。那么为什么还要有AIDL呢,官方文档介绍AIDL中有这么一句话:“只有当你允许来自不同的客户端访问你的服务并且需要处理多线程问题时你才必须使用AIDL”,其他情况下你都可以选择其他方法,如使用Messager,也能跨进程通讯。可见AIDL是处理多线程、多客户端并发访问的。而Messager是单线程处理。 在说明
2016-07-07 09:56:21 290
原创 常用Linux指令
* su:切换到超级用户 * #:代表当前用户是root用户 * $:代表当前用户是普通用户 超级用户切换到普通用户 su 用户名称 :切换到指定的普通用户 * rm:删除文件 * rm 文件名.后缀名 * ls * ls -l:查看目录下所有文件的详细信息 * ls -a:查看隐藏文件 * cd:切换目录,用法跟windows一样 * cat:以文本形式输出文
2016-07-06 11:40:36 216
原创 短信联系人操作
操作之前要添加相应的读写权限 1。短信数据库主要是用到了sms表中的4个字段: * body:短信内容 * address:短信的发件人或收件人号码(跟你聊天那哥们的号码) * date:短信时间 * type:1为收到,2为发送 读取系统短信,首先查询源码获得短信数据库内容提供者的主机名和路径,代码如下: ContentResolver cr = getContentResol
2016-07-05 16:05:40 557
原创 内容提供者:ContentProvider
主要是用来暴漏自己应用的数据,供其他应用去使用 1.自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代码 @Override public Uri insert(Uri uri, ContentValues values) { db.insert("person", null, values); return uri; } 2.
2016-07-05 14:42:03 334
原创 进入相机,按home退出,再按camera键进入相机,需要按两次返回键才能退出问题
1.由于camera键进入方式引发的此问题,将 CameraButtonIntentReceiver的启动方式修改为 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
2016-07-01 10:54:37 1264
原创 拍照各阶段耗时分析
photoMode -> cameradeviceimply-> cameramanager->camera(frameworks\base\core\java\android\hardware)->android_hardware_Camera(frameworks/base/core/jni) 从ShutterButton按下到抬起再到形成照片整个过程各阶段所消耗时间如下: 1.shu
2016-07-01 10:48:48 612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人