自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (7)
  • 收藏
  • 关注

原创 关于OkHttp解析数据添加到RecyclerView

我们需要的依赖compile 'com.squareup.okhttp3:okhttp:3.8.1'compile 'com.github.bumptech.glide:glide:4.0.0-RC1'compile 'com.google.code.gson:gson:2.8.1'compile 'com.android.support:recyclerview-v7:24.2.1'加完

2017-09-17 19:59:39 521

原创 安卓开发按钮触发音效替换以及系统音效和媒体音量大小进度条调节

1.按钮点击事件音效替换 对于播放音乐已经有很多博客可以翻阅,对于替换点击事件的音效也有不少博客,但是对于可以通过系统音效控制点击音效大小的博客,我昨天找了半天也才找到半个方法。为啥说半个呢很疑问,我下面给大家贴代码来看看并且指出。public class SoundPoolUtil { private static SoundPoolUtil soundPoolUtil; private SoundPool soundPool; //单例模式 ...

2021-05-07 11:19:25 420

原创 自定义带节点点击的折线统计图

最近项目中要加一个折线统计图,要求每个节点可以点击并且可以实现展示数据,我就自己绘制了一个统计图:下面是自定义的方法:public class TestLineChartView extends View { private boolean noTitle; private float marginLeft;// 左边距 private float marg...

2018-10-24 13:18:49 421

原创 自定义折线加条形统计图

        项目开发中经常用到统计图表,网上也有很多的图表类库,比如 :MPAndroidChart,XCL-chart,hellochart,AChartEngine等等,以前我写这些都是搬轮子造车,基本自定义自己写的少。         但是用别人的东西好处就是快方便,坏处就是不好维护了。前几天有个需求,要求柱形图和线型图组合,柱形图的数据依赖左边Y轴,还得分成3段,线型图有1条,右边还有...

2018-07-05 18:06:56 999

原创 调用WPS来实现word和excel文件的撰写

核心//通过WPS打开文件private void openWithWPS(File file){ Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(Intent.ACTION_VIEW); intent.setClassNa...

2018-05-22 16:38:44 1802

转载 自定义View,有这一篇就够了

1.自定义View首先我们要明白,为什么要自定义View?主要是Android系统内置的View无法实现我们的需求,我们需要针对我们的业务需求定制我们想要的View。自定义View我们大部分时候只需重写两个函数:onMeasure()、onDraw()。onMeasure负责对当前View的尺寸进行测量,onDraw负责把当前这个View绘制出来。当然了,你还得写至少写2个构造函数: pub...

2018-03-30 11:56:23 249 1

转载 Android:最全面的 Webview 详解

前言现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用法。目录1. 简介WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4...

2018-03-30 11:29:23 181

原创 网络框架Retrofit的Get请求

Retrofit(改良)框架是Square公司出品的目前非常流行的网络框架,效率高,实现简单,运用注解和动态代理,极大的简化了网络请求的繁琐步骤,非常适合处理REST ful(一种风格)网络请求.目前Retrofit版本是2(可以说是Square公司之前出品okhttp的升级版)特点:性能好,处理快,使用简单.(速度比Volley更快)使用REST API非常方便支持N

2017-10-13 08:14:45 563 2

原创 RecyclerView多条目

RecyclerView多条目实现:需要依赖:compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'然后在,MainActivity中给每个item做添加数据的方法然后调用他的适配器继承RecyclerView.Adapter给他设置一个bean类初始化他每个item的数据创建每个item的ViewHolder类并

2017-09-25 15:23:58 283

原创 自定义控件之大图的加载

要求:加载一张大图片到APP中,用户手机仅显示图片的一部分,根据用户的交互,用户手机显示图片不同的部分.(使用分块的模式,加载一张大图片)实现步骤:1.创建资源目录,assets文件夹,把超大图片放入其中2.创建一个完全的自定义控件,实现加载显示图片一部分的功能    (1).继承View,覆写其3个构造方法        public class Bi

2017-09-21 20:23:11 264

原创 关于imageloader的一些见解

我们图片加载时:setImage(list.get(i).pic,context,holder.image_view);然后就是我们imageloader的封装的方法//创建ImageLoader public static void setImage(String url , Context context,ImageView imageView){

2017-09-21 19:58:41 210

原创 图片二次采样

在安卓系统中,照片的大小是根据摄像头的分辨率而定的,一般是分辨率X4,就是照片的大。由于安卓系统中规定照片大小不能超过16M,因此,如果直接将照片存入内存,会造成OOM(内存溢出),故采用二次采样的方式对照片进行存储。1.直接取系统已经压缩过的缩略图:public class MainActivity extends AppCompatActivity { privat

2017-09-21 19:47:12 314

原创 关于自定义圆环或者小圆球

关于自定义控件,我最近要写的一个项目里要做圆环的复杂效果,因为接触这个不多,所以我就上网找,一找,MP都是好复杂,找了几十个博客才融汇成功,下面我就简单的介绍一下这个吧,其实圆环不难,但是被复杂化了, @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); /

2017-09-21 14:58:24 352

原创 属性动画实现扇形圆形展开图效果

在布局文件中,我们把图片叠罗汉一样叠起来,把点击的那个图片放在布局最后,那样就可以实现展示的是哪张public class MainActivity extends AppCompatActivity { private final String TAG = "CircleMenu"; private FrameLayout content_main; private

2017-09-19 08:34:13 2852

原创 jsoup

1.jsoup介绍很多时候,我们需要从各种网页上面抓取数据,而jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup官方文档:https://jsoup.org/cookbook/中文文档:http://www.open-op

2017-09-14 18:18:01 508

原创 属性动画的几种实现方式

属性动画有两种实现方法,一个是在代码中实现,一个是在XML文件里实现,下面我就跟大家唠唠这些首先是在代码中实现:几个效果分别是:1.透明动画://得到ObjectAnimator对象,参数:1.view控件,代表你要修改的那个控件属性 2.字符串,什么类型的动画 3.控件修改的参数float数组ObjectAnimator aipha = ObjectAnimator.of

2017-09-11 20:43:24 569

原创 封装的一个网络判断的类

网络判断类:public class NetUtils { /** * 检测当的网络(WLAN、3G/2G)状态 * @param context Context * @return true 表示网络可用. */ public static boolean isNetworkAvailable(FragmentActivity co

2017-09-10 21:35:23 166

原创 okhttp请求json数据

我们需要二次封装下okhttp请求:public class OkHttpUtils { //声明OkHttpClient引用 private OkHttpClient client; //私有化构造方法 private OkHttpUtils(){ //创建client对象只在创建OkHttpUi

2017-09-10 20:47:56 829

原创 关于okhttp的二次封装

okhttp的二次封装,首先我们是要给他一个封装类:/** * Created by 小亚 on 2017/9/6. * okhttp中级封装,实现两个功能,从服务端下载数据,从客户端提交数据 * 封装优秀的okhttp:okohttpUtils,OKGO(更深入的封装,研究okgo) * 节约内存,使所有的网络请求都用一个okhttpclient和handle对象 * 解决ok

2017-09-07 13:39:35 318

原创 OkHttp的几种方法

关于OkHttp有好多不同的方法,就比如鸿洋的方法等,在这里我用的最简单的方法首先我们添加依赖:compile 'com.squareup.okhttp3:okhttp:3.4.2'然后设置联网权限在往下就是要写方法:第一个是okhttp请求数据存到内存并打印:public void okhttp_ok(){ new Thread(){ @Overr

2017-09-05 11:31:44 542

原创 关于viewpager与fragment连用

viewpager和Fragment连用一直让我头疼,但是我没放弃他,今天就来整理下他,我在这还多用了一个tablayout首先是写几个Fragment类这就不多说了,其次就是和viewpager联系private void initTab() { List fragments = new ArrayList(); fragments.add(new BlankFragme

2017-08-24 10:00:30 359

原创 关于http网络请求Imageloder图片SharedPreferences封装Banner无限轮播

关于网络请求,这一方面也是经常用,可是对于初学者就很头疼,所以我就把我封装的几个Util类给奉献出来吧首先是HttpURLConnection:public class HttpUtils { //get请求获取网络数据 public static String getData(String utl) { try {

2017-08-24 09:44:25 290

原创 关于讯飞语音的一些思路

最近做了一个大项目,包含了好多东西,为了便于记忆和对大家的照顾,小崔在此就多说几句讯飞语音,我们就要在讯飞科大注册应用然后下载SDK配置环境,这些就不多啰嗦了看着官方文档就可以做,我要说的正是Class类里东西,不多说我就直接上代码喽免得大家说我啰嗦:public class YuyinActivity extends AppCompatActivity implements View

2017-08-24 09:26:46 343

原创 关于AlertDialog的几种方法

最近小崔刚写完一个项目,所以吧项目中的一些知识点就整合过来喽;关于AlertDialog有多种实现方法下面我就来和大家分享下首先就是简单的方法:new AlertDialog.Builder(getContext()) .setTitle("删除") .setMessage("确定要删除我吗?") .setPositiveBu

2017-08-24 09:01:35 549

原创 第三方登入的分析文档

第三方登入练习手册一.  功能描述就是利用用户在第三方平台上已有的账号来快速完成自己在其它应用或网站的登录或者注册的功能。二.  效果图三.  需求分析因为项目都是第三方的东西,所以需要到友盟官网下载Sdk,然后通过下载的Sdk中的友盟集成工具来集成项目的配置,把集成的libs包和res包全部一一对应集成到项目中,这些配置弄好以后则需要添加一个onActivityR

2017-08-17 20:34:06 391

原创 ToolBar点击实现PopuWindow窗口效果

LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_pare

2017-08-17 17:28:29 286

原创 自定义控件之仿电话簿汉字排序侧边拼音

/*** 侧拉索引:音乐APP,即时通讯,电商选择城市,短信验证选择城市都有这个类型自定义控件* 实现步骤:* 1.绘制A-Z的字母列表(自绘式自定义控件)* 2.响应触摸事件* 3.提供监听回调* 4.获取汉字拼音首字母,首字母 (pinying4j通过汉字得到他的拼音,只能一个字符一个字符的转换拼音)* 5.根据拼音排序* 6.根据首字母分组* 7.把监听回

2017-08-16 19:15:27 725

原创 自定义控件之视差效果

/*** 视差特效实现思路:模仿QQ回弹界面* 1.解析OnTouche,Action_Dowm,Action_move,Activity_up,业务逻辑* 2.重写Listview的ouverScrollBy方法,继承式自定义控件ListView,根据用户下拉距离,动态修改headerview的高度* a.拷贝文本资源到项目,自定义控件机场ListView* b.使用自定义控

2017-08-16 19:14:46 239

原创 DrawerLayout图标的方法

2017-08-13 19:30:25 362

原创 关于短信验证和第三方分享

短信验证,首先要下载sdk和一些文档网址为:http://www.mob.com/downloadDetail/SMS/android里面有两个下载目录,只需要按你的开发工具下载即可然后有开发文档网页http://wiki.mob.com/sdk-sms-android-3-0-0/只需要按照他的一步步做里面要求申请App Key和App Secret你需要在http://www.mob.

2017-08-10 14:51:18 187

原创 Xutils

权限:uses-permission androidname=android.permission.INTERNET依赖:compile 'org.xutilsxutils3.5.0'代码:@ContentView(R.layout.activity_main)public class MainActivity extends AppCompatActivity imp

2017-08-06 21:28:45 222

原创 简单的方法实现ScrollView

ScrollView不太繁琐,但是他的布局文件有时候要往Scrollview的子布局里添加好多TextView或者其他等等,很是麻烦.那我今天就来用下简单的介绍一下scrollview首先Xml布局可以看出就一个scrollview和一个LinearLayoutLinearLayout xmlns:android="http://schemas.android.com/apk/res/

2017-08-04 15:18:26 349

原创 Android侧滑菜单

其实侧滑菜单大家以为有点小难,但是我告诉你们,一点也不难,步骤繁琐不代表难首先他的Xml类:android.support.v4.widget.DrawerLayout android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_par

2017-08-04 15:05:30 271

原创 关于日间夜间模式切换的一种实用方法

日夜间模式切换:/*** 第一种设置夜间模式:通过重新给Activity设置主题,然后杀掉Activity,再创建Activity重新设置的之塔才 * 有效* 搭建环境* 1.在values中colors里设置颜色属性* 2.在style.xml中定义两组主题,也就是日间主题和夜间主题* 3.创建attrs.xml文件* 使用代码* 4.需要夜间模式的布局引用att

2017-08-04 12:40:21 3043

原创 关于滑动事件冲突的解决方法

在做项目时总是有多个下滑或者上拉的事件冲突,导致效果达不到要求;今天我就综合scrollview嵌套listview时滑动冲突的解决方案其实也很简单,只需要做个小的修复即可,如下我的代码listView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(V

2017-08-03 15:45:23 200

原创 关于使用wifi和4g的IP地址的获取

还是那样子,布局就不发了,没什么要写的.然后就是一个类搞定:public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState

2017-08-03 15:39:19 3321

原创 关于两个APP之间的跳转实现手机联系人展示

APP工程之间的跳转Intent intent = new Intent(Intent.ACTION_MAIN); //知道要跳转应用的包名、类名 ComponentName componentName = new ComponentName("com.example.ri01i", "com.example.ri01i.MainActivity"); intent.setComponent(component

2017-08-02 09:50:09 416

原创 关于ViewPager无限轮播一些方法

首先第一种方法,可以随便滑动使radioGroup一起滑动public class MainActivity extends Activity {private ViewPager viewPager;private List list;private RadioGroup radioGroup;private Handler handler=new Handler(){p

2017-07-28 11:14:20 251

原创 判断有无网路无网跳转

private class MyRecever extends BroadcastReceiver {        @Override        public void onReceive(Context context, Intent intent) {            String action = intent.getAction();            if

2017-07-28 08:24:38 322

原创 Http请求的工具类

/** *  用户手机是否有网络,判断的工具类 */public class NetWorkUtils {    //判断网络是否连接    public static boolean isNetWorkAvailable(Context context) {        //网络连接管理器        ConnectivityManager connect

2017-07-27 21:19:39 201

OkGoUtils2.zip

关于OkGo的二次封装,封装后传参基本与之前一样,只是做了统一回调和请求动画机制 因为我写的这个工具类也是有借鉴几个博客所以会有相似之处,不过我是取长补短

2019-12-21

自定义统计图条形加折线

项目开发中经常用到统计图表,网上也有很多的图表类库,比如 :MPAndroidChart,XCL-chart,hellochart,AChartEngine等等,以前我写这些都是搬轮子造车,基本自定义自己写的少。 但是用别人的东西好处就是快方便,坏处就是不好维护了。前几天有个需求,要求柱形图和线型图组合,柱形图的数据依赖左边Y轴,还得分成3段,线型图有1条,右边还有Y轴,再加一个虚线的平均分数,左右y轴数据固定。百度了好多都是相似,好吧找不到轮子只能模仿着自己造了。

2018-07-05

自定义折线加条形统计图

自己写的统计图代码ScreenUtils类 public class ScreenUtils { private static int screenW; private static int screenH; private static float screenDensity; public static int getScreenW(Context context) { if (screenW == 0) { initScreen(context); } return screenW; } public static int getScreenH(Context context) { if (screenH == 0) { initScreen(context); } return screenH; } public static float getScreenDensity(Context context) { if (screenDensity == 0) { initScreen(context); } return screenDensity; } private static void initScreen(Context context) { DisplayMetrics metric = context.getResources().getDisplayMetrics(); screenW = metric.widthPixels; screenH = metric.heightPixels; screenDensity = metric.density; } /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dp2px(Context context, float dpValue) { return (int) (dpValue * getScreenDensity(context) + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dp(Context context, float pxValue) { return (int) (pxValue / getScreenDensity(context) + 0.5f); } /** * 计算状态栏高度 */ public static int getStatusBarHeight(Activity ac) { Rect frame = new Rect(); ac.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); return frame.top; } }

2018-07-05

底部自定义单选复选自定义Dialog窗口

底部自定义Dialog窗口下RecyclerView控件,包括单选复选和自定义控件

2018-01-10

底部自定以dialog添加recyclerView

用MVP写的一个自定义dialog,dialog里添加的recyclerView,item为一个滑动条的自定义控件,滑动dialog里的滑动条,会把值传递到activity中.

2018-01-09

Http工具类

Http请求的工具类

2017-07-27

listview多种item实现方法

listview多种item

2017-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除