android
文章平均质量分 72
flying_fish_wj
这个作者很懒,什么都没留下…
展开
-
带分割线的百分比进度条
带分割线的百分比进度条// the codepublic class WProgressBar extends View { private Paint rightPaint; private Paint leftPaint; private int widthSize; private int heightSize; private int hDefaultSize; private int wDefaultSize; private Rect原创 2021-03-03 13:22:43 · 412 阅读 · 0 评论 -
打造安卓流式布局
public class FlowLayout extends ViewGroup { public FlowLayout(Context context) { this(context,null); } public FlowLayout(Context context, AttributeSet attrs) { this(conte原创 2017-02-03 10:36:20 · 271 阅读 · 0 评论 -
自定义View控件实现卫星菜单
如何自定义ViewGroup1、自定义属性的声明与获取2、测量onMeasure3、布局onLayout自定义属性的声明 与获取1.分析需要的自定义属性2.在res/values/attr.xml定义声明3.在layout xml文件进行使用4、在View的构造方法中进行获取测量onMeasure1.测量模式 EXACTLY、AT_MOST、UN原创 2016-11-21 15:20:06 · 500 阅读 · 0 评论 -
打造CommonAdapter
1.创建CommonAdapter类:public abstract class CommonAdapter02 extends BaseAdapter { protected Context mContext; protected List datas; protected LayoutInflater mInflater; public CommonAda转载 2016-11-15 17:09:53 · 235 阅读 · 0 评论 -
android 判断是wifi还是4g网络
public class NetworkUtils { public static boolean isNetworkAvailable(Context c) { Context context = c.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) Connectiv转载 2016-10-07 20:16:15 · 5213 阅读 · 0 评论 -
android图片压缩
public final class BitmapUtil { private BitmapUtil() { } public static Bitmap loadBitmapWithScale( File imageFile, int reqWidth, int reqHeight) {原创 2016-10-26 19:42:58 · 235 阅读 · 0 评论 -
android加密算法
/** * 常用的加密算法 */public final class CryptUtil { private CryptUtil(){} /////////////////////////////////////////////////////////////////////////// // DES ///////////////////////////原创 2016-10-25 21:47:36 · 502 阅读 · 0 评论 -
百度地图ApiKey申请流程
1.首先cmd 进入如图所示的目录下:2.接着输入keytool 检测3.输入以下指令,口令为android4.生成SHA15.6.将图5中grandle文件的包名,放在如图所示中:7.8.点击Create new..按钮9.此时系统自动生成mykey.jks10.原创 2016-09-26 20:27:01 · 923 阅读 · 0 评论 -
自定义View实现抽奖转盘
public class LuckCircle extends SurfaceView implements SurfaceHolder.Callback,Runnable { private SurfaceHolder mHolder; private Canvas mCanvas; /* * 用于绘制的线程 * */ private Thre原创 2017-02-03 11:09:34 · 836 阅读 · 0 评论 -
MVP + Retrofit
1.创建V,Ppublic interface IView { void getHttpData(String data);}public interface IPresenter { void getHttpInstance(String url);}2.分别实现P接口public class IPresenterImpl implements IPrese原创 2017-03-05 21:49:57 · 274 阅读 · 0 评论 -
MVP框架实战Demo
最近一直在研究MVP设计模式,写了一个小练习,不足之处还望多多指教。1.创建Presenter静态类public abstract class BasePresenter { public final static V CreateModel(Class vClass){ V model = null; try { mo原创 2017-03-23 21:06:44 · 549 阅读 · 0 评论 -
RecyclerView的万能适配器
public abstract class CommandRecyclerAdapter extends RecyclerView.Adapter{ private Context mContext; private List dataList; private LayoutInflater layoutInflater; public CommandRecy原创 2017-05-03 20:59:20 · 457 阅读 · 0 评论 -
状态模式
1.状态模式简介: 状态模式中的行为是由状态来决定的,不同的状态会有不同的行为。状态模式是平行的、不可替换的,这一点还是与策略模式有区别的。策略模式的行为是彼此独立,可相互替换的。public interface UserState { // 转发 void forward(Context context); // 评论 void原创 2017-05-28 20:57:46 · 371 阅读 · 0 评论 -
腾讯bugly热更新
一、热更新完整接入流程· 1.打基准包安装并上报联网(注:填写唯一的tinkerId)· 2.对基准包的bug修复(可以是Java代码变更,资源的变更)· 3.修改基准包路径、修改补丁包tinkerId、mapping文件路径(如果开启了混淆需要配置)、resId文件路径· 4.执行tinkerPatchRelease打Release版本补丁包· 5.选择app/build/o原创 2017-09-06 19:15:16 · 863 阅读 · 0 评论 -
retrofit上传获取文件上传进度
1.重写CallBack接口public abstract class UploadCallback implements Callback { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { o原创 2017-10-12 15:05:31 · 896 阅读 · 0 评论 -
自定义View实现刻度盘
public class ViewTest extends View { private Paint mPaint; private int mPadding; private int mRadius; private int mInnerRadius; private static int KeDu_Circle = 8; public Vie原创 2017-02-03 10:44:12 · 484 阅读 · 0 评论 -
kotlin自定义表盘
1.最近在学习kotlin的使用顺便自定义一个View做一下练习,废话不多说比较简单,直接上代码。class DialPlateView :View { var str= listOf("300","600","900","计划值") var degree = 10f var h = object :Handler(){ override fun handl原创 2018-02-07 10:27:57 · 358 阅读 · 0 评论 -
BroacastReceiver的介绍
1.清单文件:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mobi.vhly.broadcastreceiverdemo" > --> <a翻译 2016-09-22 12:16:43 · 497 阅读 · 0 评论 -
RemoteService中的 Messenger信使
1.app服务端MessageService.javapublic class MessageService extends Service { /** * 用于接收其他应用程序传递过来的消息, * 信使可以封装Handler, 封装之后就可以接收数据 */ private Handler mReceiveHandler = new原创 2016-09-25 18:52:56 · 395 阅读 · 0 评论 -
RemoteSever的通信AIDL
1.在main文件中创建一个ADIL文件夹,并在文件中创建ICalcInterface.aidl 文件,注意当在另外一个应用程序中也要创建一个一模一样的文件(该文件的所存在的位置,即包名+文件名),点击重建工程,此时工程文件中产生一个generated文件夹。// ICalcInterface.aidlpackage com.wwj_fly.remoteservicedemo.service原创 2016-09-25 18:33:00 · 250 阅读 · 0 评论 -
AutoCompleteTextView和MultiAutoCompleteTextView控件
layout.xml布局文件 <AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="1"//android:completionThreshold定义了从第几原创 2016-08-28 12:25:53 · 475 阅读 · 0 评论 -
Intent实现跳转
1.注意事项:因为手机屏幕发生旋转就会导致onCreate()方法重新加载,这就导致之前textView控件的数据重新加载,导致原有输入的数据的丢失,如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);原创 2016-08-29 19:47:31 · 568 阅读 · 0 评论 -
自定义ContentProvider内容提供者
一、自定义的内容提供者1. 继承 ContentProvider2. 实现 增 删 改 查 方法 以及 onCreate 方法3. 制定 Uri 的网址规则,形成特定的功能4. 四大组件都需要在清单文件注册,来确认内容提供者是否可以被 其他程序访问5. 内部需要进行数据的操作,增 删 改 查 5.1 确认使用哪种数据类型原创 2016-09-09 21:01:47 · 456 阅读 · 0 评论 -
Handelr的异步回掉机制
1.通过Handelr实现UI线程与子线程的异步加载,首先要在AndroidMainfest.xml中声明访问权限 2.回掉方法,我们通过创建接口来实现:public interface MyImageCallback { void onSuccess(Bitmap bitmap);//访问成功,并从网络上获取一张图片 void onFail(Exception e,S原创 2016-08-30 23:24:42 · 369 阅读 · 0 评论 -
ListView控件中item中实现的Button的点击事件
1.适配器我们可以简单的理解为数据与控件之间交互的桥梁,如果我们想要实现在Listview控件之中实现Button的点击事件,就需要把当前的UI线程传进Adapter之中,因此要在Adapter之中设置监听器,即适配器中创建setOnClickListener方法,适配器中定义了ViewHolder静态类定义了button控件,此时需要ViewHolder类中创建setOnClickListene翻译 2016-09-11 13:25:21 · 4160 阅读 · 0 评论 -
andriod中的 Application类用法
1.Application类的介绍:Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类原创 2016-08-31 19:07:19 · 1165 阅读 · 0 评论 -
AsyncTask异步加载以及Proxy代理模式访问网络数据
1 ) AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l 简单,快捷l 过程可控 使用的缺点:l 在使用多个异步操作和并需要进行Ui变转载 2016-08-31 19:33:55 · 726 阅读 · 0 评论 -
ImageView控件背景选择器
bg.xml<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">//设置背景的形状,此处为圆。 ////设置图形填充色 //stroke设置边框的颜色,宽度 <gradient android:type="linear"//设置背原创 2016-08-23 17:10:52 · 3195 阅读 · 0 评论 -
fragment的基本用法
1.首先创建一个UI线程public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener { private HomeFragment mHomeFragment; private DmFragment mDmFragment; priva翻译 2016-09-17 19:35:27 · 591 阅读 · 0 评论 -
loader的基本用法
1.loader的用法实例如下public class MainActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks { private SimpleCursorAdapter mAdapter; @Override protected void onCreate(Bu翻译 2016-09-17 19:53:48 · 1426 阅读 · 0 评论 -
计算器布局及其实现
1.使用xml设置控件 的样式背景edit_bg.xml:用于装饰计算器的显示框<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> //设置边角 //设置填充色 //设置边框的宽度number_bk.xml:用于装饰数字按原创 2016-08-25 14:24:01 · 1450 阅读 · 0 评论 -
ListView多布局实现
1.如何实现ListView的多布局呢?比如说。我们打算设计一个聊天窗口,自己的聊天内容放置在对话框的右边,别人发来的消息放置在对话框的左边。 下面我们可以看,如下实例:1) 首先我们要先设置两个两个布局文件,分别代表别人的发送的消息,和自己发送的消息,实例如下:chat_item_right.xml<RelativeLayout xmlns:android="http://s翻译 2016-09-20 13:31:50 · 356 阅读 · 0 评论 -
AsyncTask异步加载之图片下载
1.创建图片工具类ImageUtilpublic class ImageUtil { /* * * 使用Lru算法来将图片进行缓存,从而节省流量的使用 * * */ static LruCache cache = new LruCache(5 << 20){ @Override protected int si原创 2016-09-08 09:28:16 · 277 阅读 · 0 评论 -
AsyncTask加载之图片下载(2)
1.创建工具类public final class HttpTool { private HttpTool(){} public static byte[] doGet(String url){ byte[] ret = null; if (url != null) { HttpURLConnection conn转载 2016-09-08 09:46:41 · 307 阅读 · 0 评论 -
fragment实现横竖屏的切换
1.以新闻布局为例,首先创建新闻标题fragment 和 新闻内容fragment1)首先创建手机新闻标题的fragment布局文件fragment_news_list.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://原创 2016-09-17 19:06:04 · 9410 阅读 · 1 评论 -
Handler的用法介绍
1.handler主要用于子线程与主线程的消息传递,由于UI线程不能执行耗时操作,所以我将耗时操作放到子线程中去执行,并同Handler机制将子线程获取的消息发送到UI线程中,从而实现UI的线程中控件的内容的实时更新。2.一般都是子线程向主线程发送消息,那如何实现主线程向子线程发送消息呢?其实我们可以通过下面实例来实现:public class MainActivity extends A原创 2016-09-20 22:10:26 · 422 阅读 · 0 评论 -
SharedPreferences的存储位置和格式
1.SharedPreferences 本身是一个接口,程序无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name,int mode)来获取该实例该方法的第二个参数可以设置模式有:(1).Context.MODE_PRIVATE:指定该SharedPreferences数据只能被应用程序读写(2)原创 2016-09-08 11:09:59 · 15947 阅读 · 2 评论 -
GridView
Gridview控件练习使用GridView控件布局表情包,实现EditText控件获取图片,点击Button按钮后,将EditText获取的信息传递到TextViewpackage com.example.gridview;import java.util.ArrayList;import java.util.HashMap;import android.os.Bundle;import原创 2016-06-16 22:43:32 · 416 阅读 · 0 评论