学习之旅
文章平均质量分 52
Younger_Hu
正在成长的程序员
展开
-
Retrofit2.0 使用教程——MVP查快递
使用准备build.gradle中配置引用implementation 'com.squareup.retrofit2:retrofit:2.6.2'implementation 'com.google.code.gson:gson:2.8.2'implementation 'com.squareup.retrofit2:converter-gson:2.6.2'需要导入的包除了r...原创 2019-12-06 12:02:58 · 292 阅读 · 0 评论 -
RecyclerView使用以及避坑指南
基本使用继承RecyclerView.Adapter,并在内部自定义对应的ViewHolderpublic class HelloRecyclerAdapter extends RecyclerView.Adapter<HelloRecyclerAdapter.ViewHolder> { private List dataList = new ArrayList(); ...原创 2019-10-29 18:24:04 · 306 阅读 · 0 评论 -
最简单的webView使用
import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.webkit.WebView;import android.webkit原创 2015-12-01 16:13:47 · 437 阅读 · 0 评论 -
自定义折线统计图
前几天有个需求,就是传入一串坐标,然后绘制统计图,经过百度发现,网上的统计图太高大上了,所以自己写了一个简单的统计图。第一次写,不知道是不是合乎规范,以后慢慢调整。先是效果图:直接贴代码吧:package com.wscq.testlinechart;import java.math.BigDecimal;import java.math.MathContext;imp原创 2016-01-11 16:46:19 · 970 阅读 · 0 评论 -
利用ObjectAnimator实现侧滑菜单的效果
objectAnimator是一种焦点可以随着动画移动的动画,下面用一个简单的平移动画的例子,来实现侧滑菜单。原创 2016-03-23 11:28:14 · 627 阅读 · 0 评论 -
利用重写onTouchEvent方法实现view随手指移动效果
view随手指移动的多种实现方法原创 2016-03-13 12:00:39 · 6326 阅读 · 0 评论 -
使EditText不自动获取焦点(Android中系统输入法不主动弹出)
屏蔽EditText自动获取激活事件可以在EditText的父控件中加下面两条属性: android:focusable="true" android:focusableInTouchMode="true"然后就可以屏蔽EditText对焦点的获取了。如果要在全部的Activity中禁止弹出出入法,可以在Activity中添加一条属性<activity原创 2015-06-16 11:08:32 · 1144 阅读 · 0 评论 -
自定义时间选择器
首先简单介绍一下这个选择器,可以旋转表针的方式旋转选择时间,然后在下一个视图中选择分钟数。通过两个接口回调来返回选择的结果。接下来说一下编程思路:原创 2016-05-16 18:01:41 · 477 阅读 · 0 评论 -
Android主线程消息循环简介
主线程消息循环简介主线程就是ActivityThread,在ActivityThread的main方法中,新建了Looper并开启了Looper循环。循环开启后,每当有新消息进入,Looper会处理对应的消息,处理完后进入休眠状态,主线程的一系列操作都是在这种循环中完成的,这就是主线程的消息循环。Handler运行机制什么是HandlerHandler在日常开发中,我们经常会接触到,通...原创 2019-04-10 16:03:13 · 693 阅读 · 0 评论 -
WindowManagerService分析
1.WMS概述WMS是系统的其他服务,无论对于应用开发还是Framework开发都是重点的知识,它的职责有很多,主要有以下几点:窗口动画窗口间进行切换时,使用窗口动画可以显得更炫一些,窗口动画由WMS的动画子系统来负责,动画子系统的管理者为WindowAnimator。输入系统的中转站通过对窗口的触摸从而产生触摸事件,InputManagerService(IMS)会对触摸事件进...原创 2019-06-14 15:43:06 · 159 阅读 · 0 评论 -
Android系统启动流程
1. 启动电源以及系统启动电源键按下以后,引导芯片代码从预定义的地方开始执行,加载引导程序BootLoader到RAM,然后开始执行。相当于电脑启动时候硬件自检并拉起主板自带启动程序的过程。2. 引导程序BootLoader引导程序 BootLoader是在 Android 操作系统开始运行前的一个小程序,它的主要作用是把安卓的定制Linux拉起来并运行。类似于电脑的主板程序拉动Window...原创 2019-09-19 15:45:19 · 155 阅读 · 0 评论 -
Android性能优化整理总结
性能优化的目的在不断地迭代开发过程中,我们的应用功能会越来越复杂,代码量也会不断增加。再加上偶尔的重构、人员的变更等等原因,我们曾经那个如丝顺滑的项目也会渐渐变得卡顿。那么这个时候,就不得不提性能优化这个话题了。正好这段时间有空,就整理了一下常见的性能优化的几个方面以及各个方面的注意事项。一来是给自己脑中的知识做个梳理,加深下记忆,二来也能给一些萌新提供点思路。内存优化内存优化,可以说是性...原创 2019-10-09 18:30:04 · 185 阅读 · 0 评论 -
android新版本(8.0以上)使用Toast的那些坑
华为、三星等机型禁用通知权限后Toast不弹出原因查看Toast源码后发现,Toast显示要通过INotificationManager类来实现,而当通知禁用后,调用此类会返回异常,所以导致通知不显示,源码如下:public void show() { if (mNextView == null) { throw new RuntimeException("setView mus...原创 2019-10-11 16:54:43 · 1027 阅读 · 2 评论 -
自定义TitleView,用来实现开发时候统一标题栏
平时一直修改每一个 标题栏太麻烦,所以统一设计一个样式算了。开始时候用的是include方式实现,不过每次给文字赋值,重写颜色啥的一直感觉挺麻烦的。然后就把include中的layout放到了一个自定义view中,这样可以方便的设置一些点击事件啥的,写起来都是对同一个view操作,感觉上也方便点,下面是主体代码:import android.annotation.SuppressLin原创 2015-12-30 12:08:09 · 1004 阅读 · 0 评论 -
SharedPreferences(偏好设置)的使用
// 通过context进入到偏好设置中,来存储数据 Context context = getApplicationContext(); // 得到偏好设置 prefs = PreferenceManager.getDefaultSharedPreferences(context);首先存入偏好设置一点数据,由于这个是从一个代码片段中取出的,所以部分变量是类变量,在这里没有初始化原创 2015-07-11 20:31:24 · 709 阅读 · 0 评论 -
一个有关录音的小demo
比较简单,直接上代码了package com.example.myrcodeandplay;import java.io.File;import java.util.ArrayList;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Intent;原创 2015-11-23 17:20:16 · 449 阅读 · 0 评论 -
Fragment的广播消息接收
这种方式不用在配置文件加东西,我比较喜欢。广播注册,可以写在Activity(onCreate),也可以写在Fragment(onActivityCreated)里。LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getActivity());IntentFilter inten转载 2015-05-20 11:38:56 · 1480 阅读 · 0 评论 -
获取Android设备唯一识别码
在某些项目中,需要记录用户的某些设置,或行为,并上传到服务器,如果无需用户登录注册,就可记录独立这些内容,就需要用到设备的某些独立的序列。(以下部分android需要API8以以上,android2.3测试成功) 首先,先想想可以从哪些方面可以入手,1手机号码,2手机MIUI号,3设备的序列号,4wifi的mac码,5最后一种办法就只能使用UUID 在获取某些手机信原创 2015-06-16 15:49:39 · 1402 阅读 · 0 评论 -
获取手机屏幕大小
由于原理比较简单,就直接写代码了:// 获取屏幕的长宽像素DisplayMetrics dm = new DisplayMetrics();// 此处this为一个activitythis.getWindowManager().getDefaultDisplay().getMetrics(dm);String strOopt = "手机屏幕分辨率为:" dm.widthPixels原创 2015-04-14 07:35:23 · 368 阅读 · 0 评论 -
操纵JsonObject的方法
Json对象是Name Value对(即子元素)的无序集合,相当于一个Map对象。JsonObject类是bantouyan-json库对Json对象的抽象,提供操纵Json对象的各种方法。本文就介绍如何操纵JsonObject类。一、创建JsonObject实例创建JsonObject实例有两类方法,一是利用超类Json的静态方法parseJsonText、parseJsonRe转载 2015-06-19 11:07:53 · 543 阅读 · 0 评论 -
Android中判断网络是否处于连接状态
/** 判断网络是否连接的方法 */ public static boolean isConnection(Context context) { ConnectivityManager con = (ConnectivityManager) context .getSystemService(Activity.CONNECTIVITY_SERVICE); boolean wifi原创 2015-06-15 15:57:16 · 689 阅读 · 0 评论 -
Android精确适配不同的dpi和屏幕尺寸(附dimens按比例变化数字的工具类)
一、引言 Android的开源使厂商无需自行研发OS,大大降低了研发、生产的成本,使得Android平板品牌如雨后春笋般爆发,山寨机厂商们似乎又找到了一丝希望。与此同时带来的是广大开发者的苦不堪言,各种神奇的小板儿考验着app的兼容性,各种定制的rom不经意间就让app崩溃,光是界面上的调整就已经够你喝一壶了,是不?二、适配可行性 早在Android设计之初就考虑到了这转载 2015-07-20 22:25:54 · 4949 阅读 · 0 评论 -
在代码中修改textview的字体颜色(解决只能修改一次的问题)
使用Java代码改变字体颜色通常会使用text.setTextColor(R.id.text);在运行的时候虽然会看到效果,但是你在改变colors.xml文件中text对应的的颜色,运行后看到的颜色还是上次运行时的颜色,这说明上面的方法只会改变一个默认的颜色。下面的方法可以改变你想要的颜色:1、text.setTextColor(Color.parseColor("#FF6600"));转载 2015-07-20 15:53:04 · 462 阅读 · 0 评论 -
类似DiaLog的Activity
1.若只是实现简单的弹出文字以及标题的dialog,使用系统自带的dialog就可以完成。但是有的时候dialog界面会由于需求的变化而过于复杂,这时候就需要一个弹出式的类似Activity的Dialog。其实只需要在注册activity中加入一句话就可:<activity android:name="com.example.dialogactivity.Dialo原创 2015-07-19 19:59:31 · 792 阅读 · 0 评论 -
checkBox多选支付列表的实现(可以跨屏幕实现多选并计算金额)
1.先来说一下需求,这个例子要实现点击不同行的按钮时候,自动计算金额,并且上面的行全部选中时候下面的全选按钮可以自动勾选。下面的全选按钮勾选以后,上面的每个选择框全部勾选。取消全选或者上边全选以后点击某一项,全选按钮自动取消。同时,此功能中加入了模拟的下拉刷新和上提加载。2.首先是这个页面的item布局<LinearLayout xmlns:android="http://schemas原创 2015-08-01 11:33:41 · 1447 阅读 · 0 评论 -
Android中各类drawable资源使用方法
1.颜色Drawable:<color xmlns:android="http://schemas.android.com/apk/res/android" android:color="#ff0000"/>2.形状DrawableAndroid目前支持以下的形状类型,使用时需要将它们指定为shape类型,形状包括:line(线条)oval(椭圆)rectangle(矩形)ri原创 2015-10-02 18:37:39 · 595 阅读 · 0 评论 -
AlertDialog实现菜单项选择的事件
比较简单,直接放代码了,主界面就一个Button,然后出来一个弹出框菜单,然后点击再弹出一个dialogpackage com.example.testsdkdemo;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import andr原创 2015-11-04 11:01:56 · 888 阅读 · 0 评论 -
使用surfaceView制作视频播放器
package com.example.myvideoviewandsurfaceview;import android.annotation.SuppressLint;import android.app.Activity;import android.graphics.PixelFormat;import android.media.AudioManager;import andr原创 2015-11-24 15:54:38 · 611 阅读 · 0 评论 -
android中pull解析,读取xml中的实体类(通过xml发送实体类)
以下是android代码private List showXml() { List testEntity = null; TestEntity mTestEntity = null; // ========创建XmlPullParser,有两种方式======= // 方式一:使用工厂类XmlPullParserFactory try { XmlPullParserFa原创 2015-04-20 16:42:21 · 515 阅读 · 0 评论