- 博客(40)
- 收藏
- 关注
原创 沉侵式封装
//直接复制可用public class StatusBarUtil { /** * 将acitivity中的状态栏设置为一个纯色 * * @param activity 需要设置的activity * @param color 设置的颜色(一般是titlebar的颜色) */ public static void se...
2019-04-09 09:43:21
206
原创 第三方控件PullToRefreshScrollView进入自动刷新,到底部自动加载
//日常笔记:早期项目使用PullToRefreshScrollView进行上下拉,后期公司需求有更改,换用其它控件工作量又太大,所以选择简单修改一下。//如若只需进入时自动刷新可以直接使用框架中的pull.setRefreshing();//简单说下我修改的地方吧1.在 IPullToRefresh 中添加public void setRefreshing(Pull...
2019-04-08 19:47:04
608
转载 Android:Gson解析——从简单数据到复杂数据
Json是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读和编写,同时也易于机器解析和生成,因而在客户端与服务器交互中得到广泛应用。但Json自带的解析类用起来却差强人意,所以市面上因运而生了很多Json转换利器,本文主要介绍其中之一Gson。Gson是google发布的library,主要为了方便将Java对象序列化Serialization至轻量化的封包格式JSON,提供了很多方便快捷的...
2018-05-21 08:53:11
2314
1
原创 listview 分页加载
/** * 模拟请求数据 */public class DataServer { private static List<String> data=new ArrayList<String>(); public static List<String> getData(int offset, int maxnumber) { ...
2018-05-08 09:44:35
468
翻译 AndroidStudio 混淆打包
AndroidStudio中的项目可以用compile的形式引入github上的开源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式。在最终realease打包时,混淆的设置是比较重要的,否则会导致生成的包有很多功能不能正常使用。下面列举一个基本的app的build.gradle和混淆文件。并注意,混淆打包后的apk文件大小会比不使用混淆要小。在app根目录下设置bui...
2018-04-26 08:51:49
258
翻译 Android Studio 打包混淆
前言在使用Android Studio混淆打包时,该IDE自身集成了Java语言的ProGuard作为压缩,优化和混淆工具,配合Gradle构建工具使用很简单。只需要在工程应用目录的gradle文件中设置minifyEnabled为true即可。然后我们就可以到proguard-rules.pro文件中加入我们的混淆规则了。ProGuard作用压缩(Shrinking):默认开启,用以减小应用体积...
2018-04-26 08:49:15
210
原创 Android 版本更新
//首先自行判断版本号是否需要升级,这里就不做判断了private void downFile(final String url) { new Thread(){ @Override public void run() { super.run(); DownloadUtil.get().download(url...
2018-04-24 13:44:19
1120
原创 SharedPreferences 存储Bitmap
存储SharedPreferences sharedPreferences = context.getSharedPreferences("Bitmap",Context.MODE_PRIVATE);SharedPreferences.Editor edit = sharedPreferences.edit();ByteArrayOutputStream bos = new ByteArray...
2018-04-24 13:31:31
1248
1
原创 Bitmap转Drawable
Drawable drawable = new BitmapDrawable(bitmap); 或者BitmapDrawable bd= new BitmapDrawable(getResource(), bm);
2018-04-24 13:29:05
3044
原创 Drawable 转Bitmap
public static Bitmap drawableToBitmap(Drawable drawable) { int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); Bitmap.Config config = drawable.getOpacity() != Pixe...
2018-04-24 13:25:47
816
原创 获取手机像素,密度和宽高(dp)
// 获取手机像素,密度和宽高(dp) WindowManager wm = (WindowManager) MainActivity.this.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics...
2018-04-24 11:27:44
1616
原创 创建AlertDialog
LayoutInflater factory = LayoutInflater.from(Activity.this); View myView = factory.inflate(R.layout.lialog,null); final LinearLayout linearLayo...
2018-04-24 10:20:07
123
原创 帧动画实现
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable=&qu
2018-04-24 10:17:01
148
原创 获取屏幕宽高以及密度
public class DisplayUtil{ public static int screenWidthPx; //屏幕宽 px public static int screenhightPx; //屏幕高 px public static float density;//屏幕密度 public static int densityDPI;//屏幕密度 ...
2018-04-24 10:12:17
527
原创 MVC模式mode
Android Studio的MVC模式,顾名思义就是Model,View,Controller,三个部分。开发时尽量将三个部分分开,这样修改代码时,可以做到只修改一个部分,不用大动干戈。接口KpListener.javapublic interface KpListener { void onSucess(String response); } 接口Kpmodel.javapub...
2018-04-24 10:09:37
345
原创 仿微信上传图片
public class GridViewAdapter extends BaseAdapter { private Context context; private List<MyBitmapData> list; public GridViewAdapter(Context context, List<MyBitmapData> list) {...
2018-03-02 09:27:02
420
原创 相册拍照上传
public class MyActivity extends AppCompatActivity { private GridView gridView1; //网格显示缩略图 private Button buttonPublish; //发布按钮 private final int IMAGE_OPEN = 1; ...
2018-02-27 08:50:24
158
原创 视屏播放插件
compile 'com.android.support:recyclerview-v7:23.4.0'compile 'fm.jiecao:jiecaovideoplayer:4.8.3'compile 'com.zhy:base-adapter:3.0.3'<uses-permission android:name="android.permission.INTERNET" />...
2018-02-24 10:28:07
368
原创 线程池
// 创建一个总长度为5的线程池,主线程数为3// ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor( 3, 5, 1, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>(128));// 创建一个总长度为3的线程池 ...
2018-02-24 09:11:43
148
原创 OkHttp同步异步请求
OkHttpClient okHttpClient = new OkHttpClient(); FormBody.Builder builder = new FormBody.Builder(); builder.add("key","value"); FormBody body = builder.build(); Request...
2018-02-24 09:08:06
362
转载 异步详解
// String:开始异步任务执行时传入的参数类型;Integer:异步任务执行过程中,返回下载进度值的类型;List<FragmentData>:异步任务执行完成后,返回的结果类型; class MyAsyncTask extends AsyncTask<String,Integer,List<FragMentData>>{/...
2018-02-24 09:05:16
231
原创 图片处理工具类
public class ImageUtil { /** * 图片转成string * * @param bitmap * @return */ public static String convertIconToString(Bitmap bitmap) { ByteArrayOutputStream baos =...
2018-02-23 15:10:40
170
原创 自定义LIstanbulview下拉刷新
package com.athis.app.application.util;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.view.View;import an...
2018-02-23 10:30:21
158
原创 自定义listView到达底部自动加载更多
//下拉头布局灰色 -->name="grey">#FF999999头部刷新时候的四种颜色-->name="refresh_color_1">#ff00ddffname="refresh_color_2">#ff99cc00name="refresh_color_3">#ffffbb33name="refresh_color_4">#ffff4444//底部自动加载布局xm
2018-02-07 11:36:37
1426
原创 Fragment获取屏幕宽高
Display display = getActivity().getWindowManager().getDefaultDisplay();Point size = new Point();display.getSize(size);int widths = size.x;int height = size.y;
2018-02-01 11:20:02
3010
1
原创 显示单个网络图片
/** * 显示单个网络图片 */public class UrlImageView { private ImageView tiv; private String image; private Handler handler = new Handler(){ @Override public void handleMessage(M
2018-02-01 11:15:04
192
原创 ViewPager自动轮播,当手触摸时停止自动播放,离开继续播放
/** * 自定义Handler,设置viewpager每三秒自动轮播 */public class MyHandler extends Handler implements Runnable { private ViewPager mViewpager; public MyHandler(ViewPager mViewpager){ this.mViewp
2018-02-01 10:48:16
683
原创 通过广播在当前Activity关闭其他Activity
/** * 发送广播关闭指定Activity */public class BaseActivity extends Activity { //根据需求定义自己需要关闭页面的action public static final String RECEIVER_ACTION_FINISH_A = "action_a"; private FinishActivityRe
2018-02-01 10:37:18
1119
原创 简单驻留时间统计,切换Activity有短暂休眠,不需精准统计可借鉴
public class ThreadActivity extends AppCompatActivity { ThreadHandler handler; @Override public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentSta
2018-02-01 10:25:25
410
原创 大量加载网络图片,使用一二级缓存,数据自行添加,复制可用
/** * 在内存中存储图片(一级缓存), 采用了1个map来缓存图片代码如下: */public class MemoryCache { // 最大的缓存数 private static final int MAX_CACHE_CAPACITY = 30; //用Map软引用的Bitmap对象, 保证内存空间足够情况下不会被垃圾回收 private Has
2018-02-01 10:16:56
421
原创 简单实现viewpager 自动轮播,触摸停止轮播,离开继续轮播
public class MyHandler extends Handler implements Runnable { private ViewPager mViewpager; public MyHandler(ViewPager mViewpager){ this.mViewpager=mViewpager; } @Override
2018-01-24 10:12:29
615
原创 启动系统相机
/** * 启动相机,获取拍摄图片(注:6.0后file对象防止null,provider->provider->authorities添加零时路劲 ) * @return */private Intent xaingji() { //创建File对象,用于存储拍摄的照片 outputImage = new File(getExternalCacheDir(),"name_
2017-10-31 09:48:20
222
原创 使用OK3上传图片及String
// 使用Okhttp3上传图片以及String String url= UrlDta.URL; okhttp3.OkHttpClient okhttp=new okhttp3.OkHttpClient(); okhttp3.MediaType MEDIA_TYPE = okhttp3.MediaType.parse("image/*;charset=utf-8");
2017-10-31 09:42:47
384
原创 Android 检测网络是否可用
/** * 检测当的网络(WLAN、3G/2G)状态 * @param context Context * @return true 表示网络可用 */public static boolean isNetworkAvailabla(Context context) { ConnectivityManager connectivity = (ConnectivityManager
2017-10-31 09:27:06
293
原创 Android 6.0动态权限
//checkSelfPermission 第一个参数为当前Activity,第二个为需要动态申请的权限 if (ContextCompat.checkSelfPermission(Activity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){ //表示未授权时 //进行授权 Ac
2017-10-31 09:24:29
188
原创 ViewPager无限轮播,简单实现
//不墨迹,直接上public class PagerAdapter extends android.support.v4.view.PagerAdapter { private List viewlist; private Context context; public PagerAdapter(Context context,List viewlist) {
2017-10-31 09:03:31
292
原创 Okthhp3简单封装
/** * OKhttppost请求,封装传参 一个参数,不包含图片获取数据 返回取到的json对象,主要用于传id,uid等 * @param {String} url 接口网址 * @param {String} key 键 * @param {String} value 值 * @return {String} JsonString */public String p
2017-10-19 10:47:34
995
原创 简单实现 BroadcastReceiver 回调
自定义接口UpMainData public interface UpMainData { String Start(); String Stop();}创建MyReceiver04,实现UpMainData接口public class MyReceiver04 extends BroadcastReceiver implements UpMainData{
2017-10-19 10:26:26
1253
原创 销毁Activity时添加动画效果
//从左侧关闭Activityfinish();overridePendingTransition(R.anim.out_to_left,0);//在res下创建anim文件夹,创建out_to_left.xmlxml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/an
2017-09-20 16:06:49
1137
原创 简单实现沉浸式状态栏
public static void MyWi(Activity activity){ Window window = activity.getWindow();// 对SDK版本进行判断,大于19执行此代码 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
2017-09-18 11:26:35
425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人