Android应用
文章平均质量分 95
Android应用
Mr. 码农
外面的世界很精彩,外面的世界很无奈~
展开
-
一个提高编写代码效率的库
更新日志前言注意:本文针对kotlin开发android项目的开发者,以下方法只在kotlin中有效。学kotlin开发Android的人,应该都有接触过anko,anko的强大就不用介绍了,想了解的,这儿有传送门; 这两周因为公司后端的开发效率太低,所以我的空闲时间比较多,花了点时间去看看anko的源码,然后就结合自己开发过的项目,参考anko源码,自己写了几个工具类,具体...原创 2018-04-09 15:00:35 · 888 阅读 · 0 评论 -
几行代码实现弹框功能
前言在实际开发中,如果遇到多次使用同一个功能,那么我们会把这个功能封装成一个模块,方便在日后开发中调用。功能模块有很多种,其中,最为常用的,应该就是dialog模块。请求成功要弹框、请求失败要弹框、权限不足要弹框、没登录要弹框、会员也要弹框,在APP开发中,弹框几乎是无处不在的。那么,如果每个弹框都要手写,那工作量是巨大的。所以,我就自己封装了一个通用的,创建dialog的工具类,方便于快速开...原创 2018-08-06 11:02:52 · 1170 阅读 · 0 评论 -
Kotlin的学习汇总
2018/03/23 补充run函数 在Fragment中,调用每个控件的id之前,都要在前面加多一个’view.’,这样,就让代码变得有点繁琐,这时候就可以用run函数,来让代码变得更加简洁,具体如下: view.run { // 用户详情 ivEdit.setOnClickListener { startActivity<...原创 2017-07-27 21:37:48 · 1318 阅读 · 1 评论 -
Java基础数据类型
Java基础—数据类型1、Java中通过3种方式来表示整数,八进制、十进制、十六进制。当一个数值以“0”开头,则表示该数值是八进制;当一个数值以“0x”或“0X”开头,则表示该数值为十六进制。 public class main { public static void main(String[]args){ int a1=12; int a2=012; int a3=0x12; int原创 2015-06-12 16:13:58 · 463 阅读 · 0 评论 -
极光推送实现锁屏推送以及推送给指定的人
极光推送的配置,在官方文档中已经很详细地描述了;有手动导入跟jcenter导入两种方式,推荐使用jcenter;//在gradle中添加android { ...... defaultConfig { applicationId "com.xxx.xxx" //JPush上注册的包名. ...... ndk {原创 2016-09-07 14:48:12 · 6883 阅读 · 1 评论 -
Recyclerview在项目中由浅到深的使用
最简单的RecyclerviewRecyclerview跟ListView一样,也需要写适配器,只是,它的适配器跟ListView有点差别:public class SimpleAdapter extends RecyclerView.Adapter<SimpleAdapter.ViewHolder> { private Context context; private List<Da原创 2016-08-19 09:47:34 · 1825 阅读 · 3 评论 -
T- MVP在项目中的使用
用了MVP也有一段时间了,最为深的体会就是,写代码的时候,整个思维很清晰,修改需求也变得较为简单,还有一个体会就是,复用性变强了。一开始看着网上的教程,就在项目中用MVP,写了几个界面,发现增加类的量不是一般的多,类一多就会觉得,一点也不简洁;于是,便有了T-MVP。实现的效果图:项目结构,大概是这样的:1、用泛型实现MVP的大瘦身MVP给人的第一感觉就是要写很多类,很多接口;如果一下基础接口用泛型原创 2016-07-27 19:49:32 · 2479 阅读 · 3 评论 -
HxbRecyclerview,更加简单易用的Recyclerview
前言Recyclerview下拉、上拉刷新的第三方库已经有很多了,用过XRecyclerview跟SuperRecyclerview,之前用XRecyclerview的时候,就遇到过在安卓5.0以下的部分手机,会出现不显示的情况,后来就换了SuperRecyclerview,用了一段时间后,发现在下拉刷新的时候,如果实现list.clear()则会闪退,找了好久没找到原因。后面就用了其他几个第...原创 2018-04-20 10:44:11 · 484 阅读 · 0 评论 -
kotlin搭建的安卓开发框架
前言公司之前是做外包的,所以,做过了很多项目,一开始的时候都是新建项目的;后面做多了,就觉得,有很多共同的东西,完全可以复制过来,不需要每次都重写。于是我就建了个基础的项目,引入了一些常用的第三方库,也写了一些常用的方法或者类,如果接到新项目,就直接复制这个基础项目,进行开发就可以了,省去很多事情。项目介绍项目已经上传到GitHub上了,有什么好的建议,记得给我留言;https...原创 2018-03-13 17:08:12 · 836 阅读 · 0 评论 -
GitHub开源控件的使用合集
Android的加载动画AVLoadingIndicatorView项目地址:https://github.com/81813780/AVLoadingIndicatorView首先,在 build.gradle.中添加; dependencies { compile 'com.wang.avi:library:2.1.3' }然后在xml中使用; <com.wang.avi原创 2016-05-13 11:23:51 · 15928 阅读 · 4 评论 -
图表开源项目MPAndroidChart
MPAndroidChart是GitHub上的一个开源框架,主要用于快速实现Android端的图表问题,包括线性图、柱状图、饼状图等等; MPAndroidChart的引入只需要在Android Studio 的gradle文件里面添加下面代码即可:repositories { maven { url "https://jitpack.io" }}dependencies { c原创 2016-03-01 09:57:13 · 931 阅读 · 0 评论 -
Zxing的使用
在日常生活中,扫描二维码、条形码的功能随处可见,在github上有很多关于扫描二维码的开源项目,我在项目中用的是Zxing的扫描二维码的功能。 首先,下载精简过的Zxing的开源项目,并集合到自己的工程中,在activity中给一个按钮添加一个点击事件,点击跳转到扫描二维码的activity中。main_goods_iv2.setOnClickListener(new View.OnCli原创 2015-06-15 15:33:04 · 1292 阅读 · 0 评论 -
用Canvas画带动画的渐变数字圆环
先放效果图这是一个自定义view,布局就是一个简单的线性布局而已,通过addview的方式,将自定义view显示出来; 渐变圆以及外圈圆、外圈小圆是自定义view,其他三个文字是Textview;github的地址: https://github.com/Hebin320/ArcChart布局代码: <LinearLayout android:id="@原创 2016-04-13 13:10:17 · 8560 阅读 · 0 评论 -
用Canvas画百分数圆环
用Canvas画自定义View,画一个带进度条的圆形比例图,包含了数字以及文字、百分号,如图所示:布局只是一个简单的线性布局: <LinearLayout android:id="@+id/ll_report_num_01" android:layout_width="wrap_content"原创 2016-04-06 10:44:06 · 2435 阅读 · 4 评论 -
用canvas画两条折线图
项目在GitHub上的地址:https://github.com/Hebin320/LineChartDemo下载地址http://download.csdn.net/detail/hebin320320/9657990layout布局代码 <HorizontalScrollView android:layout_width="match_parent" andr原创 2016-01-08 10:49:36 · 3824 阅读 · 7 评论 -
NumberPicker的使用
NumberPicker是一个滚动的数值选择器,在github上可以下载到开源项目,将项目集合到自己的项目中,并对其进行修改。首先在NumberPicker.java中,mInputText.setTextColor(getResources().getColor(R.color.mine));可以修改numberpicker里面的字体的颜色,numberpicker里面线条的颜色可以通过修改图片资原创 2015-06-15 15:31:05 · 1509 阅读 · 0 评论 -
侧滑删除的ListView
Demo在github上的地址:https://github.com/Hebin320/HorizontalDelete.git在CSDN的下载地址:http://download.csdn.net/detail/hebin320320/9653510效果图如下:Android中可以用Listview的方式动态添加一个列表,像QQ、微信的好友列表都是用Listview动态添加。在QQ里面,有一栏是聊原创 2015-06-15 15:29:13 · 938 阅读 · 2 评论 -
SildeMenu
侧滑菜单的功能在越来越多的APP中得到了应用,一开始是最为简单的侧滑就滑出一个菜单栏,后来再QQ上用了一种SlideMenu,侧滑或点击顶部的头像的时候就弹出一个菜单栏,同时将当前的整个界面缩小,这种用法收到了广大用户的好评,所以现在很多的软件都采用了这种方法作为主界面的布局。 首先要先定义几个类,第一个类是菜单栏的标题栏,MenuInfo类,第二个类是菜单的选项栏,MenuItem类;然原创 2015-06-15 15:25:46 · 791 阅读 · 0 评论 -
侧边栏菜单
侧边栏是app中较为常用的一种菜单,通过顶部点击图片弹出或者侧滑弹出菜单栏,同时将主窗口向右移动。首先在layout中添加一个侧边栏的xml,将你所需要在侧滑菜单栏中出现的各个样式(图片、文本框等等的位置)都呈现在这个布局里面;然后写一个自定义的布局,是用来在点击侧滑菜单栏的子菜单跳转的activity加载的布局的,内容自定义;然后在主的xml中,设置背景色,标题栏,以及在顶部标题栏的左侧放一个图片原创 2015-06-15 15:20:03 · 1669 阅读 · 0 评论 -
自定义的DatePicker
谷歌官方提供了日期选择器(DatePicker)、时间选择器(TimePicker),是android项目实战中,并不会直接使用这样的一个控件,而且原生的其实挺难看的。在实际的应用中,可能会出现在网址中有个日期或者在android中有个按钮,点击的时候弹出一个对话框,然后可以选择日期,并将选择的日期传递回去。前者用JS的交互可以做到,后者则只是单纯的按钮点击事件。 首先,在xml中,主布局原创 2015-06-15 15:16:56 · 2906 阅读 · 1 评论 -
自定义dialog的使用
dialog是一种常用的对话框,使用方便,相比较popupwindow,dialog不用改变背景的透明度来使背景变暗,样式也较为多样,可以使用系统的简单的样式,也可以使用自定义的样式,将一个xml或者一个activity自定义为一个dialog。 首先创建一个alertdialog.builder 然后将xml实例化为一个view,给这个builder设置标题以及将自定义的view设置为b原创 2015-06-12 16:47:01 · 949 阅读 · 0 评论 -
一分钟实现扫描二维码功能
前言二维码扫描的功能在很多APP上都会出现,较为常用的第三方库是zxing,zxing很强大,但是有时候我们并不需要那么复杂的功能,只需要简单的扫描、生成以及处理扫描结果,一般都是通过重写几个类来实现项目需求。我开发了几个项目都用到了扫描二维码的功能,第一个项目,写了个完整的功能,之后的项目都是从第一个项目里面复制代码的,几次之后,觉得有点繁琐,所以就单独封装成一个项目,传到jcenter上,...原创 2018-07-16 11:08:17 · 7434 阅读 · 0 评论 -
初识MVP以及简单应用
布局由几部分组成:一张没网络时显示的图片;一个正在加载的Progress,这两个默认都是Gone的;然后就是两个EditText, 还有就是两个按钮,一个登录,一个清除;<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.androi原创 2016-05-24 18:16:54 · 1053 阅读 · 0 评论 -
Gson使用简记
在APP的开发过程中,必不可少的就是网络请求,请求服务器,得到数据,解析数据并加载到控件上,实现了APP的动态数据显示。 在解析数据的方法上也是多种多样的,之前用的都是JsonObject、JsonArray直接解析出来,后来发现用Gson配合Android Studio的 GsonFormat可以更加快速地解析数据。首先,导入Gson包,在Android Studio的gradle里面添加:de原创 2016-04-14 12:07:00 · 715 阅读 · 0 评论 -
Android工具类— 分享到QQ(QQ空间)、微信(朋友圈)
1、分享到QQ、QQ空间:首先第一步,在腾讯开发者平台注册,添加应用,获得APPID,然后下载SDK,导入到工程中;然后,在AndroidManifest中注册两个Activity,代码如下:<!--分享到QQ的Activity--> <activity android:name="com.tencent.tauth.AuthActivity"原创 2016-03-23 16:28:19 · 2724 阅读 · 2 评论 -
Android Studio实用插件
1、Gson Format 在网络通信中,经常用到的就是访问服务器返回一个json,Android Studio提供一个插件,可以通过Json一键生成Bean; 这是服务器返回的Json,通过AS的工具,Gson Format(可以在Plugins中添加),{ "status": true, "info": "信息获取成功", "results": { "原创 2016-02-01 16:26:45 · 918 阅读 · 0 评论 -
未读消息的红点显示
在很多APP里面,经常会看到未读消息的小红点,如下图:这个功能用到的是一个控件,叫做BadgeView。 BadgeView的用法很简单,直接把jar文件导入包中就可以使用,使用也很简单, badgeView = new BadgeView(this); //btn是控件 badg原创 2016-01-08 11:22:08 · 16776 阅读 · 3 评论 -
Volley的使用
以下是在我的项目中,Volley的使用,自己的经验、用法的总结以及记录: 1、Volley请求服务器返回JsonObject:RequestQueue mQueue = Volley.newRequestQueue(this); JsonObjectRequest json = new JsonObjectRequest(del, null, new Response.Listener<原创 2015-11-19 14:45:17 · 932 阅读 · 0 评论 -
SharedPreferences保存用户信息
用户登录的时候,需要将用户名、用户ID等等一些信息保存到APP的文件里面,下次进入APP的时候,先读文件,如果用户已经登录过,则跳过登录界面; 首先,将保存文件的方法写到基类里面,//保存用户信息public void saveData(Context context,int userid , int cityid , int shopid , int typeid , String token原创 2015-10-09 14:49:54 · 1022 阅读 · 0 评论 -
Android Studio使用技巧
一、多行统一编辑按住Ctrl,同时按下鼠标左键向下移动即可同时选中多行 二、鼠标停靠显示提示信息效果图如下 具体设置:File->settings->editor->general->show quick documentation on mouse move打钩即可 三、复制无须先选中再复制,直接按Ctrl+c即可复制光标所在的那一行四、换行无须跳到末尾再按Enter换行,按shift+原创 2017-09-19 11:42:52 · 834 阅读 · 0 评论 -
截屏与截长图功能的实现
Demo在GitHub的地址:https://github.com/Hebin320/ScreenShootDemo在CSDN上的下载地址:http://download.csdn.net/detail/hebin320320/9721970在Android开发中,有时候会遇到需要截屏分享到朋友圈或者QQ,截屏有截取当前屏幕,也有需要截取不仅一个屏幕,可能会很长。截取当前屏幕并保存到内存卡的方法:/原创 2016-04-14 15:09:25 · 15482 阅读 · 8 评论 -
常用的方法、知识(三)
1、Fragment中写onTouchevent,监听Fragment的触碰事件,主要用于滚屏监听隐藏显示某个控件:首先在Fragment的父Activity中写一个回调接口:public interface MyTouchListener { public void onTouchEvent(MotionEvent event); } // 保存MyTouchList原创 2016-04-06 10:17:38 · 543 阅读 · 0 评论 -
onActivityResult
在Android开发中,如果网络获取、数据解析、处理、控件适配、对话框等等都堆到Activity中的话,在后期做维护或者需要更改功能的时候,处理起来会很麻烦;所以经常做的就是将各个功能模块化,举个例子,在一个界面里面,需要有个对话框,可以将对话框提取出来,用一个Activity代替Dialog;那么这样会遇到一个问题,那就是,当你跳转Activity返回到之前的Activity,要怎么接受传回来的数原创 2016-03-29 15:59:42 · 772 阅读 · 0 评论 -
常用的方法、知识(二)
1、给View增加显示、隐藏动画,静态方法,全局调用。/** * View显示底部弹出动画 * */ public static Animation ShowAnimation(Context context){ Animation anim = AnimationUtils.loadAnimation(context, R.anim.push_bottom_原创 2016-01-08 14:40:50 · 552 阅读 · 0 评论 -
Tab导航的Activity按两次返回退出程序
按两次返回键退出程序的代码: /** * 菜单、返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_B原创 2016-01-08 11:01:52 · 1123 阅读 · 0 评论 -
常用的方法、知识(一)
1、获取当前时间(包括年、月、日、时、分、秒):SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss");Date curDate = new Date(System.currentTimeMillis());String str = formatter.format(curDate);2、获取本地版本原创 2015-10-09 14:58:09 · 546 阅读 · 0 评论 -
Json的解析简记
Android在网络通信的过程中,经常会遇到数据传输的问题,而较为常见的数据传输的方式则是通过Json进行传输的。以下是请求服务器、返回Json以及对几种Json的解析的简单记录。 1、请求服务器,返回一个Json数组: 基本思路就是,先封装一个请求服务器的基类,类的传入参数是String类型,也就是网址,返回值也为String类型,为想得到的Json数组。采用HttpClient的方式原创 2015-08-25 09:51:27 · 838 阅读 · 0 评论 -
Activity的封装以及美化
在Activity中,或许你要用到某个方法或者某个控件的时候,你就只是直接将代码写在activity里面,也没有什么逻辑性可言,想到什么写什么。虽然这样可以完成想要的功能,但是对于后期工程的维护与修改很不方便,有时候自己看代码的时候会发现完全不知道这个代码是什么意思,得找很久才能找到它是什么意思。为了避免这种情况的发生,有必要对代码进行整理,让它更加美观。 首先在一个activity里面,也原创 2015-06-18 17:44:41 · 2463 阅读 · 0 评论 -
HttpClient实现登录功能
在很多APP里面,用户注册、登录的功能是必不可少的,登录功能的原理就是将本地的数据POST到服务器端,服务器接收到数据之后返回一个Json。客户端获取到返回的Json数据并对其解析,其中有个加密的标识符进行判断,如果是肯定的标识符则可以登录,如果是失败的标识符则提示错误信息。 首先给一个登录的按钮增加一个点击事件,点击按钮的时候弹出一个正在登录的对话框,然后执行线程:mDialog = ne原创 2015-06-15 15:37:55 · 2969 阅读 · 0 评论 -
webview的JS交互
1、在android项目中,用webview加载html是经常出现的,如果html的内容无法响应application的话,那将会出现很多局限性,所以就有了webview与JS的交互,首先,是activity里面的webview与JS交互。在activity中为webview添加支持JS的代码:webview.getSettings().setJavaScriptEnabled(true); 然后给原创 2015-06-15 15:36:06 · 1419 阅读 · 0 评论