android
文章平均质量分 61
jiangtea
这个作者很懒,什么都没留下…
展开
-
安卓第三方支付之支付宝支付
1、开发者平台:https://docs.open.alipay.com/204https://doc.open.alipay.com/doc2/alipayDocIndex.htm支付宝支付开发者登录入口https://openhome.alipay.com/platform/home.htm支付结果同步返回状态码https://doc.open.alipay.com/doc2/detail.h原创 2018-03-03 16:54:58 · 795 阅读 · 0 评论 -
网络访问之OkHttp
1、github地址https://github.com/square/okhttp官网http://square.github.io/okhttp/构建引入:compile 'com.squareup.okhttp3:okhttp:3.7.0'网络权限<uses-permission android:name="android.permission.INTERNET"/>2、get请求OkHttp原创 2017-05-13 17:56:00 · 326 阅读 · 0 评论 -
SwitchCompat使用小结
1、直接使用的效果<android.support.v7.widget.SwitchCompat android:id="@+id/switch_tog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" />效果:原创 2017-05-04 22:07:11 · 16545 阅读 · 0 评论 -
网络访问之Volley
Volley请求的请求种类: 1、StringRequest:返回结果是一个字符串://1.创建一个请求String url = "https://www.baidu.com/";StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() { @Overrid原创 2017-05-12 21:43:32 · 259 阅读 · 0 评论 -
网络访问之AsyncHttpClient
1、GitHub地址https://github.com/loopj/android-async-http引入:compile 'com.loopj.android:android-async-http:1.4.9'别忘了添加网络权限 2、get请求:AsyncHttpClient asyncHttpClient = new AsyncHttpClient();//内部开启一个线程,然后执行ge原创 2017-05-12 15:02:10 · 385 阅读 · 0 评论 -
网络访问之HttpClient
HttpClient从Android6.0被移除了。 1、添加网络权限 流转换成字符串工具类public class StreamUtils { public static String is2Str(InputStream is) throws IOException{ ByteArrayOutputStream baos = new ByteArrayOutputSt原创 2017-05-12 14:30:56 · 359 阅读 · 0 评论 -
占位符 %1$s %1$d
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 在string.xml中我的名字叫%1$s,我来原创 2017-05-03 22:22:40 · 2024 阅读 · 0 评论 -
Intent跳转
隐式Intent,不仅可以启动自己程序内的活动,还可以启动其他程序的活动1、打开应用市场去评价try{ Uri uri = Uri.parse("market://details?id="+getPackageName()); Intent intent = new Intent(Intent.ACTION_VIEW,uri); intent.addFlags(Intent.FLAG原创 2017-05-03 21:47:16 · 507 阅读 · 0 评论 -
笔记
1.使用隐式Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动,这使得Android多个应用程序之间的功能共享成为了可能。打开浏览器:Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity原创 2017-01-12 21:19:57 · 273 阅读 · 0 评论 -
LeakCanary的用法
1、添加依赖debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'2、Application中初始化leakcanary//在自己的Application中添加如下代码public原创 2017-04-20 22:46:55 · 2674 阅读 · 1 评论 -
RecyclerView实现多种布局样式
1、添加依赖compile 'com.android.support:recyclerview-v7:25.3.0'2、布局<android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_p原创 2017-04-16 18:44:01 · 4217 阅读 · 0 评论 -
属性动画详解
属性动画在Android3.0之后推出的,通过修改控件的属性,从而实现的动画效果。属性动画是真正改变了控件的属性。知识储备:使用到的属性解释如下:duration:动画时长;透明度:1为完成不透明,0为完全透明;repeatCount:重复次数,默认为 0 就是不重复,1 则代表再重复一次,注意是再重复一次,也就是总共执行了两次,ValueAnimator.INFINITE原创 2017-01-04 23:04:54 · 1190 阅读 · 0 评论 -
网络访问之HttpURLConnection
注意问题: 1、网络权限:<uses-permission android:name="android.permission.INTERNET"/>2、url上如果有中文需要转码:URLEncoder.encode("中文")3、工具类,处理返回的流转换成字符串public class StreamUtils { public static String is2Str(InputStream原创 2017-05-12 14:02:52 · 421 阅读 · 0 评论 -
Gson的使用
1、GitHub地址:https://github.com/google/gson导入依赖:compile 'com.google.code.gson:gson:2.8.0'2、 JavaBean转换成Json:Gson gson = new Gson(); Student student = new Student(); student.setName("xingming"); st原创 2017-05-13 19:36:37 · 317 阅读 · 0 评论 -
卡片效果CardView
属性介绍: cardCornerRadius:卡片圆角 cardElevation:阴影效果 cardBackgroundColor:背景颜色<android.support.v7.widget.CardView app:cardCornerRadius="30dp" app:cardElevation="30dp" app:cardBackgroundColor="#原创 2017-05-14 21:53:11 · 701 阅读 · 0 评论 -
安卓目录索引
Android一 控件:ActivitystartActivityForResult的基本用法Activity之间转场动画Intent跳转AlertDialogDialog的2种常用样式自定义Dialog之底部弹出DialogAsyncTaskAsyncTask的使用CountDownTimerCountDownTimer短信验证码倒计时器EditTex...原创 2017-03-05 18:48:50 · 983 阅读 · 0 评论 -
安卓第三方支付之微信支付
1、相关地址 微信开发平台:https://pay.weixin.qq.com/wiki/doc/api/index.htmlSDK下载:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1异步通知文档: https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=原创 2017-09-03 20:13:13 · 15967 阅读 · 3 评论 -
Android studio初始配置
常用设置,打开设置 1、禁用自动打开上次关闭工程,禁用退出提示,打开新项目提示方式: 2、鼠标悬停显示文档 及格式化、导包提示 3、显示行号,显示方法分隔线 4、取消方法自动折叠 5、代码提示,提示时间设置 All(大小写全部符合),None(不管大小写,符合就提示),(First letter)(第一个字符符合就OK,其他随意)。 6、自动导包 Optimize原创 2017-06-25 16:54:58 · 1836 阅读 · 0 评论 -
安卓第三方支付之银联支付
进入银联支付的开发者平台:https://open.unionpay.com/ajweb/help/file ,下载银联最新sdk先看下支付流程:流程图说明:(1)用户在客户端中点击购买商品,客户端发起订单生成请求到商户后台;(2)商户后台收到订单生成请求后,按照《手机控件支付产品接口规范》组织并推送订单信息至银联后台;(3)银联后台接收订单信息并检查通原创 2016-08-07 21:56:34 · 956 阅读 · 3 评论 -
导入项目一直Gradle project info
导入一个项目一直如图所示怎么办呢?这是因为Gradle版本不匹配,所以会自动下载gradle版本,但是又比较慢,一直卡顿。当遇到这个问题,还是先退出来吧,按照下面方式解决试试。首先介绍Gradle下载的网站:http://services.gradle.org/distributions第一步:在要导入的项目中,找到gradle版本的文件位置:项目名\gradle\wr原创 2017-01-12 21:57:04 · 1042 阅读 · 0 评论 -
加密算法
1、简单的加密(凯撒密码)基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是 3 的时候,所有的字母 A 将被替换成 D,B 变成 E,由此可见,位数就是凯撒密码加密和解密的密钥。static int key = 6;/** * 加密 */private static Strin原创 2017-03-04 12:22:27 · 480 阅读 · 0 评论 -
获取安卓设备唯一ID
先介绍安卓设备中的几种ID 1、IMEI Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且唯一性良好。它根据不同的手机设备返回IMEI,MEID或者ESN码。 缺陷: 非手机设备: 如果只带有Wifi的设备或者音乐播放器没有通话的硬件功能的话就没有这个DEVICE_ID; 权限: 获取DEVICE_ID需要RE原创 2017-06-06 22:21:15 · 56308 阅读 · 0 评论 -
Window,LayoutParams,View及事件分发
什么是窗口(Window)? Window界面显示的最顶级元素, 任何东西都是显示在Window上的, 包括Activity, 对话框, Toast, 状态栏. 可以对比Windows里窗口, 有的手机也有多窗口功能。LayoutParams 表示布局参数, 封装了一些被添加的Window的参数, 或者说是特征。什么是LayoutParams? 1、布局参数, 封装了一个View的原创 2017-02-23 21:19:28 · 359 阅读 · 0 评论 -
自定义View基础
1、一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向。 View的坐标系统是相对于父控件而言的。getTop();//获取子View左上角距父View顶部的距离getLeft();//获取子View左上角距父View左侧的距离getBottom();//获取子View右下角距父View顶部的距离getRight();//获取子View右下角距父View左侧的距离Motio原创 2017-05-07 22:53:54 · 285 阅读 · 0 评论 -
Android studio常用快捷键
1、ctrl+alt+home:从布局文件进入到主界面 2、ctrl+shift+/:注释 ctrl+/:注释 3、ctrl+W:选中单词 4、ctrl+D:复制到下一行 5、ctrl+alt+L:格式化 6、F2:定位错误 7、ctrl+alt+s:设置 8、fbc:findViewById的快捷键 9、ctrl+alt+V:产生变量名 10原创 2017-04-27 23:01:27 · 375 阅读 · 0 评论 -
自定义转盘
效果: 自定义控件import android.animation.ValueAnimator;import android.content.Context;import android.graphics.PointF;import android.util.AttributeSet;import android.view.GestureDetector;import android原创 2017-05-07 17:44:09 · 1795 阅读 · 0 评论 -
防小黄车弹可滑动引导界面
上图工具类import android.app.DialogFragment;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.support.annotation.Nullable;imp原创 2017-04-12 21:59:30 · 993 阅读 · 0 评论 -
AsyncTask的使用
除了Handler,其实Android提供了另外一个类: AsyncTask, 也就是异步任务1. 基本用法:public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS原创 2017-02-27 22:06:27 · 287 阅读 · 0 评论 -
Json数据的组装和解析
1、组装成如下形式{ "a": "a_value", "b": "b_value", "c": [ "c1_value", "c2_value" ], "d": { "d1": "d1_value", "d2": "d2_value" }, "e": [ {原创 2016-11-21 15:33:16 · 6889 阅读 · 0 评论 -
回调
一:1.在业务类中创建一个接口// 定义回调接口public interface OnSmsListener { void onStart( int total); void onProgress(int progress);}2.将接口以参数的形式传递到业务方法中,并调用相应的方法public static void Backup(Context context, On原创 2016-11-03 21:54:29 · 338 阅读 · 0 评论 -
Handler的基本使用
1、what用来区分哪个消息,obj来传送内容private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case 数字: String s = (String) msg.obj; break; } }原创 2016-11-01 21:35:19 · 414 阅读 · 0 评论 -
CountDownTimer短信验证码倒计时器
先看效果新建类AuthCodeCountDownpublic class AuthCodeCountDown extends CountDownTimer { private Button mButton; public AuthCodeCountDown(long millisInFuture, Button btn) { super(millisIn原创 2016-10-23 16:28:22 · 562 阅读 · 0 评论 -
刮奖效果
实现原理使用帧布局叠加 2 个 ImageView,每个 ImageView 负责显示一张图片。给上面的 ImageView 设置触摸的事件,当手指触摸到图片上时,将手指触摸到的点周边的图片的像素点设置为透明的,这样下面的图片就一点一点显示出来了。注意的事项如下:1.触摸事件 onTouch 的返回值必须设置为 true,否则触摸的事件将不被处理2.使用 BitmapFactory原创 2016-09-25 11:42:03 · 402 阅读 · 0 评论 -
圆形头像
先看下未设置正常的图片:设置圆形头像后的效果:布局很简单,就一个ImageVIew,直接看下代码:ImageView mIv = (ImageView) findViewById(R.id.iv);Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.head);//获取bitmap原始的大小i原创 2016-09-25 10:31:45 · 976 阅读 · 0 评论 -
Dialog的2种常用样式
1.直接对Dialog使用AlertDialog.Builder builder = new AlertDialog.Builder(this); // 标题 builder.setTitle("我是标题"); // 内容 builder.setMessage("我是内容"); // 禁止取消(按返回键或对话框周围原创 2016-08-21 20:56:28 · 756 阅读 · 0 评论 -
enum枚举类
枚举是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略。 * 枚举类可以有构造器,但必须是private的,它默认的也是private的。 * 枚举类也可以有抽象方法,但是枚举项必须重写该方法原创 2016-11-07 21:37:45 · 450 阅读 · 0 评论 -
安卓调用相机和自定义相机SurfaceView实现预览
调用原生相机拍照:private File file;public void startCamera(View view) { Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); file = new File("/mnt/sdcard/my.jpg"); intent.pu原创 2016-11-10 21:36:42 · 2458 阅读 · 0 评论 -
PopupWindow的基本使用
今天用popupwindow实现这样一个小效果先了解下基本用法:设置个Button,点击时,显示popupwindow,布局:<Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content"原创 2016-07-31 10:55:13 · 1255 阅读 · 0 评论 -
ExpandableListView的使用,可展开的ListView
先看下效果ExpandableListView 和LiseView类似,继承自extends ListView,布局:<ExpandableListView android:id="@+id/elv" android:layout_width="match_parent" android:layout_height="match_parent"/原创 2016-07-24 20:29:31 · 327 阅读 · 0 评论 -
安卓系统GPS定位
三种定位方式:1.GPS定位: 基于电磁波传输,定位精准,室内可能接收不到信号,不依赖网络; 2.网络定位(wifi):基于大数据,手机定位后的数据统计到运营商的数据库,数据可能会有延迟; 3.基站定位:有手机信号就能定位,定位不精准,差的时候可能相差一两公里。权限 -->代码public class MainActivity extends Activit原创 2016-12-09 15:32:32 · 771 阅读 · 0 评论