自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 android iconfont

Iconfont是什么:Iconfont 是一套字体图标,和我们使用自定义字体的方式是一样的,并且它是一种矢量图标。Iconfont如何制作(一般都是UI提供):免费网址:阿里iconfont在android中使用:(1)在阿里iconfont中选择想要的图标,然后放入购物车Download code下来:(2) 将.ttf放入到android assets...

2019-12-11 09:31:41 317

原创 android studio gradle配置问题记录

问题:Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6解决办法:在app/build.gradle中android下加入android { ..... compileOptions { sourceCompati...

2019-12-09 10:22:43 263

原创 Android Checkbox Dialog 问题

Dialog中复选框选择不同的选项实现不同的功能解决方案: final String[] items = {"1", "2", "3"}; final boolean[] selected = {false, false, false}; new AlertDialog.Builder(this) .setTitle("清

2017-09-01 17:31:51 921

原创 设置背景时没作用

View.setBackgroundColor(color); View.setBackgroundDrawable(R.drawable.shape);通过代码编写shape,或者通过GradientDrawable设置颜色GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground();myGrad.setColor

2017-07-31 11:16:19 499

原创 android studio将项目中module变成library引用依赖

1.在项目的module中的build.gradle文件中的apply plugin: 'com.android.application'改为apply plugin: 'com.android.library'2.然后在module中将defaultConfig中的applicationId这项删掉,变成: defaultConfig { minSdkVersion 19

2017-04-17 23:04:06 2080

原创 插入排序之希尔排序

什么是希尔排序: 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。基本思想 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2public class ShellSort { public stat

2017-04-15 18:09:48 365

原创 插入排序之直接插入排序

直接插入排的做法:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。内层循环为待比较数值确定其最终位置。复杂度:直

2017-04-12 17:06:33 586

原创 Android笔试题

1、前后台交互用到的协议? http、https,数据交互:post、get比较多2、Android怎么做内存优化? 内存优化在Android中比较重要,像广播注册没有关闭、static、无关的引用等,我感觉最主要的是图片的问题!可以参考: 内存优化的几种方案 Android studio检查内存泄露与解决攻略3、两个Activity切换的时候依次回调了什么方法? 设置两个Activity

2017-03-31 20:09:50 1254

原创 Mac上配置Android ADB环境变量

1.启动终端,在终端中进入home路径: 2.在home路径下输入:cd $HOME; 3.更新.bash_profile文件(当该文件存在时),如果该文件不存在,可通过如下命令创建:touch .bash_profile; 4.打开.bash_profile文件,对其内容进行编辑:open -e .bash_profile; 打开.bash_profile文件: 5.此时文本编辑器会打开

2017-03-31 11:23:41 726

原创 向Github提交代码

GitHub简介GitHub是一个利用Git进行版本控制、专门用于存放软件代码与内容的共享虚拟主机服务。它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,但是付费账户也可以创建私有的代

2016-08-02 17:46:50 784

原创 Android Storage Access Framework(存储访问框架)

Storage Access Framework(存储访问框架)Android 4.4(API 19 级)引入了存储访问框架 (SAF)。SAF 让用户能够在其所有首选 DocumentsProvider中方便地浏览并打开文档、图像以及其他文件。 用户可以通过易用的标准 UI,以统一方式在所有应用和提供程序中浏览文件和访问最近使用的文件。云存储服务或本地存储服务可以通过实现封装其服务的 Docume

2016-08-02 11:32:08 3754

原创 Android Contact provider基础

Contact providerContact provider是一个强大而又灵活的 Android 组件,用于管理设备上有关联系人数据的中央存储库。 Contact provider是您在设备的联系人应用中看到的数据源,您也可以在自己的应用中访问其数据,并可在设备与在线服务之间传送数据。 提供程序储存有多种数据源,由于它会试图为每个联系人管理尽可能多的数据,因此造成其组织结构非常复杂。 为此,该提

2016-08-01 17:58:55 5880

原创 Android Calendar Provider基础

Calendar ProviderCalendarProvider是用户日历事件的存储库。您可以利用 Calendar Provider API 对日历、事件、参加者、提醒等执行查询、插入、更新和删除操作。Calender Provider API 可供应用和同步适配器使用。规则因进行调用的程序类型而异。 本文主要侧重于介绍使用 Calendar Provider API 作为应用的情况。正常情况下

2016-07-28 11:55:52 4033

原创 Android基础之创建ContentProvider

Create content providerContent providers管理对中央数据存储库的访问。您将 提供程序作为 Android 应用中的一个或多个类(连同清单文件 中的元素)实现。其中一个类会实现子类 ContentProvider,即您的提供程序与 其他应用之间的界面。尽管内容提供程序旨在向其他应用提供 数据,但您的应用中必定有这样一些 Activity,它们允许用户 查询和修改由

2016-07-27 11:45:09 1466

原创 Android Content Providers基础

Content Provider介绍内容提供程序管理对结构化数据集的访问。它们封装数据,并提供用于定义数据安全性的机制。 内容提供程序是连接一个进程中的数据与另一个进程中运行的代码的标准界面。如果您想要访问内容提供程序中的数据,可以将应用的 Context 中的 ContentResolver 对象用作客户端来与提供程序通信。 ContentResolver 对象会与提供程序对象(即实现 Conte

2016-07-26 19:15:15 2464

原创 Java中Math类中的方法

这个类有两个静态属性:E和PI。E代表数学中的e 2.7182818,而PI代表π 3.1415926。方法描述: 1.static double abs(double a) 此方法返回一个double值的绝对值.2.static float abs(float a) 此方法返回一个float值的绝对值.3.static int abs(int a) 此方法返回一个int值的绝对值.4.st

2016-07-26 16:22:49 1027

原创 Android Handling Runtime Changes

处理运行时变更有些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性及语言)。 发生这种变化时,Android 会重启正在运行的 Activity(先后调用 onDestroy() 和 onCreate())。重启行为旨在通过利用与新设备配置匹配的备用资源自动重新加载您的应用,来帮助它适应新配置。要妥善处理重启行为,Activity 必须通过常规的Activity 生命周期恢复其以前的状态,在

2016-07-26 10:22:38 605

原创 Android Service基础之Bound Services

Bound Services(绑定服务)绑定服务是客户端-服务器接口中的服务器。绑定服务可让组件(例如 Activity)绑定到服务、发送请求、接收响应,甚至执行进程间通信 (IPC)。 绑定服务通常只在为其他应用组件服务时处于活动状态,不会无限期在后台运行。基础知识绑定服务是 Service 类的实现,可让其他应用与其绑定和交互。要提供服务绑定,您必须实现 onBind() 回调

2016-07-25 18:50:31 835

原创 Android Service基础介绍

Services简介Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。服务基本上分为两种形式

2016-07-25 10:46:16 975

原创 Android的进程与线程

进程和线程的简介当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用的所有组件在相同的进程和线程(称为“主”线程)中运行。如果某个应用组件启动且该应用已存在进程(因为存在该应用的其他组件),则该组件会在此进程内启动并使用相同的执行线程。 但是,您可以安排应用中的其他组件在单独的进程中运行,并为任何进程创建

2016-07-23 11:12:54 1478

原创 Android Picasso的基本使用

Picasso是Android中强大的图像下载和缓存库。Picasso Introduction(介绍):在Android应用程序中图片的添加有必须的环境和良好的视觉风格,Picasso可以很轻松的加载图片在你的应用程序中-通常在一行代码中。Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(i

2016-07-21 18:23:22 4121

原创 Android Loader(加载器)详解

Loader(加载器)简介Android 3.0 中引入了加载器,支持轻松在 Activity 或Fragment中异步加载数据。 加载器具有以下特征:(1)可用于每个 Activity 和 Fragment。(2)支持异步加载数据。(3)监控其数据源并在内容变化时传递新结果。(4)在某一配置更改后重建加载器时,会自动重新连接上一个加载器的 Cursor。 因此

2016-07-21 16:15:35 3169

原创 Android Fragmnet详解

生活没有那么复杂,种豆子和相思或许都得瓜,你敢试,世界就敢回答。

2016-07-21 00:32:25 3950

原创 Android概览屏幕基础之添加任务和删除任务

你说你喜欢下雨天,可是下雨的时候你却撑起了伞;你说你喜欢阳光,可是阳光明媚的时候你却躲在阴凉处;你说你喜欢风,可是风儿来临的时候你却关起了窗子;这就是我所担心的,你说你喜欢我。

2016-07-19 10:16:20 3036 1

原创 开源网站的整理

这里荒芜寸草不生,后来你来这走了一遭,奇迹般的万物生长,这里是我的心。

2016-07-18 18:05:37 769

原创 Android 任务和返回栈详解

Tasks and Back Stack介绍应用通常包含多个Activity。每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity。 例如,电子邮件应用可能有一个 Activity 显示新邮件的列表。用户选择某邮件时,会打开一个新 Activity 以查看该邮件。一个 Activity 甚至可以启动设备上其他应用中存在的 Activity。例如

2016-07-18 16:30:45 1706

原创 Android Activity基础详解

你,一会看我,一会看云。我觉得,你看我时很远,你看云时很近。

2016-07-18 11:58:31 2303

原创 Retrofit基本介绍和简单的使用方式

Retrofit:Android和Java的类型安全的HTTP客户端。Introduction:1.Retrofit把你的HTTP API转换成Java接口public interface GitHubService { @GET("users/{user}/repos") Call> listRepos(@Path("user") String user);}2.R

2016-07-16 18:18:34 4242

原创 Android基础之Intent 和 Intent 过滤器

长日尽处,我站在你的面前,你将看到我的疤痕,知道我曾经受伤,也曾经痊愈。

2016-07-16 17:01:34 4448

原创 Android应用基础知识

海上月是天上月,眼前人是心上人。向来心是看客心,奈何人是剧中人。

2016-07-16 11:23:11 2588

原创 Android中常见的正则表达式工具类

常见的正则表达式工具类:public final class RegexpUtils { private RegexpUtils() { } /** * 匹配图象 * * * 格式: /相对路径/文件名.后缀 (后缀为gif,dmp,png) * * 匹配 : /forum/head_icon/admi

2016-06-20 15:32:41 3035

原创 Android自定义Dialog,实现长按ListView删除当中item数据

在做项目时dialog很常用,很多时候原生的dialog不符合我们的要求,这就需要自己定义自己想要的效果。要更改dialog的效果,就需要继承Dialog这个类: /** * 自定义dialog */ class CustomDialog extends Dialog implements View.OnClickListener {

2016-06-18 17:30:53 3069

原创 Android中ListView长按事件和点击事件的冲突问题

ListView中的item即需要点击事件又需要长按事件,当然得使用setOnItemClickListener和setOnItemLongClickListener进行监听处理事件,既有点击又有长按自然会出现事件冲突的情况。1.当setOnItemLongClickListener设置的返回值为false时,在Long click时click事件也会触发。2.当setOnItemLong

2016-06-18 15:53:03 3061

原创 Android真机连接Android studio或Eclipse输出不了日志问题

真机连接AS或Eclipse输出不了log日志,很可能手机没有开log输出的功能,大部分手机可以通过拨号进入“工程模式”进行更改设置,这样就可以整出输出log日志,我的是360 f4手机,在拨号键输入“*20121220#”,然后进会进入工程模式,如图:然后选择“日志输出等级”,根据自己的需求选择不同的Log日志输出等级!如何抓去日志教程:【教程】大

2016-06-13 18:14:19 2074

原创 Android中自定义ProgressDialog,实现全屏显示的效果

自定义的ProgressDialog:public class LoadingProgressDialog extends ProgressDialog { public LoadingProgressDialog(Context context) { super(context, R.style.Progress_Dialog); setCancel

2016-06-13 16:03:12 5063

原创 Android中通过Hanler实现短信倒计时效果

在应用中登陆、注册、修改密码等都会使用到通过短信的方式获取验证码,验证码时间大部分为60秒,如果用户没有输入,可以点击再次发送,通过Android中的handler可以实现这样的效果!public class MainActivity extends AppCompatActivity { private TextView tvTime; private static fin

2016-06-12 22:51:03 1144

原创 Android控件之RecyclerView的基本使用

一、为什么叫RecyclerView?1.不关心Item是否显示在正确的位置、如何显示。2.不关心Item间的分割线。3.不关注Item增加和删除的动画效果。4.仅仅关注如何回收和复用View。二、RecyclerView的基本属性:1.RecyclerView.Adapter:托管数据集合,为每个Item创建视图;2.R

2016-06-03 13:33:00 1029

原创 Android自定义popupwindow实现ios中UC浏览器中长按图片弹出的PopupWindow效果

Android应用仿ISO中UC浏览器中长安图片弹出的PopupWindow的效果MainActivity:public class MainActivity extends AppCompatActivity implements View.OnLongClickListener{ private ImageView mImageView; private Pi

2016-06-01 19:05:31 1795

转载 最全面的常用正则表达式大全

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5

2016-05-19 14:21:36 554

原创 Android基础之UI更新的四种方式

1.hanlerpublic class MainActivity extends AppCompatActivity { private TextView tv; Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) {

2016-05-19 10:01:21 782

Retrofit简单使用的例子

简单的使用retrofit请求网络,获取数据。

2016-07-16

自定义dialog实现listview长按删除item数据

自定义dialog实现listview长按删除item数据

2016-06-18

Android仿UC长按图片弹出的PopupWindow效果

仿ios中uc长按图片弹出的popupwindow效果,改点属性可以直接使用。

2016-06-02

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

TA关注的人

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