- 博客(27)
- 收藏
- 关注
原创 Android断点续传学习
先学习断点续传热热身,为多线程下载预热;其实重点就是下载这里;1,下载范围的设定 urlConnection.setRequestProperty("Range","bytes=" + start + "-" + info.getLength()); 2 , 文件移动到指定位置randomFile.seek(start); 其他的没有难
2017-10-10 22:04:22 260
原创 android studio 上面查看data\data 目录权限修改
如图,几个简单的步骤就好进入adb目录下面 ,按住shift键,右键---》在此处打开命令窗口 ,进入命令adb shellsu // 管理员身份chmod 777 /data
2017-09-18 08:51:06 6037 1
原创 数据库封装之app离线缓存
数据库封装 这个网上有很多,这里就借用一下学习(非常感谢)public class SQLiteManager { // SQLite public SQLiteDatabase db;//数据库操作对象 private Context context; //上下文 private DBOpenHelper dbOpenHelper;//建表所需
2017-09-15 10:06:36 602
原创 Kontlin边用边学
Kontlin就一点好,从java转过来,可以直接转换,碰到不会的转一转,就可以解决很多的问题学习的路很长(一点一点积累吧)常量的变化object Constants { public static String API_PATH= "http://120.77.52.183:80/api/webapi/"; // 测试环境 var API
2017-09-08 09:54:26 2724
原创 android 开发图片压缩的整理一基础篇
参考 : http://blog.csdn.net/u012400885/article/details/72235451整理和学习一下,有时间整理一下native层对图片压缩的实现图片存在3种状态 ,bitmap stream file ;传送的时候为stream;磁盘为文件;内存为bitmap 或者 stream一般的压缩有三种1,质量压缩 (将fil
2017-09-04 16:56:28 301
原创 Android开发6.0权限的封装
import android.content.DialogInterface;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;import android.os.Build;import android.provider.Settings;
2017-09-04 14:34:50 245
原创 Android开发资源模块化
在Android开发过程中越往下开发,会发现资源文件会越积越多,然后检查起来也很是费劲,这里参考别人的方法,自己学着优化一下布局资源其实很简单1,在build文件添加资源目录的指向// 资源分类sourceSets{ main{ res.srcDirs = [ 'src/main/res',
2017-09-04 13:54:25 457
原创 android NDk开发学习一<简单实现>
ndk开发是现在学习Android必须要会的东西,主要是用来与其他语言进行交互的时候进行使用;前面使用eclipse实现起来相对来说比较成熟了,但是在AndroidStudio上面实现还不是特别的熟悉;今天就简单的整理了一下在studio上面实现so库生成和使用的的一些过程,作为学习笔记;一,工具(安装ndk插件)如果有已经安装就不用了,没有安装的在插件哪里
2017-09-04 11:02:37 559
原创 多个fragment 中使用setUserVisibleHint方法做UI判断的时候出现空指针的解决方法
在项目中需要做一个fragment可见的判断,当然想到了上面的方法setUserVisibleHint();但是出现了空指针的问题,就是ui找不到;后面自己打印log日志发现,setUserVisibleHint()方法优先于onCreatView方法,就更别说绑定控件了;然后做了一个小的调整,问题解决private boolean isVisible,viewIsOk =
2017-08-28 09:53:15 783 1
原创 设计模式之单例模式的学习
设计模式的使用,很多情况下都是锦上添花的,先来学习一下1,饿汉式(最基本)public class Emperor{private static final Emperor emperor = new Emperor();private Emperor(){}public static Emperor getEmperor(){return emperor;}}
2017-08-23 10:50:56 172
原创 三级缓存之AsyncTask学习
在做三级缓存的时候,显示图片的实现,都会post一个runnable,如果数据较多的情况下,会开销大量的线程,这样就会造成加载的卡断;所以需要对线程的优化,在Android上面对线程池有一个轻量级的封装——AsyncTask;AsyncTask的源码其实也就是对java线程池ThreadPoolExecutor 的一个封装学习理解一下ThreadPoolExecutor 的使用
2017-08-23 09:41:10 241
原创 三级缓存之LruCache 学习
google在安卓2.3.x 之后修改了软引用的机制,而推荐使用LruCache LruCache 可以看成是一个map集合,可以自动删除对象,在构造的时候会指定尺寸,超出尺寸的会删除 既然有尺寸,但也不能写死,这个大小就要和内存有关; 获取内存大小 Runtime runtime = Runtime.getRuntime(); runtime有三个参数,分
2017-08-23 09:01:29 188
原创 三级缓存之弱引用概念
强引用是用等号来表示,系统不会因为内存不够而对强引用进行回收; 软引用可以形象成一个用来装对象的袋子,而这个袋子里的东西在oom之前会被清空; 弱引用和软引用概念一样,只是袋子里的东西是在系统调用GC的时候清空; 虚引用的袋子基本为空,只是可以起到一个回收资源的作用,我自己感觉 安卓2.3.x 之后,软引用也就成了弱引用,google推荐是LruCache* 强可及
2017-08-23 08:43:09 318
原创 Android三级缓存的基础框架学习
import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.Closeable;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;im
2017-08-23 00:15:17 235
原创 Android studio上面学习Aidl实现复杂数据类型的传递
上一篇学习使用了 基本数据类型的传递,但是在实际开发中肯定是不够用的这一篇主要学习使用Aidl来实现自定义对象的传递服务端要简单一些,先写一下服务端(例子是参考的网上的)需要传递的实体类(不能用Serializable)package com.chang.test.remote;import android.os.Parcel
2017-08-22 18:40:17 1667
原创 自定义学习——摩天轮原理
这个例子是从课堂上拿过来的;是一个很好的例子,可以学习手势识别,以及事件分发,特别是转动速度和滑动之间的关系。public class SkyWheel extends RelativeLayout {private Paint redPaint;private Paint blackPaint;private Paint grayPaint;// 圆心
2017-08-19 16:27:18 4104
原创 百度消息推送点击跳转到指定界面的实现
百度推送实现上面的功能,我自己在做的时候,按照api上面的介绍去实现,出现了很多的问题。第一,在onNotificationClicked()方法里面,能获取到custom_content的参数,但是无法进行界面跳转 type不管设置成多少都无法进行跳转第二,在type == 2的情况下,可以实现跳转到指定的界面,但是无法获取到custom_content的参数,
2017-08-18 10:56:50 1029
原创 View学习——Dialog焦点抢占问题
前段时间在制作折线图的时候,有个点击事件,会在指定的位置显示Dialog,但是碰到一个问题,就是在Dialog显示的时候,Activity的焦点丢失,被Dialog抢占了,导致Activity不能响应其它地方对应的点击事件!Dialog 的OnTouch方法也就是说想要实现我的点击效果,dialog.setCanceledOnTouchOutside(tru
2017-08-03 14:41:30 3124
原创 一些简单算法的学习——递归
// 斐波纳契数列的定义:它的第一项和第二项均为1,以后各项都是前两项之和// 1、1、2、3、5、8、13、21、34、55...... private int testRecursion(int i) { if (i 0){ return 0; }else if (i >= 0 && i 2) {
2017-08-03 14:00:21 239
转载 分享AndroidStudio相关的一些安装和使用的链接
Ubuntu 12.04(64位)安装Android Studio 全过程 http://www.linuxidc.com/Linux/2013-05/84812.htm Android Studio v0.1尝鲜 http://www.linuxidc.com/Linux/2013-05/84681.htm Android Studio使用教程 http://www.linuxi
2017-07-22 16:44:39 311
原创 AndroidStudio上面对AIDL的实现
以前在eclipse上面实现这个,但是转到studio上面之后,发现实现方式有点差异;在studio上面,比如接口名为 IServer先在remote相同包名的位置,进行如下操作创建出aidl文件创建成功之后如下 多了一个aidl的文件夹,而且包名和项目的一致,需要在aidl文件里面写上自己的接口方法完成之后,重新编译一
2017-07-22 16:36:15 237
原创 Service学习理解
Service使用一般有三种情况:1,直接start;会调用onStartCommand(); onCreat(); 不会调用onBind()方法; 可以在后台长期运行,但是不能绑定数据,组件之间就不能进行交互;2,使用绑定服务;会调用onCreat();和onBind();因为绑定,生命周期也绑定到了一起,所以不能长期在后台运行,但是可以实现数据的交互;3,,混搭模式;先sta
2017-07-21 08:52:52 247
原创 Andorid绘制学习——贝塞尔曲线(二阶实战水波效果)
这个是横向滚动的,自己学着做了一个,但是还有很多细节没有达到,采用的值动画来实现;就是动画结束之后会有停顿一小会,希望各位高手帮忙看看,该怎么解决比较好,在这里谢谢了!下面是我写的Demo:public class BezierView extends View { private static final float POINTWIDTH
2017-07-20 18:42:20 600
原创 Android绘制学习——贝塞尔曲线(一二阶)
贝塞尔曲线的实现,一阶就是一条直线,没什么好写的。二阶的实现,需要找到三个参数,起点,终点,动点。起点和终点是固定不变的,将手指滑动的点相对于控件的坐标设置成为动点坐标,就可以简单实现随着手指变化的二次贝塞尔曲线参考实现demopublic class BezierView extends View { private static final float POIN
2017-07-20 10:55:58 1114
原创 Android绘制学习——基础形状
有些地方待优化处理,这里就没做处理,只是用来学习记录public class BarChartView extends View { private Context context; // 画布的位置 private int XPoint; private int YPoint; //刻度长度 private int XScale =
2017-07-20 09:50:45 349
原创 在fragmnet中获取父activity为null
原因:是由于activity和fragment的生命周期不一致引起的;当宿主activity被回收之后,getActivity()就会报null;网上也会有许多的解决方法,比如在onAttach()的时候,获取上下文作为成员变量,在onDettach()中释放;可以解决部分问题在fragment中最好避免使用getActivity()方法;在Toast中可以使用Application的
2017-07-19 22:13:17 320
原创 fragment中的数据缓存
具体细节参考:http://www.jianshu.com/p/015c79bedb411,在切换fragment之前setArguments PollingAllListFragment pollingAllListFragment = new PollingAllListFragment(); pollingAllListFragment.
2017-07-19 10:58:50 666
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人