自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 重磅!Android Studio 4.0 稳定版发布了

前言Android Studio 4.0(2020年5月) 更新啦,此版本包含了各种新功能和改进,还有一些废弃配置。重要提示:更新后,需要重新启动 Android Studio 才能应用从早期版本的 IDE 迁移的所有内存设置。有关更多信息,请参见已知问题页面。一、Android Gradle 插件 4.0.0最新版本的 Android Gradle 插件包含许多更新,例如 Java 8 对较旧版本的 Android 功能上的依赖项进行了更新。要了解更多信息可阅读【完整的Androi..

2020-06-03 07:51:32 932

原创 删库不必跑路,谈数据库删除设计

# 常见删除策略凡是做业务逻辑系统, 总是离不开对删除逻辑的处理.本文论述重点是伪删除, 即字段标示状态, 这是在一些中小型系统开发中的单据等较重要数据的主流做法.但在此之前, 不妨先将常见删除策略列举一下:1、数据库设置级联这个我没太懂是怎么回事, 不过网上也说缺点较多, 很少用到, 在此就不考虑了2、触发器控制 -- 本文所写sql默认数据库均为mysqlCREATE TRIGGER `tg_bf_inse...

2020-06-03 07:46:38 203

原创 你知道为什么Java的main方法必须是public static void?

Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public、static、void 的。当然,很多人首先学的是 C 和 C++,但是在 Java 中 main 方法与前者有些细微的不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案。Main 方法是 Java 程序的入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理的 java 程序,在 java 核.

2020-06-03 07:43:02 167

原创 免费API接口分享

前言各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11历史上的今天API接口:https://www.juhe.cn/docs/api/id/63股票数据API接口:https://www.ju...

2020-06-03 07:40:01 766

原创 数据库框架

</pre><p></p><p></p><p></p><p><pre name="code" class="java">

2019-07-20 19:44:54 98

原创 adb常用命令

Android中使用adb命令的时候还是蛮多的,自己的记性不太好,干脆写下来,就当做笔记好了...1、安装PC上面的apk文件到模拟器上面:adb install (apk在PC上的全路径).apk (将apk文件上传到了模拟器的data/app目录下了)...

2019-07-20 19:44:36 88

原创 Genymotion模拟器:Installation failed with message INSTALL_FAILED_CPU_ABI_INCOMPATIBLE.

使用Genymotion模拟器时出现:Installation failed with message INSTALL_FAILED_CPU_ABI_INCOMPATIBLE.

2017-06-05 19:57:15 945 5

原创 OkHttp全面解析

据说Android4.4的源码中可以看到HttpURLConnection已经替换成OkHttp实现了。所以我们更有理由相信OkHttp的强大。

2017-04-03 14:47:58 399

原创 自定义view之继承控件

前面两篇文章已经把组合控件和自绘控件介绍了,咱们这一次就来看看继承控件的关键点!继承控件就是继承已有的控件,创建新控件,保留继承的父控件的特性,并且还可以引入新特性。下面就以支持横向滑动删除列表项的自定义ListView的实现来介绍。1、创建删除按钮布局delete_btn.xml,这个布局是在横向滑动列表项后显示的页面效果:<Button xmlns:android="

2017-01-14 14:51:18 300

原创 自定义View之自绘控件

好的,同志们,咱们上一章讲过了组合控件,这一次,我们看看自绘控件的情况! 自绘控件的内容都是自己绘制出来的,在View的onDraw方法中完成绘制。下面就实现一个简单的计数器,每点击它一次,计数值就加1并显示出来。1、创建CounterView类,继承自View,实现OnClickListener接口:public class CounterView extends V

2016-12-29 15:51:55 339

原创 自定义View之组合控件

Android基础之自定义View博主感觉以前学习过和用过的东西好像很快又忘记了,为了向大神们看齐,最主要还是为了自己以后方便查看和回忆,打算用博客把它们记录下来,也希望自己的技术可以通过一点点的积累,慢慢向一名真正的程序员高手靠近,嘿嘿嘿......,毕竟希望还是有的嘛,像咱们这种咸鱼也有可能会翻身嘛!对不对! 好的,我们开始吧!在咱们Android里面,自定

2016-12-29 15:22:12 324

原创 打造RecyclerView的万能适配器

public class RecyclerViewHolder extends RecyclerView.ViewHolder { private SparseArray mViews;//集合类,layout里包含的View,以view的id作为key,value是view对象 private Context mContext;//上下文对象 public Recyc

2016-09-18 15:35:17 439

原创 支持下拉加载刷新的RecyclerView

主要代码片段:public class PullToRefreshRecyclerView extends PullToRefreshBase { private RecyclerView mRefreshableView; public PullToRefreshRecyclerView(Context context) { super(context);

2016-09-18 15:27:57 484

原创 greendao数据库框架

添加依赖: compile 'org.greenrobot:greendao:2.2.1'首先建一个模块,新建一个包,用来存放待会自动生成的类(代码)然后,新建一个纯JAVA的依赖模块(具体操作,看文档):新建一个JAVA类:public class DaoCen { public static void main(String[]args)

2016-07-17 17:10:00 613

原创 自定义ScrollView,实现导航条悬浮置顶

Android ScrollView向上滑动控件顶部悬浮效果实现* 导航栏实现悬浮置顶效果(顶部图片隐藏,下面的单选框导航悬浮)【上滑停靠顶端的悬浮框】里的实现方法是使用两个控件,滑动时,监听ScrollView的滚动Y值,* 从而通过对两个控件的显示隐藏来实现控件的顶部悬浮。但是实际应用场景中,* 有可能需要悬浮的控件里面的内容是比较多的,如果通过显示隐藏的方式来实现的话,* 操作控

2016-07-17 16:45:07 4040

原创 CoordinatorLayout协调布局,实现悬浮导航条

首先添加依赖:compile 'com.android.support:design:23.0.0'布局文件: 关键属性(组件可以隐藏)[布局]:fuck:layout_scrollFlags="scroll|enterAlwaysCollapsed" 关键点:解决ListView嵌套在其他布局里面,有可能只显示一行,需要重写onMeasure方法!

2016-07-17 16:32:08 1515

原创 WebView的简单使用

package com.example.administrator.webview;import android.graphics.Bitmap;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.KeyE

2016-07-10 16:57:54 314

原创 JSON快速转换为JAVA对象

JSON文件:{"Json解析":"支持格式化高亮折叠","支持XML转换":"支持XML转换Json,Json转XML","Json格式验证":"更详细准确的错误信息"{ "data":[ { "id":"8195", "title":"饮茶的禁忌(下)", "source":"原创"

2016-07-04 11:20:01 866

原创 Service服务

服务Service,四大主键之一:首先继承Service类,重写父类的onBind方法,绑定服务时会调用,返回IBinder(接口)对象!Binder是接口的实现类>根据需求,可以继承Binder类,然后把对象返回就可以了public class MyService extends Service { @Nullable @Override

2016-07-03 20:40:59 358

原创 BroadcastReceiver广播接收者

动态注册和静态注册两种方法,动态注册是程序运行时才接收广播,静态注册不管程序是否运行,都会接收广播!! 如果是接收系统的广播,很多都是需要加上权限的!!! 首先需要继承BroadcastReceive类,重写父类的onReceive方法,当发送广播时就会调用该方法:public class MyBroadcast extends BroadcastReceiv

2016-07-03 20:05:22 285

原创 ViewPager与底部小圆点的联动

布局文件:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=

2016-07-02 19:31:34 439

原创 butterknife框架的使用

1、为什么要使用ButterKnife(黄油刀)?2、避免重复写findviewbyid()来绑定view,使代码简洁明了;3、简单的点击长按事件,不需要设置setonclicklistener();这个开源库可以让我们从大量的findViewById()和setonclicktListener()解放出来,其对性能的影响微乎其微(查看过Butter Knife的源码,其自定义

2016-07-01 19:20:48 553

原创 zxing框架扫描和生成二维码

google的zxing作为开源的二维码支持库生成二维码需要添加权限:uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">uses-permission>uses-permission android:name="android.permission.READ_EXTERNA

2016-07-01 19:03:43 706

原创 Fresco框架SimpleDraweeView控件的简单使用

首先把网络、SD卡的读写权限添加上:   添加依赖,好像版本太高不支持GIF类型的动态图????compile 'com.facebook.fresco:fresco:0.9.0' private SimpleDraweeView simple;//控件 @Override protected void onCreate(Bundle sav

2016-06-29 20:07:19 20331

原创 okhttp网络请求框架

* okhttp是非常高效的网络请求,它是基于http/http2。* * 1、允许同一主机的所有请求共享一个socket* 2、减少网络请求时间Connection pooling reduces request latency (if HTTP/2 isn’t available).* 3、使用gzip压缩,缩小下载大小。* 4、响应缓存避免了网络重复请求* 5、断线重连,多地址请

2016-06-28 21:37:45 710

原创 Volley网络框架的简单使用

Volley网络框架 compile 'com.android.volley:volley:1.0.0' 1. 创建一个RequestQueue(请求队列)对象。 2. 创建一个StringRequest(字符串请求)对象。 3. 将StringRequest对象添加到RequestQueue里面。public class MainActivity extends AppCompa

2016-06-28 13:01:14 661

原创 图片的三级缓存

添加各种需要的权限 -->uses-permission android:name="android.permission.INTERNET">uses-permission>网络//SD卡的写和读的权限uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">uses-permission>use

2016-06-27 08:46:36 251

原创 自定义ListView,实现下拉刷新,上拉加载

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <Ima

2016-06-27 08:28:58 654

原创 自定义EditText编辑框

package com.example.administrator.app3;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;

2016-06-27 08:26:23 458

原创 自定义View

XML文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout

2016-06-27 08:18:34 457

原创 DrawerLayout抽屉控件

XML文件<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer" android:lay

2016-06-27 08:14:19 306

原创 android中的资源使用

自定义资源和资源访问 字符串(string)资源 /res/values/string.xml(可以添加字符串) * 自定义字符串  *  * 尺寸(dimens)资源 /res/values/dimens.xml(可以添加尺寸) * 16dp(自定义大小)  *  * 颜色(color)资源 /res/values/(创建一个color.xml文件)  * 根元素

2016-06-27 07:59:06 211

原创 安卓中的XML解析

pull解析public static List getList(String xmlStr) {// 解析XML文件的方法,返回Newslist对象的集合 List list = null; try { // XML解析器工厂实例 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); /

2016-06-27 07:54:32 230

原创 FAST解析JSON

fast解析json文件 *   阿里巴巴的jar *    *   总结: *     1、有操作json文件的JSONObject对象类和JSONArray数组类 *      *     2、 JSON类静态方法比较多,可以把java对象转换为json对象(需要强转)和json格式的字符串 *     可以把json格式的字符串转换为java的对象 -------

2016-06-26 16:16:24 708

原创 GSON解析JSON

使用谷歌的gson解析json * 谷歌的gson.jar *  * 总结: * 1、Gson类对象中可以添加json文件的对象类型和数组类型 * 2、可以把json文件转换为java的对象(包括集合),或者java的对象(包括集合)转换为json格式的字符串 *    需要实现TypeToken泛型接口,调用getType()方法,并且给出需要转换的具体类型 *

2016-06-26 16:14:40 559

原创 ORG的JSON解析

org解析JSON文件 * * 总结: * 1、org中提供了两个主要的类用来操作json中的对象和数组格式 * JSONObject对象类和JSONArray数组类 * 2、json对象和java对象之间可以相互转换(比较麻烦) * 3、解析数据,可以通过json的key值去获取对应的value值 *  * 附注:JSONTokener类可以通过IO流去解析jso

2016-06-26 16:09:59 621

原创 子线程加载数据

package com.example.a05273;import java.io.File;import android.app.Activity;import android.app.AlertDialog;import android.content.ContentResolver;import android.content.ContentUris;import andro

2016-06-25 21:52:14 460

原创 LoaderManager访问SD里面的数据库

首先,需要在项目清单文件中加上访问SD卡的权限:  android.permission.WRITE_EXTERNAL_STORAGEpublic class MainActivity extends FragmentActivity { private String url="content://com.mma/student/";//uri private ContentResolv

2016-06-25 21:48:49 397

原创 通过异步任务LoaderManager加载Cursor游标

这里我们再来对客户端进行研究:package com.example.a05271;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.support.v4.ap

2016-06-25 21:45:34 478

原创 ContentProvider内容提供商的简单使用(下)

上一篇文章,我们说到了自定义一个内容提供商,那么这一次,我们从客户端的角度来访问服务端的数据,并且进行操作(查、增、删、改)//首先,自定义一个操作数据库的工具类/** * 客户端 * 访问服务端的数据库,并且可以进行增、删、改、查的操作 * 数据库就在这里............... */public class MainActivity extends Ac

2016-06-25 21:36:41 404

空空如也

空空如也

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

TA关注的人

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